On October 1, Cloudflare released Clef and Amazon released Strands Decider 2B on the same day. Both are open-weight versions of something TypeSafe's Jev has done for a while. Neither is a chat model.
They're decision models. You give them some state (a support ticket, a proposed tool call, a booking) and a schema of questions with fixed answer types: yes/no, one of a list, a score on a scale. They return a probability for each option, in one forward pass. No text at all.
Why that's interesting if you've ever parsed LLM output
Here's a pattern I've written more times than I'd like to admit:
const raw = await llm(`Classify this ticket. Reply with JSON: {"category": "billing" | "bug" | "other", "urgent": true | false}`); const parsed = ticketSchema.safeParse(JSON.parse(extractJson(raw))); if (!parsed.success) { // retry? default? log and hope? } Three things can go wrong here, and all of them are about text:
- The model writes prose around the JSON.
- The JSON is valid but has a value outside the enum.
- The answer is a confident
"urgent": truewhen the model was really 51/49.
A decision model removes all three. The output can't fall outside the schema, because there's no text to fall outside it. And you get the uncertainty as a number instead of a guess dressed up as a fact.
What the probability buys you
This is the part I care about most. With a probability you can write real logic:
if (p.urgent > 0.9) page(oncall); else if (p.urgent > 0.6) queueForHuman(ticket); else autoReply(ticket); The middle band is where a human should look. With a chat model you only get the answer, and a 51% "urgent" and a 99% "urgent" look exactly the same.
Where they don't fit
The trade-off is plain, and the comparisons say so:
- No text means no coding, chat or summaries. These models aren't replacing your assistant.
- One parallel pass is weaker on hard problems than a reasoning model that can think step by step.
They're for the many small judgement calls inside an app: routing, triage, "is this tool call safe to run without asking?", "does this listing photo show a parking spot?". Those are the calls where you'd otherwise ship a prompt, a regex and a retry loop.
I've already used one
Before these open releases, I put TypeSafe's Jev in front of my coding agent as a model router: one typed question per message, "is this tiny, everyday, large or hardest?", and the answer picks the model. I wrote that up in I put a second AI in front of my AI. It answers in probabilities, not paragraphs.
What Clef and Decider change is who can run one. The same pattern now works with open weights, on your own hardware, with no API in the path.
The appeal isn't that it's smarter. It's that it's typed. The answer is already shaped like the code that uses it.
What I'd tell you before you start
If your app has a prompt that ends with "reply only with one of the following", you might not need a chat model there. A small model that can only answer the question, and tells you how sure it is, is easier to test and cheaper to run. It also can't come back with "Sure! Here's the JSON you asked for:".
Sources: Cloudflare (Clef) and Amazon Strands Labs (Decider 2B) releases, Oct 1, 2026; "Open decision models compared", Digital Applied.


