Jev vs LLMs

An LLM writes. Jev decides.

A general LLM like GPT or Claude is built to produce text. Jev is built to answer a question with one of the answers you allowed, and tell you how likely each one is. If your code needs to branch on the result, that's the difference that matters.

The same task, two ways

with a chat LLM
// Asking a chat model
const prompt = `Classify this ticket as billing, technical or sales.
Also rate frustration 0-2 and say if they'll churn.
Reply ONLY with JSON like {"team": ..., "frustration": ..., "churn": ...}`;

const text = await chat(prompt + ticket);
const out = JSON.parse(text);  // sometimes has ```json fences
                               // sometimes "Billing" vs "billing"
                               // sometimes "frustration": "medium"
                               // no idea how sure it was
with Jev
// Asking Jev
const { answers } = await jev({
  state: ticket,
  questions: {
    team: { type: "choice", instructions: "Which team handles this?",
            criteria: { billing: "...", technical: "...", sales: "..." } },
    frustration: { type: "score", instructions: "How frustrated?",
                   criteria: ["calm", "annoyed", "angry"] },
    churn: { type: "noul", instructions: "The customer is likely to cancel." },
  },
});

answers.team.choice          // always "billing" | "technical" | "sales"
answers.team.probabilities   // { billing: 0.91, technical: 0.07, sales: 0.02 }
answers.frustration.score    // 1.68, on your scale
answers.churn.noul           // 0.64

Side by side

General LLMJev
What you get backFree text you have to parseA typed answer per question
Answer is always one of your optionsUsually, if the prompt is goodYes, by design
Probability of each optionNo (or a made-up number in the text)Yes, for every option
Confidence to set thresholds onNoYes
Many questions about one itemOne long prompt, one long replyOne call, one answer each
Output tokensOften hundreds (reasoning, JSON, fences)A few per question
Writing, summarizing, chattingYesNo
Multi-step reasoning, tools, codeYesNo

Why the probabilities matter

When a chat model says "billing", you don't know if it was 51% sure or 99% sure. Jev gives you the full distribution. That lets you:

Why it's cheap

Most of an LLM's cost on a classification task is output: the reasoning, the JSON, the explanation you didn't ask for. Jev reads your input and returns a few numbers per question. A real call with three questions used 398 input tokens and 72 output tokens. That's why you can run it on every row, not just a sample.

When to use an LLM instead

They also work well together: use Jev to decide whether to do something (is this worth replying to? is this request in scope? is this a prompt injection?), and an LLM to do it.

Try it on your own data
Sign up free and use the playground. No code needed.
Open the playground