Model typesIntermediate

Decision Models: AI That Answers With Probabilities

A new class of models skips text generation entirely. They read an input, answer typed questions in a single forward pass and return calibrated probabilities. Here is how TypeSafe's Jev and Liquid AI's d1 family work, and when they beat an LLM.

8 min read Updated decision models Jev d1-ultra calibration routing

Most AI in production does not write essays. It makes small decisions: is this ticket urgent, which team should get it, does this photo show a defect, is this answer grounded in the source? Decision models are built for exactly that job, and in autumn 2026 they became a product category of their own.

Why a model that does not generate?

Teams usually answer these questions with a chat LLM: write a prompt, ask for "yes" or "no", parse the reply. It works, but it has three costs that are easy to miss.

  • No usable confidence. A generated "yes" carries no reliable measure of certainty. Asking the model to also print a confidence score produces a number, but that number is just more generated text and is often overconfident.
  • Fragile parsing. The model may answer "Yes, this looks urgent because…", switch language, or invent a label you did not offer. Every caller needs defensive parsing and retries.
  • Paying for words you throw away. Output tokens are slower and usually more expensive than input tokens, and reasoning models may spend hundreds of hidden tokens before writing a one-word answer.

A decision model removes all three. You give it the input and a set of typed questions; it returns a probability for each answer and nothing else.

What a decision model is

Under the hood, a decision model is still a neural network that reads tokens (and, for multimodal models, image patches). The difference is in the output. Instead of predicting the next token in a loop, it runs a single forward pass and reads the answer distribution straight from the network. A generative LLM also computes probabilities internally, as logits over its vocabulary, but then samples text from them. A decision model is trained to expose those probabilities for a fixed set of answers and to make them trustworthy.

TypeSafe AI markets its models as "System One" models, borrowing Daniel Kahneman's term for fast, intuitive thinking. The framing is useful: reasoning models are System Two, slow and deliberate; decision models are the fast reflex that software can branch on, millions of times a day.

Generative LLM versus decision model A generative LLM turns a prompt into free text that must be parsed and has no calibrated confidence. A decision model turns the same input and typed questions into probabilities in one forward pass. GENERATIVE LLM Prompt + question Generate N tokens Free-text answer Parse the text, guess confidence latency grows with length may hedge or ramble no calibrated probability DECISION MODEL State + questions One forward pass {"urgent": 0.91, "billing": 0.97} zero output tokens typed answers with calibrated probabilities
The same triage question asked two ways. The decision model never produces text, so there is nothing to parse and no output tokens to pay for.

The question types

Every request contains a state (the thing being judged: an email, a document, a product photo) and one or more named questions. Each question has a type, which fixes the shape of the answer. As of November 2026, the main providers support the following types.

TypeAsksReturnsExample
noulA yes/no questionProbability of "yes", 0 to 1Does this email need a reply within 24 hours?
choicePick one label from a listA probability for each labelWhich team owns this ticket: billing, technical or sales?
scoreA position on an ordered scaleA distribution over the scaleHow severe is this complaint, from 1 to 5?
boxWhere something is in an imageA bounding box with a confidenceWhere is the damaged area on this part? (Jev 1.14 only, beta)

The unusual name noul is the wire-format name for yes/no questions. Libraries smooth it over: the Vercel AI SDK's experimental evaluate API calls the same type boolean, and @typia/jev converts between the two.

Because the answer space is declared up front, the model can never return a label you did not offer. That property alone removes a whole class of production bugs.

What a request looks like

The interfaces of the two leading providers are close: a model name, a state, optional images, and a dictionary of questions with instructions. The example below calls Liquid AI's endpoint with two yes/no questions about a support email. Check the provider's API reference for the exact schema of choice and score questions, which add the list of labels or the scale.

import os
import requests

email = (
    "Hi, I was charged twice for my March invoice. "
    "Please refund one of the payments today."
)

resp = requests.post(
    "https://api.liquid.ai/decisions/v1/systemone",
    headers={"Authorization": f"Bearer {os.environ['LIQUID_API_KEY']}"},
    json={
        "model": "d1-ultra",
        "state": f"Customer support email:\n{email}",
        "questions": {
            "urgent": {"type": "noul",
                       "instructions": "Does this email need a reply within 24 hours?"},
            "billing": {"type": "noul",
                        "instructions": "Is this a billing or payment issue?"},
        },
    },
    timeout=10,
)
answers = resp.json()["answers"]
print(answers["urgent"]["noul"], answers["billing"]["noul"])
# two probabilities between 0 and 1

There is no prompt engineering around output format, no JSON repair and no retry loop for malformed answers. The application reads two numbers and decides what to do with them.

Calibration is the product

A probability is only useful if it means what it says. Calibration measures exactly that: among all the cases where a model reports 0.8, about 80% should turn out to be "yes". Generative models are notoriously overconfident when asked to state their certainty, and Liquid AI says it trained d1-ultra specifically for calibration because most decision models were also overconfident.

Good calibration turns a model into a dial you can set. Instead of a single yes/no cut-off, you pick thresholds based on how expensive each kind of mistake is, and send the uncertain middle to a person.

Routing on calibrated probabilities The decision model outputs the probability that an invoice is valid. Below 0.4 it is rejected automatically, between 0.4 and 0.9 it goes to a person, above 0.9 it is approved automatically. Decision model noul question p(invoice is valid) 0 0.4 0.9 1 auto-reject send to a person auto-approve
Thresholds are a business decision, not a model setting. Choose them from your own labelled data and the cost of each error, and re-check them whenever you change model versions.

This is the same pattern as human-in-the-loop review in LLM automation, but with a cleaner signal. The share of cases that land in the middle band becomes a metric you can track and drive down.

The models as of November 2026

