USE WHEN
When to use this experiment
You have a defined set of routes and want unclear cases to pause for review.
TASK / ROUTING · R04
Enter a task to see which route Jev selects and whether your app rules allow that route or require review.
YOUR INPUT
Edit the example input
RESULT
Jev’s answers
Model choice: Fast textApp path: Fast text
Provider confidence: 71%
Probability-weighted rubric position, not a percentage or confidence score.
A direct lookup or tiny transformation
A simple bounded text operation
Several related steps
Substantial analysis with interacting constraints
A complex plan with many uncertain or dependent steps
Provider confidence: 53%
The model evaluates. Deterministic policy code decides the displayed application path.
QUESTIONS FOR JEV
Edit the questions
Editing a question requires a new model run. Each experiment keeps its answer types, options, and scoring scale fixed.
APP RULES
Change how your app uses the answer
↯ Changing these rules updates the result in your browser without another model call.
{
"origin": "fixture",
"answers": {
"route": {
"type": "choice",
"choice": "fast-text",
"probabilities": {
"fast-text": 0.82,
"deep-text": 0.13,
"image-tool": 0.01,
"human-review": 0.04
}
},
"complexity": {
"type": "score",
"score": 1.2,
"probabilities": {
"0": 0.03,
"1": 0.76,
"2": 0.15,
"3": 0.05,
"4": 0.01
}
},
"externalSideEffect": {
"type": "boolean",
"probability": 0.04
}
},
"providerConfidence": {
"route": 0.71,
"complexity": 0.53
},
"policyDecision": {
"action": "fast-text",
"label": "fast text",
"reasonCodes": [
"route-thresholds-cleared"
]
},
"run": null
}import { experimental_evaluate as evaluate } from 'ai';
const state = {
"task": "Write a two-sentence release announcement from these supplied facts.",
"routingContext": "Choose a text route for a low-risk task using the facts already supplied. Do not execute anything."
};
const questions = {
"route": {
"type": "choice",
"instructions": "Which allowed route matches this task and the routing context?",
"criteria": {
"fast-text": "A small bounded text task needing little reasoning",
"deep-text": "A text task requiring substantial analysis or multi-step reasoning",
"image-tool": "The primary request is to create or edit an image",
"human-review": "The task requires authority, consequential side effects, or clarification"
}
},
"complexity": {
"type": "score",
"instructions": "How much reasoning complexity is explicit in this task?",
"criteria": [
"A direct lookup or tiny transformation",
"A simple bounded text operation",
"Several related steps",
"Substantial analysis with interacting constraints",
"A complex plan with many uncertain or dependent steps"
]
},
"externalSideEffect": {
"type": "boolean",
"instructions": "Does the task request a consequential change outside this playground, such as sending, paying, deleting or changing permissions?",
"criteria": {
"true": "The task explicitly requests such an external side effect.",
"false": "It only requests analysis, drafting or a sandbox demonstration without an external change."
}
}
};
const policy = {
"minSelectedProbability": 0.75,
"minProviderConfidence": 0.4,
"sideEffectReviewThreshold": 0.65
};
const result = await evaluate({
model: 'typesafe-ai/jev',
state,
questions,
maxRetries: 0,
providerOptions: { gateway: { zeroDataRetention: true } },
});
// Validate result.answers before applying your deterministic policy.
console.log({ answers: result.answers, policy });
USE WHEN
You have a defined set of routes and want unclear cases to pause for review.
LIMITS
You need the playground to call a downstream model or perform an external action.
BUILT-IN CHECKS