SYSTEM Cited by 1 source
Clairic¶
Clairic is Cloudflare's first System One extraction model — a fast,
typed, cheap model that extracts, computes, estimates, and forecasts values
from unstructured inputs in a single forward pass. Launched as a preview on
2026-10-19, hosted on Workers AI as
@cf/cloudflare/clairic, with open weights promised "soon." It is the
regression/extraction sibling of Cloudflare's decision models
Clef / Clef-flash and of TypeSafe's Jev, and the name is
Cloudflare's own: clerical (bookkeeping extraction) + clairvoyance
(prediction) + [Cl]oudflare [AI R]egression.
"Clairic is an extraction model that is able to extract, compute, estimate, and forecast values from unstructured inputs — all at a significantly higher accuracy, faster latency, and cheaper cost than traditional LLMs."
(Source: sources/2026-10-19-cloudflare-introducing-clairic-extraction-model)
System One vs System Two — where extraction models sit¶
Named after Kahneman's Thinking, Fast and Slow, System One models answer in a single parallel pass without reasoning or generating tokens; System Two models (GPT, Claude, Gemini) reason one token at a time. Within System One there are now two shapes:
| System One: Extract | System One: Decide | System Two | |
|---|---|---|---|
| Example | Clairic | Jev, Clef | GPT / Claude / Gemini |
| ML framing | Regression + extraction | Classification | Generation |
| Output | Typed values (spans, numbers, dates, lists, distributions) + calibrated probabilities | Options with calibrated probabilities | Free-form strings |
| Output space | Continuous but typed + bounded by your schema | A finite set of options you list | Anything |
| Always valid? | Yes — a value of the declared type (or null), inside your bounds |
Yes — one of your options | No — strings must be parsed + checked |
The three compose: "Extraction models turn raw input into typed values, decision models turn values into decisions, and LLMs turn decisions into words."
How a request works¶
A request is a state (the text to read, plus up to four optional
images) and a map of typed fields. Each field is named and given a type
plus optional plain-language instructions; one typed answer comes back per
field "from one parallel pass. There is no reasoning and no output tokens —
everything computes in a single forward pass," so Clairic is billed for input
only. Like a decision model it is "designed differently than an LLM... it only
processes input tokens with a single forward pass, and thus has no charge for
output tokens" (concepts/hot-path,
concepts/latency-critical-vs-latency-tolerant-workload).
Unlimited fields. "If they don't fit beside the input in one pass, the server splits them into parallel passes that each see the whole input, then merges the answers," so asking for thirty fields "costs about the same as asking for three" — a server-side parallel-field-pass merge.
Field types¶
| Type | Returns |
|---|---|
text |
A specific span of the input, with its character offsets |
number |
A number read or computed, honoring integer / decimals |
date / time / datetime |
Calendar dates and valid times, in ISO form |
duration |
A length of time in the unit you choose |
list |
Matching text / number / date, in input order |
estimate |
A distribution inside your [min, max], on your step grid, linear or log scale |
forecast |
One estimate per future step of a series |
Four kinds of answer¶
- Extracted — text copied from the input (a name, order ID), returned as a
character-offset span +
confidenceso you can highlight the source. - Computed — numbers / dates / durations / lists read from the input or
worked out from it (e.g. summing a price + tax into
amount_paid, or differencing two dates intodays_since_delivery), formed under their type's rules (cents → two decimals). - Estimated — a value the input doesn't state but gives evidence for,
returned as a distribution inside your declared bounds with a median + 80%
interval (
p10–p90), all 99 percentiles on request. Interval width reflects data confidence — narrow = certain, wide = uncertain, a signal to route another check. - Forecasted — future values of a series, one estimate per step ahead, each with its own 80% interval, inside declared bounds.
Typed-or-null — the anti-hallucination property¶
Because Clairic generates no tokens, "it can't produce a mistyped answer
or 'hallucinate' in the same way as an LLM." Every answer is a value of the
asked-for type or null when the model fails to find it. Each scalar
carries:
p_null— the probability the value isn't in the inputs;confidence— how sure the model is;guess— what it would have picked, even when it returnsnull.
In the worked support-email example a non-present tracking_number comes back
value: null with p_null: 1 (and a low-confidence guess), rather than a
plausible-looking fabrication. This is the structural form of
concepts/structured-output-reliability (a consumer can always parse the
output) and a hard answer to concepts/llm-hallucination — though Cloudflare
is explicit the design makes answers well-formed, not necessarily correct, so
callers should gate automation on confidence / p_null / interval width
(concepts/human-in-the-loop).
Serving on Workers AI¶
Clairic runs on Workers AI (env.AI.run("@cf/cloudflare/clairic", …)
from a Worker, or the REST API anywhere) — Cloudflare's edge GPUs, so it sits in
the agent hot path at sub-second latency. It is a
specialized, non-generative stand-in for a general LLM on extraction/regression
tasks (concepts/knowledge-distillation-adjacent in spirit, like
Clef's frozen-backbone decision classifier).
The extract → decide → act cascade¶
Clairic is positioned as the first stage of a System One + System Two pipeline: Clairic (extract typed values) → Clef (decide) → LLM (write/act). Each step gets cleaner input than the one before:
- Clef decides from a five-line summary of typed values, not a free-form email.
- The LLM "never sees the email, only the decision and the predictions it needs," which reduces concepts/prompt-injection surface and the number of values it can misuse.
- Every step is typed and auditable; only the final step generates text.
Canonical instance of cheap specialist stages gating an expensive generalist and of typed-stage decomposition.
Measured on a damage-claim workflow (Clairic → Clef → GLM-5.3 vs all
GLM-5.3): 19.3 s vs 61.7 s end-to-end (3.2× / −69%), $6,032 vs $11,740
per million claims (−49%). Clairic extracted in 0.46 s + Clef decided in
0.22 s, where GLM-5.3 took 16.1 s + 21.9 s for the same two steps. Clairic's
repair estimate was identical on every run; GLM-5.3's varied. Gemma 4 and Qwen
failed the all-LLM version — "unable to deduce values like repair_cost
from the inputs."
Examples¶
- Extraction + computation (support email):
order_idas a span,delivered_onas an ISO date,amount_paid= price + tax summed in one pass,days_since_deliverydifferenced from two dates,damageas a list of two spans,tracking_number→null. - Images: a photographed (imperfect, angled) receipt → order number,
datetime, quantity, unit price, subtotal, sales tax, tip, each with
confidence; a non-present discount correctly returned
null(patterns/multimodal-content-understanding). - Estimation: comparable home sales →
sale_price {value 418000, median 415000, p10 370000, p90 470000}inside the declared[50000, 5000000]log-scale bounds. - Forecasting: 21 days of TSA traveler counts → next-day forecast with 80% interval; off 3.3% on average, 17/21 inside the interval; misses were holiday-weekend days the series didn't signal.
Caveats¶
- Preview / early checkpoint; open weights are a future release. Benchmarks are Cloudflare-reported (one damage-claim workflow + one public TSA series), no independent reproduction.
- Weak spots named by Cloudflare: multi-step/dependent arithmetic and many-row table aggregation are unreliable in one pass ("have Clairic predict the value and let code do the math"); estimates need in-input evidence; calibration is measured-not-guaranteed (intervals can run narrow on unfamiliar data); forecasting is basic (non-critical pattern matching, no holiday/ long-horizon awareness).
- The architecture guarantees well-formed, not correct — use the confidence/null/interval signals to decide automate-vs-review.
Seen in¶
- sources/2026-10-19-cloudflare-introducing-clairic-extraction-model —
canonical wiki introduction. First System One extraction model; single-pass,
no-output-token typed extraction/computation/estimation/forecasting with
confidence +
p_null+ calibrated intervals; unlimited fields via server-side parallel passes; images; the Clairic → Clef → LLM cascade (3.2× faster, 49% cheaper than all-LLM on a damage-claim workflow); preview on Workers AI, open weights soon.
Related¶
- systems/clef — Cloudflare's decision model; the "decide" stage to Clairic's "extract."
- systems/workers-ai — the edge-GPU inference platform hosting Clairic.
- concepts/structured-output-reliability — typed-or-null output a consumer can always parse.
- concepts/llm-hallucination — the failure mode extraction models structurally avoid (null, not a guess).
- concepts/hot-path — single-pass sub-second inference in the agent path.
- concepts/latency-critical-vs-latency-tolerant-workload — System One speed vs System Two reasoning.
- concepts/human-in-the-loop — confidence / p_null gate what to automate vs review.
- concepts/knowledge-distillation — a specialized non-generative model standing in for a general LLM.
- concepts/prompt-injection — the LLM never sees raw input in the cascade.
- patterns/cheap-approximator-with-expensive-fallback — cheap typed specialist gating the expensive LLM.
- patterns/specialized-agent-decomposition — extract/decide/act typed-stage decomposition.
- patterns/multimodal-content-understanding — typed extraction from images.
- companies/cloudflare