DEV Community

Cover image for Jev: A Different Approach to AI Decision-Making
Anshul kumar
Anshul kumar

Posted on

Jev: A Different Approach to AI Decision-Making

Jev: A Different Approach to AI Decision-Making

For the last few years, much of the AI ecosystem has focused on making language models better at generating and understanding language.

We built increasingly capable autoregressive models that generate text token by token. We added reasoning capabilities, tool calling, structured outputs, and increasingly large context windows.

That approach is extremely powerful.

But there is a problem when we use these models inside backend systems:

Sometimes the application doesn't need an answer in natural language. It just needs a decision.

For example:

  • Which model should handle this request?
  • Is this support ticket urgent?
  • Should this transaction be reviewed?
  • Does this prompt contain sensitive information?
  • Which workflow should execute next?
  • Should this agent action be allowed?

In these situations, generating a paragraph of reasoning and then parsing it into a boolean, score, or enum can be unnecessary overhead.

This is the problem TypeSafe AI's Jev is designed to address.

Jev is a System One model designed to make fast, structured decisions that software can consume directly.

TypeSafe describes Jev as a model that gives up general-purpose string generation in exchange for structured outputs, parallel sampling, and calibrated probabilities.


What is Jev?

Jev is TypeSafe AI's first public System One Model.

The name is inspired by the distinction between System 1 and System 2 thinking from Daniel Kahneman's Thinking, Fast and Slow.

The basic idea is simple:

LLMs generate strings. Jev generates decisions.

Instead of asking a model:

"Read this support ticket and tell me what department
should handle it, whether it is urgent, and how frustrated
the customer appears to be."
Enter fullscreen mode Exit fullscreen mode

and expecting a generated JSON response, you define the decisions your application needs.

Conceptually:

             Application State
                    │
                    ▼
        ┌─────────────────────────┐
        │          Jev            │
        │                         │
        │  Evaluate typed         │
        │  questions in parallel  │
        └────────────┬────────────┘
                     │
                     ▼
          Structured Decisions
          ┌──────────────────────┐
          │ Choice               │
          │ Score                │
          │ Yes / No             │
          │ Probabilities        │
          │ Confidence           │
          └──────────────────────┘
                     │
                     ▼
             Application Logic
Enter fullscreen mode Exit fullscreen mode

The important architectural difference is that Jev is optimized around structured decisions rather than arbitrary text generation.

TypeSafe describes its architecture as using a new model architecture, a parallel sampler, and a training approach called Reinforcement Learning for Calibrated Decisions (RLCD).


State + Questions

One of the most interesting concepts in Jev is its API model:

State + Questions → Typed Decisions

1. State

The state is the information the model needs to evaluate.

It could contain:

  • Customer messages
  • Logs
  • Support tickets
  • Agent traces
  • Transaction information
  • Application state
  • Other structured or unstructured context

2. Questions

You then define the decisions your application wants the model to make.

TypeSafe currently exposes three core primitives:

Noul

A yes/no question.

For example:

Does this request appear urgent?
Enter fullscreen mode Exit fullscreen mode

The result includes a probability for the statement.

Choice

Select one option from a predefined set.

For example:

Which department should handle this ticket?

billing
technical_support
sales
general
Enter fullscreen mode Exit fullscreen mode

The model returns a distribution across the available choices.

Score

Evaluate something on a defined scale.

For example:

How frustrated is the customer?

calm
slightly_annoyed
highly_frustrated
Enter fullscreen mode Exit fullscreen mode

The result includes a score and probabilities across the levels.

These primitives are also used in TypeSafe's published workflow evaluations.


Why Typed Decisions Matter

Consider a traditional LLM workflow.

You might ask:

Classify this ticket and return JSON.

{
  "department": "...",
  "urgent": true,
  "priority": "..."
}
Enter fullscreen mode Exit fullscreen mode

Your application then has to deal with:

  1. Generated text
  2. JSON parsing
  3. Schema validation
  4. Invalid values
  5. Missing fields
  6. Unexpected output
  7. Confidence estimation

