Pick one path
Route a support ticket to billing, technical, or sales. The options are declared before the model answers.
What happens when an AI model stops generating prose and starts returning the typed, probabilistic judgements that software actually needs?
Jev takes messy state, asks several tightly defined questions, and returns typed answers such as a choice, a score, or the probability that a statement is true.
Best mental model: a frontier-intelligence function call — unstructured state in, typed probabilistic decisions out.
Route a support ticket to billing, technical, or sales. The options are declared before the model answers.
Estimate frustration, risk, severity, or fit against a rubric with named levels.
Return a 0–1 probability for a focused yes/no judgement, such as “does this message request a refund?”
The name “Noul” is TypeSafe’s primitive for a probability that a statement is true. It is not a general-purpose answer generator.
The interesting move is not “make an LLM cheaper”. It is “stop forcing a text generator to behave like a typed decision API”.
Design implication: put language understanding at the fuzzy edge, then let ordinary code own the workflow, policy, thresholds, and side effects.
Senko Rašić’s explanation is explicitly a simplification. The useful comparison is with classification models such as BERT: they are fast and cheap for defined judgements, but traditionally need task-specific fine-tuning.
The article notes that Jev’s model size is not public. Avoid treating any parameter estimate as fact.
Instead of making a workflow wait for one classifier, then another, Jev evaluates questions independently against the same state. You can ask for routing, urgency, and frustration together.
Key pattern: ask every question your code might need, even if some answers will be ignored for this input. The API is designed for speculative fan-out.
Use a model where hand-written rules are brittle but a full agent would be overkill.
Classify, score, and route tickets, documents, or product feedback in a single request.
Score prompts, traces, outputs, jailbreak attempts, or policy fit before the next action.
Make quick decisions inside an application without waiting for a prose response.
Score player or world state, then let deterministic rules select the next NPC or crisis branch.
Turn large collections of unstructured records into structured features and signals.
Jev looks compelling for the right task. The right question is not “is it better than an LLM?” but “does it fit this decision surface, with acceptable error and uncertainty?”
On 3,000 Croatian-language texts, the author reports 97.1% for zero-shot Jev versus 97.6% for a fine-tuned local BERT. The difference is small, and the author says many disagreements were label-quality issues.
Important: this is one author’s random sample and one task, not a universal benchmark. It supports “test the fit”, not “Jev always wins”.
What it can rule out: output outside the structure you specified. No invented JSON key, no free-form prose where a Choice was required.
What it cannot rule out: a wrong classification, a biased rubric, missing context, or a confident but mistaken judgement.
Showing the wrong screen is recoverable. Approving a transfer is not. Use different confidence gates for each action.
if confidence < 0.5:
route_to_human()
if high_stakes and confidence < 0.9:
ask_for_confirmation()
Prompt injection: the article reports informal tests suggesting Jev may resist some attacks better because state and instructions are separate. Treat that as a hypothesis until you run adversarial evaluations on your own workflow.
The implementation is small. The product work is deciding what the model is allowed to judge, what evidence it sees, and what the surrounding code does with uncertainty.
Pass the smallest useful record: text, metadata, policy, or structured context.
Ask one focused question per dimension. Avoid “analyse everything and decide”.
Mix Choice, Score, and Noul in one request when they share the same state.
Use probabilities and confidence in application code. Gate side effects by risk.
Rule of thumb: if a judgement needs extended reasoning, decompose it into smaller factors and compose the result in code.
# pip install typesafe-sdk from typesafe_sdk import Choice, Noul, Score, TypeSafeClient client = TypeSafeClient() response = client.system_one( state=ticket, questions={ "department": Choice( instructions="Which team should handle this?", criteria={"billing": "Payment or subscription issues", "technical": "Bugs or integration problems", "sales": "Pricing or account questions"}), "frustration": Score( instructions="How frustrated does the customer appear?", criteria=["Calm", "Frustrated", "Very angry"]), "is_urgent": Noul( instructions="Does the message convey urgency?"), }, )
The article’s example uses the same three primitive types. The current quick start also documents the Python SDK, API route, and response shape.
“How severe is the bug?”
“How frustrated is the customer?”
“How complete is the reproduction?”
“Read this ticket, reason about everything, and decide what the company should do.”
Architecture payoff: when priorities change, change weights and thresholds in code instead of rewriting one giant prompt.
Imagine a nemesis system that needs fast, explainable signals rather than a conversational monologue. Jev can score state; deterministic code can own the actual game rules.
Why this is interesting: the AI supplies a fast judgement about a rich state; the game remains testable because the state machine still owns the action.
Do not use it as a universal LLM replacement. If the task is open-ended reasoning, creative generation, or evidence synthesis, use a model and workflow designed for that job.
The opportunity is to put fast, calibrated judgements exactly where software needs them — then keep the system honest with tests, thresholds, and human escalation.
Suggested next experiment: pick one high-volume classification problem, create a small labelled evaluation set, and compare Jev, a fine-tuned classifier, and an LLM baseline on quality, latency, cost, and escalation rate.