The category is young and moving fast. Two vendors define it today.

TypeSafe Jev

Jev is TypeSafe AI's structured decision model and the first of its System One models. Version 1.14 shipped in mid-October 2026 with multilingual improvements, a longer context, the new box question type and "composable images": images are attached as assets and referenced inside the state, instructions or criteria. Both image inputs and box questions are labelled beta and sit behind an explicit opt-in. TypeSafe also notes that every model, Jev included, does worse on multimodal input than on text, and recommends breaking questions into the simplest possible parts.

Jev is offered through TypeSafe's own SDK and through Cloudflare Workers AI, OpenRouter and Vercel AI Gateway. Listed pricing is $0.042 per million input tokens with no charge for output. The reported context window differs between providers, from 32K to 262K tokens, so check the one you use.

Liquid AI d1 and d1-ultra

Liquid AI released an open-weight d1 family in early October 2026: d1-3B and d1-omni-600M, published under the LFM Open License for on-device use, alongside a cheaper hosted d1. A week later it launched d1-ultra, its largest decision model, built on a larger open-weight base model with Liquid-specific modifications. d1-ultra reads text, images or both, has a 32,768-token context window and also costs $0.042 per million input tokens, with zero output cost. Images are billed as input tokens: 1.5 tokens per 32×32-pixel patch, so a 1024×1024 image counts as 1,536 tokens.

ModelVendorInputsDistribution
Jev 1.14TypeSafe AIText; images in betaAPI: TypeSafe, Cloudflare Workers AI, OpenRouter, Vercel AI Gateway
d1-ultraLiquid AIText and imagesAPI: Liquid, Vercel AI Gateway, OpenRouter
d1 (hosted)Liquid AISee provider docsAPI, lower price than d1-ultra
d1-3B, d1-omni-600MLiquid AISee model cardsOpen weights, LFM Open License v1.0

Read the benchmarks as claims, not facts

Liquid AI reports that d1-ultra leads the Artificial Analysis Decision Index with a score of 65, against 57 for Jev 1.14 and 50 for the original d1, and that it has the lowest calibration error of the models it compared. These figures come from the vendor's launch materials and had not been independently reproduced at the time of writing. The index itself is only weeks old. Run your own test before choosing.

Where decision models fit

Anywhere software needs to branch on a judgement about unstructured input:

  • Triage and routing. Urgency, intent, owning team or language for tickets, emails and chats.
  • Moderation and policy checks. Does this post break a rule? Does this message contain personal data?
  • Guardrails for LLM output. Is this answer supported by the retrieved passages? Does it follow the required tone? A cheap check after every generation in a RAG pipeline.
  • Visual inspection. Defect or no defect on a production line photo; whether a document scan is legible enough for OCR.
  • Agent control flow. "Smart if" statements inside workflows and harnesses: is the task done, does this tool call need approval, should the agent stop?
  • Evals at scale. Grading thousands of outputs against simple criteria, where an LLM judge would be slow and expensive.

They are the wrong tool when the output must be open-ended (a draft reply, a summary), when you need to extract values rather than judge them, or when answering requires multi-step reasoning or information that is not in the state.

Decision model, LLM or classic classifier?

Decision models sit between two familiar options: prompting a general LLM, and training a dedicated classifier on labelled data.

Classic classifierGenerative LLMDecision model
SetupLabelled data and trainingPrompt onlyInstructions only
LabelsFixed at training timeAnything, including unwanted onesDeclared per request
OutputScoresText to parseTyped probabilities
ConfidenceCalibratable with effortWeak, often overconfidentTrained for calibration
Cost driverYour own infrastructureInput and output tokensInput tokens only
Best forStable, very high-volume tasksOpen-ended workChanging judgements on unstructured input

A sensible migration path is to start with a decision model, collect its predictions and your reviewers' corrections, and only train a dedicated classifier if one narrow task becomes large enough to justify it.

Adopting one safely

  1. Build a labelled sample. A few hundred real cases with known answers is enough to start. Include the awkward ones.
  2. Measure accuracy and calibration. Group predictions into buckets (0.0–0.1, 0.1–0.2 and so on) and compare each bucket's average probability with the observed rate of "yes". Big gaps mean the thresholds need care.
  3. Set thresholds from error costs. A false approval of a payment and a false escalation of a ticket do not cost the same.
  4. Pin the model version. Aliases such as jev-latest move when a new release ships, and a new version can shift the probability distribution under your thresholds.
  5. Keep questions simple. Several narrow questions beat one compound question. Remember that each question is billed as its own prompt, including any attached images, so five questions about one photo cost five times the image tokens.
  6. Monitor in production. Track the share of cases in the uncertain band and sample decisions for review. A rising middle band is an early sign of drift.

Key takeaways

  • Decision models answer typed questions (yes/no, choice, score, box) with probabilities in one forward pass, generating no text.
  • Typed answers remove parsing bugs; calibrated probabilities let you route on thresholds instead of guesses.
  • TypeSafe Jev 1.14 and Liquid AI d1-ultra lead the category as of November 2026; both bill input tokens only.
  • Vendor benchmarks for this category are new and unverified, so test on your own labelled data.
  • Use them for triage, moderation, guardrails, inspection and agent control flow; use LLMs for open-ended output.

Sources and further reading

  1. Liquid AI, d1-ultra: Introducing the World's Best Decision Model (October 2026).
  2. Cloudflare, Jev 1.14 model reference (Workers AI).
  3. typia, Jev integration guide: question types and the noul wire format.
  4. AlternativeTo, TypeSafe AI ships Jev 1.14 (release notes summary).
  5. explainx.ai, Liquid AI d1-ultra: claimed vs verified.
  6. Guo et al., On Calibration of Modern Neural Networks (2017).