Jev vs LLM for decisions: read a typed answer, not a reply
By Christophe Paka · Facts checked on 23 October 2026
Jev is an AI model from TypeSafe that picks an answer from a list you write and says how sure it is. It never writes text. Its answers are typed: always one of the options you listed. This page settles jev vs llm for decisions: when to ask Jev, and when to ask an LLM, the kind of AI that writes text.
Say your app sorts support tickets: billing, technical or sales? You ask an LLM for JSON, a text format for data that programs read. The reply comes back with a stray comma, so your code cannot read it and asks again. One reader summed it up: "Message, API call, tokens, latency, cost ...just to decide yes / no".
On every request, each hop costs money, seconds or code. The figure puts the two paths side by side.

How to read this figure
Start on the left, at the prompt. Your message and prompt go to an LLM (large language model: an AI that writes text). The title's hot path is the code that runs on every request. The meter on each hop is a running cost; here it counts input tokens. Tokens are the small pieces of text that AI services count and bill.
Follow the reply down the left side. The LLM writes a whole reply, word by word, so you pay for output tokens and wait for every word. Then your code must read the "JSON" out of it. Extra marks around it, a trailing comma or a stray sentence break it, so a retry loops back for another paid call.
Read the last two hops on the left. Regex fixups are small rules that patch broken text, and each one is more code to maintain. At the end, your code branches on a confidence number the LLM wrote about itself. The model grades its own answer, so the book treats that number as decoration, not as a measured chance. Some LLM services expose a better number, logprobs; the FAQ below covers that route.
Move to the right: one request. Here your app sends a state, meaning the data to judge, such as the ticket text, plus named questions about it. Jev answers every question in that one request and sends one response. Each answer is typed: one of the answers you allowed, with probabilities and a confidence. The big schema post walks through that request part by part.
See where the LLM went. Your code branches, routes or escalates on the typed answers. The LLM is still there, but only on the one branch that needs a written reply, such as a message to the customer. TypeSafe bills only the text you send in, not the answers it returns, so the meter shows input tokens only.
Key takeaways
- Keep this split for every design: the LLM writes, Jev decides, your code acts.
- Move a call to Jev when it repeats at volume and you can list every valid answer in advance.
- Plan for wrong picks: Jev cannot invent an answer outside your list, but it can choose the wrong one.
Worked example: one support ticket, asked both ways
TypeSafe's own sample ticket says: "Our API integration started returning 500 errors on every request about 20 minutes ago, and we can't process any customer orders until this is fixed." Ask four things about it.
- Which team: billing, technical or sales? An LLM sends a sentence to parse. Jev sends back technical, with probability
1.0. - How frustrated, on a scale from 0 calm to 2 very angry? Jev sends
0.67, a point between calm and frustrated but civil. - Is it urgent? Jev sends
0.99, the chance that yes is right. A rule you wrote can page the engineer on call above a line you pick. - Write a reply to the customer. Jev sends nothing, because it cannot write. That one step goes to an LLM.
Result: Three of the four questions need no parsing at all. Only the reply stays with the LLM, as on the right of the figure. The whole call used 428 tokens and cost about $0.000018, so a thousand like it cost just under 2 cents. In the book's own price example, Jev's bill is about a third of a small LLM's.
Questions readers ask
Can someone explain Jev like I'm not a dev?
Think of a form instead of a letter. You print the boxes: billing, technical, sales. Jev ticks one box and marks how sure it is. Your software files the form and acts. Jev never writes text, so an LLM still writes any reply a customer will see. If you do not code, hand this page to whoever builds your software.
Does Jev replace my LLM?
No. It replaces the small decision calls around the LLM: sorting messages by topic, checking that a result is relevant, or grading the LLM's own output. To move one over, keep the wording of your prompt and drop the "reply in JSON" part. A prompt that says "reply billing, technical or sales" becomes one question, "Which team should take this ticket?", with those three words as its allowed answers. Jev cannot write a reply or call a tool.
Can't an LLM with JSON mode or logprobs do the same?
Partly. JSON mode fixes the format, not the decision. Logprobs, the odds a text model gives each next word, turn a one word label into a number, and that can work on a model that exposes them. It gets harder for answers of several words, for scales, and for many questions about one text. Test both on the same labeled tickets.
How fast is Jev compared with an LLM?
TypeSafe's launch post reports 70 ms to 500 ms a call, measured from the US West Coast. One independent tester, Flavio Copes, measured a median of 256 ms per item from Italy. An LLM must write its whole reply word by word, so even a one word decision waits for the writing.
Sources: System One models (TypeSafe docs); Quick start (TypeSafe docs); How to build with System One (TypeSafe docs).
This figure is from Jev Made Crystal Clear, chapter 1.
The chapter builds the idea step by step, with recipes you can follow, a Try it to check yourself, and every source.
Get the book


