4Geeks chosen to deliver AI education in the Bahamas alongside Harvard, Oxford, and Columbia.See more
13 min read

AI Decision Model: What It Is and When Agents Should Use One

An AI decision model returns typed probabilities, not text. Compare OpenAI, Microsoft Decision-1, Cloudflare Clef and Strands Decider 2B, and when to use each.

An AI decision model is a model that answers a fixed set of typed questions with probabilities your code can act on. Unlike an LLM asked to "act as a classifier," it doesn't write free text you then parse. You now have four real options to compare: Cloudflare's Clef and Clef-flash (hosted on Workers AI, with Apache 2.0 weights), Strands Decider 2B (small, open source, runs locally), OpenAI's Decisions API (hosted, closed, public beta since October 6, 2026), and Microsoft-Decision-1 (hosted on Microsoft Foundry and OpenRouter, released October 9, 2026). This page explains when an agent should use one, and which one fits your situation.

Last verified: October 16, 2026. Clef specs (sizes, Apache 2.0 weights, Workers AI hosting, Jev API compatibility, the RL fine tuning path) come from Cloudflare's launch blog and Workers AI changelog. OpenAI details and pricing come from the Decisions API guide. Strands details come from the Strands Decider 2B announcement (October 1, 2026). Microsoft details and pricing come from Microsoft's launch post, its Foundry docs, and the OpenRouter model page. Every latency, speed, and accuracy figure here is vendor published. We didn't rerun anyone's benchmarks. The OpenAI price is a beta price, so check the guide before you budget. If a comparison is more than about 90 days old, distrust the vendor tables.


What kinds of models sit in an agent loop?

CategoryWhat it returnsBest for
Chat or reasoning LLMFree text, plans, tool call proseOpen ended work: write, explain, invent steps
Classic classifierLabels you trained forStable taxonomies you retrain when labels change
AI decision modelTyped answers with probabilities over options you defineHot path choices: route, escalate, pick a tool, score severity

Most agent demos put an LLM in every slot. That works for demos. It gets expensive and flaky when the job is "is this urgent, and which team owns it?" on every ticket.


Decision model vs LLM as classifier

An AI decision model takes a state (text, JSON, sometimes images) plus a schema of questions. Each question is typed. The vendors use slightly different names, but the shape is the same: a yes or no question (Cloudflare and Strands call it noul, OpenAI calls it predicate), a pick one question (choice), and an ordered score (score). The model returns a probability for every allowed answer. Your code branches on those numbers. There's no prose to scrape and no reasoning tokens to wait on for the decision itself.

An LLM forced to act as a classifier is different. You prompt it to output JSON labels. You still get free generation underneath. Formats drift. Confidence is mostly theater unless you calibrate it yourself. Latency and cost scale with how much text it writes before the label.

Decision rules:

Pick thisWhen
Decision modelThe answers are a closed set you already know; you need probabilities for thresholds; the call sits on the hot path (routing, urgency, tool choice, guardrails)
LLMThe next step needs new text, multistep reasoning, or a tool plan you can't schema in advance
Neither aloneYou need both: decide with a decision model, then hand off to an LLM to write the reply or call tools

That split is the whole point of this page. The products below are worked examples of it.


How a decision model runs one unit of work

Walk one support message through the loop Cloudflare documents:

  1. State in. "Checkout has been failing for every customer for the last hour."
  2. Questions in. Is it urgent? (noul) Which team? (choice: billing, technical, or sales) How severe? (score over an ordered rubric)
  3. Answers out. Probabilities per option, keyed by the same question names. Your agent reads urgent, team, and severity as structured fields.
  4. Act or escalate. Route the ticket, block a request, call a tool, or defer to a human when confidence is low.

You should now see why this isn't "chat with a system prompt." The contract is state plus schema in, typed probabilities out.

For the wider agent stack around that decide step (tools and memory), see what an MCP server is and how AI agent memory works. More tool explainers sit in the AI tools hub.


Cloudflare Clef as a concrete example

On October 1, 2026 Cloudflare released Clef and Clef-flash, the first models trained by the Workers AI team and hosted on Workers AI as @cf/cloudflare/clef and @cf/cloudflare/clef-flash. Weights are open under Apache 2.0 on Hugging Face. Cloudflare describes them as Jev API compatible (System One API): you can point an existing Jev shaped integration at Clef by changing the endpoint and model.

ModelSizeCloudflare says it's best forContext window
Clef27BHighest precision decisions64K tokens (docs: 65,536)
Clef-flash9BLatency critical, hot path decisions64K tokens (docs: 65,536)

