Clef arrived two weeks after Jev. Design for the swap
Ricardo Argüello, October 17, 2026
CEO & Founder
General summary
Cloudflare released Clef on October 1, 2026, about two weeks after Jev. It is an open-weight model that returns probabilities over predefined answers and, Cloudflare says, is compatible with Jev's API. In Cloudflare's own tests it wins on speed and several tasks, while Jev wins others and costs less per token.
- Clef runs a frozen Qwen model through one pass and scores every valid answer in parallel, without generating text.
- In Cloudflare's tests the median decision took 209.3 ms for Clef and 38.8 ms for Clef-flash, against 524.1 ms for Jev.
- Jev wins on When2Call (80.97% to 72.37%) and, by Cloudflare's own account, on agent-trace observability. Clef's weights are open but its training data is not.
- The pg-jev Postgres extension stores the service address as a configuration setting, so changing vendor can be one line.
- What protects your architecture is an output contract you own, test cases of your own, and confidence thresholds stored per model.
Imagine a multiple-choice exam. You ask a language model to write out the answer. You ask a decision model to tick a box and say how sure it is. Swapping one decision model for another is like swapping the examiner. If your questions and correct answers are well kept, the swap is easy. If they are not, you start from zero.
AI-generated summary
Thirteen days is not much. Jev launched in mid-September. On October 1, Cloudflare released Clef, a model of the same kind with open weights and an API it says is compatible with Jev’s.
If you picked Jev last month to classify tickets or route requests, you now have an alternative. I am not telling you to switch. I am telling you to look at what switching would cost, because that is what this week exposed.
This is the follow-up to my post on Jev.
How Clef works
Cloudflare took a frozen Qwen model (Qwen3.8-27B for Clef, Qwen3.5-9B for Clef-flash) and added light adapters. Their announcement describes one read-through pass (the prefill), after which a small schema layer scores every valid answer at once. No text token is ever generated.
Think of a multiple-choice exam. You are not asking the model to write an essay. You are asking it to tick a box and say how sure it is.
The numbers, and who ran them
All of these come from Cloudflare, run on the Jev Decision Index, a test suite TypeSafe created. Across 43 benchmarks, the median decision took 209.3 ms for Clef and 38.8 ms for Clef-flash. Jev took 524.1 ms. That is about 2.5 times and about 13 times faster.
On accuracy, Clef scored 94.20% on BANKING77 against Jev’s 79.74%. Clef-flash scored 98.76% on BFCL against 95.75%. Jev won When2Call, 80.97% to 72.37%.
The Register adds three things the announcement does not stress. Cloudflare concedes Jev wins on agent-trace observability. Clef costs $0.24 per million tokens against Jev’s $0.042. And the weights are open, but Cloudflare confirmed to the paper that the training data is not public.
So nobody won outright. Which one fits depends on your task, and the only way to find out is to measure on your data.
The swap can be one line
Take pg-jev, the Postgres extension that exposes Jev as SQL functions: jev(), jev_prob(), jev_choice() and jev_score(). The service address is a configuration setting, jev.api_url, which defaults to TypeSafe’s endpoint. The README itself warns that row contents are sent to a third-party API.
Cloudflare says Clef is “fully API-compatible, so you can make the swap extremely easily.” In principle, pointing that setting at a Clef server would be the whole technical job. I have not tried it, so read that as my inference, not a result.
That is the shape you want: the vendor as a configuration value.
Compatible is not identical
There is a catch, and it is my reasoning, not a measurement. Suppose your code hands a case to a person whenever confidence falls below 0.7. That 0.7 was calibrated on Jev’s probabilities. Another model may give 0.7 to cases Jev scored at 0.5. Same format, different scale.
A compatible API therefore covers half of the swap. Revalidation is the other half.
What to pin down on your side
Three things, and none depends on which model you choose.
The contract comes first. Define in your own code the type of what you expect: one option from a closed list, plus a probability. The vendor hides behind a single function.
type Decision<T extends string> = { choice: T; probs: Record<T, number> };
interface Decider {
decide<T extends string>(state: string, question: string, options: T[]): Promise<Decision<T>>;
}
Next, a set of test cases. Real cases from your operation with the correct answer already known, written by the people who run the work and not by the vendor. With that in hand, comparing Jev, Clef-flash and whatever ships next month takes an afternoon. Without it, it takes a debate.
Last, the thresholds. Store them as per-model configuration and recalibrate whenever you switch. They never live inside the code.
If your AI architecture lacks those three pieces, the model you chose in September is already part of your system rather than a component of it. In an enterprise architecture review, that would be my first test: swap the model in a staging environment and see how much breaks.
Measure what it would cost you to change modelsFrequently Asked Questions
Clef is a decision model from Cloudflare, released October 1, 2026, that returns probabilities over predefined options instead of text. Its weights are open under Apache 2.0, it accepts images, and it has a 64,000-token context. Jev, from TypeSafe AI, has a 32,000-token context and does not take images.
In Cloudflare's tests, using the index TypeSafe built, the median decision took 209.3 ms for Clef and 38.8 ms for Clef-flash, against 524.1 ms for Jev. On accuracy Clef wins several benchmarks while Jev wins others, such as When2Call. These are the maker's own measurements.
Cloudflare says Clef is fully API-compatible with Jev. If your code keeps the service address as configuration, as the pg-jev Postgres extension does, the technical change is one line. The hard part is revalidating on your own test cases and recalibrating your confidence thresholds.
Define the output contract in your own code as a closed list of options plus a probability, hide the vendor behind a single function, keep a set of real cases with known correct answers, and store confidence thresholds as per-model configuration. Then comparing a new model takes an afternoon.
Related Articles
Jev returns typed decisions and charges nothing for output
TypeSafe shipped Jev, a model that returns typed decisions with calibrated probability instead of text. Vercel measured it 5 to 18x faster than Luna 5.6.
Aaron Levie's list: the real work of deploying AI agents
Aaron Levie listed seven jobs behind putting AI agents into a company. Three of them are yours to own before you pay anyone to do the deployment for you.
AI Agents Are Shopping Your Site. Who Decides They Get In?
Amazon has blocked Meta's Muse agent since September 20. Five checks to learn whether your site lets in the agents that shop for your customers.
Cloudflare's September 15 default also blocks Googlebot
Cloudflare splits crawlers into Search, Agent and Training, and resolves conflicts by the strictest rule. Block Training and Googlebot goes with it.
Cloudflare's x402 Toll Booth: 15 of 15 Facilitators Failed
Cloudflare, AWS, Visa, and 37 other companies just built payment rails for AI agents. A USENIX paper found security violations in all 15 facilitators tested.