Analysis Agent Frameworks & Automation
Decision models, explained: Jev, Laya and the rise of System One AI
By Sheela ·
A decision model does not write. You give it a piece of text or JSON and a few typed questions, and it returns a choice, a score or a yes/no probability, with the probabilities behind each answer. That narrow job makes it faster and far cheaper than asking a chat model, and it is the right tool for a surprising share of what agents do all day: routing, triage, guard checks and gating. It is not yet a tool to trust without testing on your own data.
What a “System One” model is
The term comes from TypeSafe, a San Francisco lab that calls Jev its first “System One model”, built for decisions inside software rather than conversation. Per TypeSafe’s docs, every request has a state (the evidence) and a set of questions of three types: choice picks one option from a list, score rates the state on an ordered rubric, and noul returns the probability that a statement is true. Several questions can be asked of the same state in one call, and the answer comes back as typed values your code can compare against a threshold. There is no prose to parse.
How they differ from LLMs and classifiers
Against a chat model, the difference is the output. An LLM asked “is this ticket urgent?” returns a sentence, which the agent must interpret, and gives no reliable signal of how sure it is. A decision model returns a number per option. Laya and GLiNER2.5-Decide both answer in a single forward pass without generating any tokens.
Against a classic classifier, the difference is that the labels are not baked in. A trained sentiment or intent model knows only the classes it was trained on. A decision model reads the options from the request, so you can add or rename categories without retraining, which is how Fastino’s model card describes GLiNER2.5-Decide. In practice the line is blurry: GLiNER2.5-Decide is an encoder much like a classifier, and Laya’s maintainers say it needs fine-tuning on your own decisions to be accurate.
Where they fit in an agent
- Routing. Which team owns a ticket, which model should handle a task, which tool to call. A choice question with a confidence cut-off lets the agent act on clear cases and escalate the rest.
- Guards. Screening a fetched page or tool result for prompt injection before it reaches the main model. Jev MCP and Viorant’s hosted Jev both ship a
jev_screentool for exactly this. - Tool-call gating. Scoring a proposed action, diff or completion claim before it runs or before the agent declares the task done. Jev MCP’s
jev_reviewandjev_gatedo this for coding agents. - Triage and verification. Labelling a backlog, reranking search results, or checking each claim in a report against its sources, in batches that would be too slow and expensive to run through a frontier model.
What they should not do: answer open questions, explain themselves or plan. Fastino’s own model card says GLiNER2.5-Decide “does not reason, explain, or answer open questions”.
The main options
- Jev (TypeSafe). Hosted only; we found no statement that the weights are released. TypeSafe lists $42 per billion input tokens. It is also sold through OpenRouter and Cloudflare Workers AI, according to the jev-mcp README. It handles up to 255 options per choice question, per TypeSafe's launch post.
- Laya (Convai Innovations). Open weights under Apache 2.0, three checkpoints of 322M to 421M parameters, and a router that sends non-English text to a multilingual checkpoint covering 100+ languages. Its README reports 32.8 ms for one question on a T4 GPU.
- Clef and Clef-flash (Cloudflare). Released on 1 October 2026 with Apache 2.0 weights, at 27B and 9B parameters with a 64K-token context, on Workers AI and Hugging Face. They follow the same System One API as Jev, so Cloudflare says switching means changing the endpoint and model name.
- GLiNER2.5-Decide (Fastino). A small English encoder (Fastino says 340M parameters; the weights file holds about 486M) under Apache 2.0 that runs on CPU, with a multilingual variant; the card lists it as fine-tuned from GLiNER2.
- Perplexity Decider (pplx-decider) (Perplexity). Perplexity's open 27B and 4B decision models, also sold as a $0.02-per-million-token API: text and images in, probabilities out.
- d3 (vLLM Semantic Router) (vLLM Semantic Router). The vLLM Semantic Router project's open 27B decision model, second on the Decision Index, with video input and native vLLM serving.
The hosted model is the least work and the open models are the most private. Clef is the strongest open challenger on paper; Laya and GLiNER2.5-Decide are small enough for a laptop.
Connecting one to your agent
For most people the MCP server matters as much as the model.
- Jev MCP (4.3) is the pick for coding agents: twelve ready-made checks, including injection screening, claim verification and diff review.
- Laya’s official MCP server (4.2) runs everything locally, with batch, long-document and shortlist tools.
- System One Connector (4.1) is one lightweight tool that can talk to Jev, a self-hosted Laya or CLM, or Liquid AI’s d1.
- Jev on Viorant (3.8) is a hosted OAuth endpoint with free starter credits and no TypeSafe key.
- AnythingMCP’s Jev connector (3.7) suits teams that want one shared, audited key for claude.ai and ChatGPT users.
The honest limits
Almost every benchmark is a vendor benchmark. Cloudflare’s changelog reports Clef ahead of Jev on 7 of 10 decision benchmarks, including 94.20 against 79.74 on BANKING77, and Clef-flash at a 38.8 ms median against Jev’s 524.1 ms. Fastino’s card puts GLiNER2.5-Decide first on Fastino’s own dataset, with Laya’s router last. Laya’s README puts Laya ahead of Jev on most tasks, using Jev figures it says it never measured itself. The numbers contradict each other because each vendor picked the test.
Zero-shot accuracy can be poor. Laya’s maintainers write that its base checkpoints are “near chance” on their own typed-decisions benchmark (0.362 against a 0.318 random baseline), and that the headline 0.766 comes from a checkpoint fine-tuned on that benchmark’s training split. They also document negated cancellation requests classified as cancellations with 0.9998 probability, and accuracy falling to 0.425 on a 77-label task.
Confidence is not correctness. A calibrated probability is the selling point, but Laya’s README notes its checkpoints are over-confident as shipped and that confidence “orders decisions; it does not establish that a decision is correct”. Fit thresholds on your own labelled data.
Everything is new. Laya’s repository was created on 18 September 2026; Clef shipped on 1 October; the Jev MCP servers reviewed here are all less than five weeks old. Version numbers move weekly, and the jev-mcp author calls it early software.
Who should use one
Use a decision model if your agent makes the same kind of bounded judgement many times — routing tickets, screening fetched content, gating tool calls — and you can say what the right answers look like. Start with Jev through Jev MCP if you want good results without training anything and can send data to a hosted service. Choose Laya or Clef if data must stay on your hardware, and budget time to label examples and fit thresholds.
Skip it if your decisions are rare, open-ended or need an explanation; a frontier model is still the better tool. And whichever you pick, keep a frontier model or a human behind the low-confidence cases. The gains come from answering easy calls fast, not from letting a 400M-parameter model decide everything.