Verified extras from Cloudflare primary sources only:

  • Vision: optional images (up to four) alongside the state; Cloudflare positions this as a Clef extension over text only decision models it compares against.
  • Batching: up to 64 questions per request.
  • RL fine tuning: Cloudflare is opening a reinforcement learning fine tuning path that starts with its forward deployed engineering team and design partners, with a self serve platform described as coming later.
  • Latency (Cloudflare's numbers): across its 43 benchmark runs, Cloudflare reports a median latency of 209.3 ms for Clef and 38.8 ms for Clef-flash. That's vendor published, not independently rechecked here.

What doesn't get said. Clef isn't a general chat model. It won't write your customer email. It won't invent a new workflow. If your schema is wrong, the probabilities are still "correct" against a bad question. And RL fine tuning at launch is a design partner motion, so don't plan your roadmap as if self serve custom Clef weights ship tomorrow.

Verdict: use Clef (or Clef-flash) when you already know the decision options and need fast, typed probabilities on Workers AI or on local Apache 2.0 weights. Skip it when the agent still needs to generate the plan, not just pick among plans.


Which decision model API?

Clef isn't the only option anymore. Here's how the four compare on the things that decide a build:

OpenAI Decisions APICloudflare Clef and Clef-flashStrands Decider 2BMicrosoft-Decision-1
How you run itHosted only, closed modelHosted on Workers AI, or local with open weightsLocal on your own CPU or GPUHosted on Microsoft Foundry or through OpenRouter
LicenseProprietaryApache 2.0 weightsOpen source; weights, training data, and scripts publishedHosted service; Microsoft doesn't list downloadable weights
Modelsgpt-6-luna onlyClef (27B), Clef-flash (9B)One 2B modelOne model, post trained from Qwen3.5-9B
InputsText, images, or bothText, plus up to four imagesTextText (32,768 token context on OpenRouter)
StatusPublic beta since October 6, 2026; OpenAI expects GA "in the coming weeks"Released October 1, 2026Released October 1, 2026Released October 9, 2026
PriceBeta: $0.10 per 1M input tokens, no output or cache chargesSee Cloudflare's Workers AI pricing; weights are free to run yourselfFree to run on your own hardware$0.042 per 1M input tokens; output is free
Vendor's speed claim"About 10x faster than the Responses API" (OpenAI)209.3 ms median (Clef), 38.8 ms (Clef-flash) (Cloudflare)About 115 ms median on an RTX 3090, about 153 ms on an M3 MacBook for small tasks (Strands)2.5x faster than the runner up and about 35x faster than GPT-6 Sol at P50 (Microsoft)

OpenAI Decisions API

OpenAI's version lives at its own endpoint, POST /v1/decisions. You send gpt-6-luna some input (a string, or messages with text and images) and a list of questions. Each question is a predicate (the probability a condition is true), a choice from values you supply, or a score against ordered levels. Choice and score answers come back with per option probabilities and a separate confidence field. OpenAI's own guidance is to set thresholds from labeled examples in your app.

Pricing, per the guide: input costs $0.10 per 1M tokens, and you pay only for input. There are no output, cache read, or cache write charges. Regional processing premiums and long context multipliers apply on top, and the API is still in beta, so treat that number as provisional. The guide also lists Zero Data Retention and HIPAA support for eligible customers, with data residency in the US and Europe.

What doesn't get said. You get one closed model and no weights, so you can't run it locally or fine tune it. Images have to be inline base64; hosted image URLs and file IDs aren't supported. "10x faster" is measured against OpenAI's own Responses API, not against other decision models. And beta prices and limits can change before GA.

Verdict: pick the OpenAI Decisions API if you're already on OpenAI's platform, want a hosted endpoint with image input and no infrastructure, and are fine with a single closed model. Skip it if you need open weights, local inference, or a price that won't move.

Strands Decider 2B

Strands Decider 2B comes from the Strands Agents team and was announced on October 1, 2026. It takes a pretrained Qwen3.5-2B torso, removes the text generation head, and replaces it with a small pointer head (just over a million parameters) that scores each option. The torso is fine tuned with a rank 16 LoRA adapter. The code is on GitHub and the weights, training data, and scripts are on Hugging Face.

On Strands' own measurements, it makes local decisions in a median of about 115 ms on an Nvidia RTX 3090 and about 153 ms on an M3 MacBook for small tasks, with latency growing roughly in line with task size. Strands also reports it placing 3rd of 33 models in its size class for accuracy and calibration on JevBench's public set. Both are vendor published.

What doesn't get said. Strands says it plainly: the model is significantly worse than reasoning models at complex problems, and it can't generate text, so it's no use for coding, chat, or summaries. It's a 2B model built for experimentation, which means you run, host, and scale it yourself. And "fast" here is local hardware latency; it isn't a hosted service with an SLA.

Verdict: pick Strands Decider 2B if you want to experiment on hardware you already own, need decisions to stay on device, or want to study and retrain a decision model end to end. Skip it for hard judgment calls, or if you want someone else to run the infrastructure.

Microsoft-Decision-1

Microsoft launched Microsoft-Decision-1 on October 9, 2026, in Microsoft Foundry and through OpenRouter. Microsoft built it by post training Qwen3.5-9B for single pass decision scoring, and says it will later rebase it on other models, including Microsoft AI (MAI) and OpenAI models. It supports yes or no, multiple choice, and rating questions, plus rubric based grading of AI responses and agent actions, and returns a calibrated probability for each option. On OpenRouter it runs on the Decisions API rather than the chat endpoint, using the same noul, choice, and score question types Cloudflare and Strands use.

Pricing, per Microsoft: input costs $0.042 per 1M tokens and output is free. That's the lowest listed input price of the four.

Microsoft's benchmark claims, all vendor published: the highest accuracy in its own 36 benchmark comparison (nearly 150,000 questions kept blind from training), the fastest model it measured at 2.5x quicker than the runner up, H2O-Lightning-4B v1.1, and P50 latency about 35x faster than GPT-6 Sol. It also reports that the model changes its decision on 1.3% of perturbed requests on average. Microsoft's comparison included Strands Decider 2B and OpenAI's GPT-6 Luna Decisions, but not Cloudflare Clef.

What doesn't get said. It's text only, so it can't take the images that OpenAI's and Cloudflare's options accept. Microsoft doesn't list downloadable weights, so you can't run it on your own hardware. OpenRouter notes the weights are updated continually while the API shape stays the same, which means the model behind your thresholds can shift without a version bump. In Foundry, the model you send is your deployment name, not the model name.

Verdict: pick Microsoft-Decision-1 if you're on Azure or OpenRouter, your inputs are text, and price per call matters most. Skip it if you need image input, local inference, or a model that stays fixed until you choose to upgrade.


When to put a decision model in the hot path

SituationUse a decision model?Why
Ticket routing and urgencyYesClosed teams and urgency flags; thresholds beat prompt theater
Tool or skill choice before an LLM actsYesA guardrail check that vendors say runs in tens to hundreds of milliseconds
Trust and safety score against your rubricYesOrdered score questions map cleanly
Drafting the reply or writing codeNoThat's LLM work after the decide step
Brand new taxonomy you can't list yetNot yetSchema the options first, or stay with an LLM until the set stabilizes
Complex judgment that needs reasoningNo, or a larger modelStrands itself says small decision models fall well behind reasoning models here
One off research questionNoOpen ended; decision models waste the constraint

Cloudflare's own internal example is threat intel style domain classification with Browser Run: it reports Clef fetching, rendering, and classifying a domain in 2.2 seconds in that workflow versus 4.7 seconds for its general LLM gpt-oss-120b in the same setup. That's a Cloudflare anecdote from the launch blog, not a universal speed law.


Which one should I pick?

Your situationPickWhy
You need structured route, escalate, or score answers on every requestA decision modelTyped probabilities; no parse step
You're on OpenAI already and want a hosted endpoint with imagesOpenAI Decisions APIOne API call, input only beta pricing, no infrastructure
You want hosted speed but also open weightsClef-flash (9B)Cloudflare positions it for hot path latency; Apache 2.0 weights
You need max precision in the Clef familyClef (27B)Cloudflare positions it for highest precision decisions
You want to experiment locally or keep decisions on deviceStrands Decider 2BRuns on your own CPU or GPU; fully open training recipe
You're on Azure or OpenRouter, text only, and cost per call matters mostMicrosoft-Decision-1$0.042 per 1M input tokens, free output
You need open ended reasoning or generated textLLMDecision models don't write
You need both decide and actDecision model, then LLMDecide on the hot path; generate after
You're still learning agent architectureLearn the decide and act split firstTools and memory matter as much as the model brand

If you're comparing learning paths for shipping agents (not picking a vendor), an advisor can help you see which program fits: AI Engineering is for career changers and semi technical pros who want to build production agents, not only prompt chatbots.

Building agents, or only prompting chatbots?

Tell us where you are today and an advisor will help you see which program fits: AI Engineering for shipping agents, RAG, and production AI apps.

Frequently Asked Questions