Sep 21, 2026

What is Jev AI? TypeSafe's decision model explained

Jev answers typed questions instead of writing text. Learn where TypeSafe's System One model fits in an AI application and what its outputs mean.

AI ENGINEERING4 min readThe Currai team / Engineering

A customer asks your agent to cancel a subscription. Before replying, the application needs to identify the request, find the account, check the cancellation policy, and decide whether a person needs to intervene. Writing the reply is only one part of that work.

Jev targets the decisions around it. TypeSafe describes Jev as a System One model: you supply context and questions with defined answer types, and receive values that application code can use. It does not compose the customer's cancellation email. It can help decide which workflow should handle the request. TypeSafe's introduction describes this interface.

What does Jev return?

The API has three question types. Each fits a different kind of judgment.

Choice selects among options you define. In a subscription product, those might be cancel, change_plan, billing_question, and other. The response includes the selected option and a probability distribution, so your application can inspect alternatives instead of receiving only a label. See the Choice reference.

Score places an input on an ordered rubric. For a support message, you could define levels for no disruption, a partial disruption, and an inability to use the product. A score can fall between levels. The number gets its meaning from your descriptions; it is not a universal measure of severity. See the Score reference.

Noul estimates the probability that a yes-or-no statement is true. For example: does the customer explicitly ask to cancel? A value near 0.5 expresses uncertainty about that statement, rather than a customer being halfway through cancellation. See the Noul reference.

For our subscription example, separate questions are useful because topic and urgency are different. A routine cancellation can be clear but unhurried. A billing question can be urgent without requesting cancellation. Combining both into one label would make the routing policy harder to inspect.

How does it fit alongside a language model?

TypeSafe's System One documentation says Jev accepts text and structured text data, and returns decisions without generating prose, code, or explanations. An application that needs those outputs still needs a generative model or a template.

Consider this division of work:

Part of a cancellation workflowSuggested owner
Interpret what the customer wantsJev classification
Authenticate the customerApplication code
Retrieve the current subscriptionBackend API
Check the effective cancellation dateApplication code
Explain the available optionsA language model or approved template
Apply the confirmed cancellationAuthorized backend operation

This is a proposed application design, not a claim that Jev implements subscription management. The point is to put each operation somewhere its behavior can be checked.

Why developers are interested

A classification call often sits in front of everything else. If the router is slow, the user waits before the agent even starts the useful work. If it is expensive, teams may skip checks that would otherwise help them understand a request.

Jev makes that decision step worth reconsidering. TypeSafe lists input pricing of $0.042 per million tokens, with no output charge, on its model page, checked September 21, 2026. Actual application savings depend on how much work moves to Jev and what remains downstream. Our Jev cost analysis walks through the arithmetic.

The useful first experiment is small: choose one existing classifier, preserve its inputs, and compare the two implementations on examples your team has labeled. A broad rewrite makes it harder to tell which change helped.

What a typed answer cannot tell you

A valid category can still be the wrong category. If a customer says they want to pause and your only options are cancel or upgrade, the application has created a bad decision before the model answers.

The same problem appears when important evidence is missing. A message saying "please stop it" may refer to an invoice reminder, a subscription, or a repeated notification. The classification needs the relevant conversation context, and the product needs a path for ambiguity.

Read a sample of wrong answers before changing models. Some will point to unclear categories or missing context. Others will be model errors. Those fixes belong in different places.

For a working request, continue with our Jev API tutorial.

Understand your Jev-powered agent with Currai

After connecting your application, Currai helps you review what users wanted and how the agent responded. Define intents for the goals that matter to your product, add violation rules for unwanted responses, and inspect the evidence in linked conversations.

Start with Currai's setup guide to capture a real interaction. Then use those conversations to investigate where your Jev-powered workflow needs better context, clearer rules, or a different route.

03

Keep going with nearby topics from the Currai blog.