With a typed decision model, the possible output space is defined ahead of time.

For example:

department ∈ {
    billing,
    technical_support,
    sales,
    general
}
Enter fullscreen mode Exit fullscreen mode

The model isn't being asked to invent the structure.

The structure is part of the application.

This creates a useful separation:

AI → semantic judgment

Code → policy + business logic + side effects
Enter fullscreen mode Exit fullscreen mode

That distinction is important.

Type safety does not mean semantic correctness.

Jev can still make the wrong classification. What the typed interface gives you is a constrained output space that is easier for software to consume and reason about.

TypeSafe explicitly frames this as making AI more like a dependable software primitive, with confidence and probabilities available to the application.


The Performance Difference

Traditional autoregressive language models generate output sequentially.

Conceptually:

Token 1 → Token 2 → Token 3 → Token 4 → ...
Enter fullscreen mode Exit fullscreen mode

For a task that ultimately needs:

"technical_support"
Enter fullscreen mode Exit fullscreen mode

or:

true
Enter fullscreen mode Exit fullscreen mode

generating a long textual response can be unnecessary.

Jev takes a different approach, using parallel sampling for its structured outputs. TypeSafe reports end-to-end response times of approximately 70–500 ms for Jev.

Its current website also highlights a workflow comparison showing 193.6× faster and 444.6× cheaper for the particular System One workflows used in that comparison. These are TypeSafe's own benchmark results, not a universal guarantee for every workload.

That's an important distinction.

The useful takeaway isn't:

"Jev is always 200× faster than every LLM."

It is:

For the kinds of structured decision workloads Jev targets, avoiding autoregressive text generation can dramatically reduce latency and cost.


Cost Model

TypeSafe currently lists Jev at:

$0.042 per million input tokens

and states that output tokens are free because Jev does not generate traditional output text.

This creates an interesting economics model for backend systems.

Imagine an application processing millions of events:

Event
  ↓
Should we process it?
  ↓
Which workflow?
  ↓
What priority?
  ↓
Should a human review it?
Enter fullscreen mode Exit fullscreen mode

If each decision requires a full generative LLM call, the cost and latency can quickly become significant.

A specialized decision model can potentially sit in front of or alongside the larger model.


A Simple Mental Model

I think about the difference like this:

Traditional LLM

Input
  ↓
Reason
  ↓
Generate tokens
  ↓
Generate JSON/text
  ↓
Parse
  ↓
Validate
  ↓
Application logic
Enter fullscreen mode Exit fullscreen mode

Versus:

Jev

Input State
  ↓
Typed Questions
  ↓
Decision + Probability + Confidence
  ↓
Application logic
Enter fullscreen mode Exit fullscreen mode

The second model is particularly interesting when the application already knows what decisions it needs to make.


Where Could Jev Be Useful?

1. Intelligent LLM Routing

One interesting use case is deciding which LLM should handle a request.

For example:

Incoming prompt
       │
       ▼
      Jev
       │
   ┌───┴────┐
   │        │
Simple    Complex
   │        │
   ▼        ▼
Small LLM  Frontier LLM
Enter fullscreen mode Exit fullscreen mode

Instead of sending every request to an expensive model, a decision layer could evaluate the request and select an appropriate model.

This is especially interesting in systems where model cost and latency matter.


2. Support Ticket Triage

Consider a support platform receiving thousands of tickets.

The application might need to determine:

Department?
Urgency?
Customer sentiment?
Human escalation required?
Enter fullscreen mode Exit fullscreen mode

Those decisions can be represented as typed questions.

The surrounding application can then implement deterministic business rules:

if urgency_probability > 0.9:
    escalate_to_human()
elif department == "billing":
    route_to_billing()
else:
    continue_normal_flow()
Enter fullscreen mode Exit fullscreen mode

The model provides the semantic judgment.

The application retains control of the actual workflow.


3. AI Guardrails

