Everything you need to know about Jev TypeSafe AI's System One model, Jev, returns typed decisions with probabilities from supplied state and questions, letting an application define a bounded answer space and decide how to use the result. Jev accepts text, JSON objects, and arrays, and the AI SDK and AI Gateway's native HTTP API use three answer types: Choice, Score, and Boolean. The name borrows Daniel Kahneman's distinction between fast, intuitive System 1 thinking and slower, deliberate System 2 reasoning, with the developer-facing difference being the interface. Jev is TypeSafe AI's System One model, built to return typed decisions with probabilities from supplied state and questions. Your application defines the possible answers and uses the results in its logic. Jev can supply a routing decision; your code determines whether to act on it.Copy link to headingWhat does System One mean?The name borrows Daniel Kahneman's distinction between fast, intuitive System 1 thinking and slower, deliberate System 2 reasoning. For developers, the relevant distinction is the interface: define a question with a bounded answer space, then decide how the application will use the result.Copy link to headingWhat goes into a bounded decision?Imagine an incident report that says checkout requests are failing after a configuration change. A responder has attached a log excerpt and noted that browsing still works. The team wants to assign the report to an owner without asking someone to read every incoming alert.This is an editorial illustration, not an observed Jev result or a built-in incident-management feature. Start by separating the evidence from the question. The report and log excerpt are evidence. The question might ask which team should investigate, using a predefined list of team names. The application then has an answer it can compare with its routing policy.Jev accepts text, JSON objects, and arrays. For this example, you might prepare a record with the report text and the responder's observations. Include the timestamp of each observation so a later report doesn't appear to describe the same moment. Keep the original wording of uncertain observations. A responder who suspects a configuration problem has supplied a hypothesis, not a confirmed cause.A vague question such as "Handle this incident" leaves too much unspecified. Does handling mean assigning an owner, paging a responder, or changing production? Choosing an owner is a bounded decision because the intended answer has a defined place in the application. Keep the question narrow enough that two reviewers could agree on what a good answer would look like.An array used as state remains one shared state. It doesn't turn the call into a batch of unrelated evaluations. In the incident example, a list of timestamped observations belongs together because each observation concerns the same event. Putting separate incidents in that list would blur which evidence the ownership question refers to. Give each unrelated incident its own evaluation context.Copy link to headingHow should you define the possible answers?Write category descriptions before collecting predictions. For our incident, suppose payments owns failures after a purchase reaches the payment service, while storefront owns failures that prevent the purchase request from leaving the page. That distinction gives reviewers something observable to check. Labels such as urgent and important would overlap and leave ownership unresolved.Include an insufficient-evidence option if your workflow needs one. In this illustration, the report lacks any indication of whether the request reached the payment service. Forcing a choice between payments and storefront would conceal that gap. A review category gives the application a way to preserve it.Keep the question's wording aligned with those categories. "Which team should investigate first?" permits a provisional assignment. "Which team caused the outage?" asks for a conclusion the evidence may not support. Those are different decisions even when both use team names as answers.Copy link to headingWhat kinds of answers can you request?AI SDK and AI Gateway's native HTTP API use Choice, Score, and Boolean.The incident questions map to the following types:TypeMeaningIllustrative incident questionChoiceSelect an optionWhich team owns this investigation?ScoreAssess a rubricHow disruptive is the reported impact?BooleanProbability of truthDoes the report describe failed purchases?The questions serve different purposes. An owner label identifies a destination. An impact rubric needs a definition of disruption, such as whether a customer can finish checkout. The failed-purchase question concerns a particular statement in the evidence. Avoid making one answer stand in for the others: a report assigned to the payments team doesn't establish that customers lost money.Jev evaluates independent questions together.In this illustration, you could ask about ownership and reported impact using the same evidence. Neither question needs the other's answer.Copy link to headingWhat would an inspectable decision trace look like?Continue the hypothetical incident with the same report and an added observation: a responder sees purchase requests reaching the payment service, followed by errors. The conceptual record below uses invented values to make a proposed result inspectable. It is separate from the API response format.Part of the recordHypothetical valueWhat a reviewer can inspectEvidencePurchase requests reach the payment service and failThe attached log excerpt and its timestampQuestionWhich team should investigate first?Whether the question asks for ownership or proven causeAllowed answersPayments, storefront, insufficient evidenceThe team's category definitionsProposed answerPaymentsWhether that choice follows the ownership definitionIllustrative probabilitiesPayments 0.70; storefront 0.20; insufficient evidence 0.10How the assigned probability is distributed over the optionsApplication outcomePut the report in the payments review queueThe application's recorded routing ruleThis record separates a plausible first assignment from a diagnosis. It also makes a later correction understandable. If the log excerpt turns out to concern an earlier deployment, a reviewer can identify the stale evidence that affected the assignment. Keep the evidence with the answer so an owner label doesn't become an unsupported fact when copied into another system.Copy link to headingHow does this differ from structured language-model output?AI SDK evaluation supports native TypeSafe evaluation and adapters for structured-output language models. The adapters put questions together in a prompt; they don't preserve TypeSafe's independent-question semantics.The matching result shape therefore doesn't establish matching evaluation behavior. In our incident example, a team might keep the owner field unchanged while changing the model it points to.That makes the application easier to compare, but reviewers still need to check the resulting assignments. An unchanged field name says nothing about whether the same ambiguous report will receive the same answer.Copy link to headingDoes type safety mean the incident decision is correct?TypeSafe says Jev's outputs conform to the defined schema. That guarantee concerns answer structure. Semantic correctness still needs evaluation.Suppose the allowed owners are payments and storefront. An answer of payments satisfies the type constraint, but if a broken storefront script is the real cause, the investigation goes to the wrong team.Before automating routing, evaluate owner assignments against resolved incidents, including reports with missing evidence or ambiguous ownership. Use those results to choose a routing threshold that balances assignment errors against the workload of human review.When Jev is part of an agent loop, application code owns policy and execution. You might allow a proposed owner to appear in an internal queue while requiring a responder to approve any production change. Put that rule in the application. Selecting an owner should not quietly acquire the authority to roll back a deployment.Copy link to headingWhat are Jev's boundaries?Jev does not generate prose. Use a generative model for a written incident update, with the evidence and any approved decisions supplied separately. A routing answer alone gives the writer no basis to announce that an outage has ended.You can call Jev through Vercel AI Gateway using AI SDK’s experimental evaluation API. The evaluation documentation explains how to send context, define questions, and read the results.Copy link to headingFrequently asked questionsCopy link to headingWhat does System One mean?System One is TypeSafe's name for models that make focused, typed decisions. It refers to the fast-thinking side of Kahneman's distinction between intuitive and deliberate thinking.Copy link to headingDoes Jev write text or code?No. Jev returns constrained answers, so use a generative model when the result needs to be a written explanation or source code.Copy link to headingCan Jev analyze images or audio directly?No. Jev's current inputs are text-based; prepare a text description or transcript before asking it questions about media content.Copy link to headingDoes a typed answer guarantee a correct decision?No. An answer can fit the allowed values and still misinterpret the evidence. Test the decisions against known outcomes before letting them trigger actions.Copy link to headingRelated resourcesRoute form submissions with Jev and AI SDKHow to automatically approve tool calls in eve with JevJev is the fastest-adopted model in AI Gateway historyAI SDK evaluationTypeSafe introductionSystem One conceptsAI Gateway evaluation documentationTypeSafe's introduction to JevClassify, route, and score with JevUse TypeSafe AI's Jev with the AI SDK experimental evaluate API to get typed, probabilistic decisions your code can branch on.Read the guide Interpret Jev's probabilities, confidence, and scores, then test decision thresholds against the cost of mistakes in your application. Place Jev in an AI agent loop for bounded decisions, while application code controls tool permissions, execution, and state updates.