Another interesting area is using a fast decision model as a gate around an LLM or agent.

For example:

Agent
  │
  ▼
Tool request
  │
  ▼
Jev
  │
  ├── Safe → Execute
  │
  └── Risky → Human review
Enter fullscreen mode Exit fullscreen mode

This pattern could be useful for decisions such as:

  • Is this tool call potentially dangerous?
  • Does the request contain sensitive information?
  • Does this agent output require review?
  • Does this action violate a policy?

The important architectural idea is that the decision model doesn't need to replace the agent.

It can act as a fast decision layer around the agent.


4. Real-Time Classification

Low latency also opens possibilities for high-throughput classification.

Examples include:

  • PII detection
  • Spam detection
  • Content moderation
  • Message routing
  • Event classification
  • Fraud signals
  • Log classification

The TypeSafe workflow examples currently include security incidents, agent trace observability, invoice processing, and customer service, which gives a good indication of the kinds of automation problems the company is targeting.


What Jev Does Not Replace

This is probably the most important point.

Jev is not a replacement for an LLM.

If you need:

  • Code generation
  • Long-form writing
  • Conversational responses
  • Open-ended reasoning
  • Creative generation
  • Natural-language explanations

you still need a generative model.

Jev targets a different part of the architecture.

A useful way to think about it is:

                 AI Application
                       │
          ┌────────────┴────────────┐
          │                         │
          ▼                         ▼
   Generative LLM              Jev
          │                         │
   Generate text              Make decisions
   Write code                 Classify
   Explain                    Score
   Reason                     Route
                              Verify
                              Gate
Enter fullscreen mode Exit fullscreen mode

In other words:

LLMs can generate the content. Decision models can determine what should happen next.

That distinction could become increasingly important as AI moves deeper into backend automation.


System 1 vs. Generative LLM

Generative LLM Jev / System One
Primary purpose Generate language Make structured decisions
Output Text / structured text Typed decisions
Sampling Autoregressive Parallel
Best suited for Chat, code, reasoning, generation Classification, routing, scoring, verification
Uncertainty Often requires explicit prompting Probabilities and confidence are part of the output
Application integration Parse and validate generated output Consume typed decisions directly
Latency target Seconds for many frontier workflows ~70–500 ms according to TypeSafe

The two approaches are complementary rather than mutually exclusive.


The Bigger Idea: AI as a Software Primitive

For me, the most interesting part of Jev isn't simply the latency number.

It's the interface.

We've traditionally treated AI as something that produces text:

Prompt → Text
Enter fullscreen mode Exit fullscreen mode

Jev proposes a different abstraction:

State + Questions → Decisions
Enter fullscreen mode Exit fullscreen mode

That is much closer to how backend systems are already designed.

Software is full of decisions:

if condition:
    do A
else:
    do B
Enter fullscreen mode Exit fullscreen mode

The problem is that some conditions are difficult to express with deterministic rules.

For example:

if customer_is_genuinely_frustrated:
    escalate()
Enter fullscreen mode Exit fullscreen mode

The difficulty isn't the if statement.

It's determining:

Is the customer genuinely frustrated?

That's where an AI decision model can potentially fit.

The application owns the workflow.

AI supplies the judgment.


Final Thoughts

Jev represents an interesting direction in AI engineering: not every AI problem needs a chatbot or a text-generating model.

Some problems are fundamentally about making small, repeated decisions inside software.

For those workloads, a model that produces:

Choice
Score
Probability
Confidence
Enter fullscreen mode Exit fullscreen mode

may be a better abstraction than a model that generates paragraphs of text.

Jev is still relatively new and currently available in early access, so there is plenty to learn about where this approach works well, where it doesn't, and how it behaves in production workloads. TypeSafe itself is actively asking developers to experiment with the model and report where it succeeds or falls short.

But the underlying idea is worth watching:

What if the next evolution of AI isn't just better models that talk to humans, but models that make fast, structured decisions for software?

That is the interesting question Jev is exploring.

Top comments (0)