How a run is judged
Once a run endscompleted, a model reads the scenario’s prompt and what the run recorded: the agent’s messages, its reasoning, every tool call and command it ran, and what they returned. It answers each evaluation from that record alone.
This has three consequences:
- The judge sees only what the agent did. It doesn’t open the repository afterwards or run anything. To check that tests pass, the agent must have run them.
- Claims don’t count. “All tests pass”, written by the agent, is not proof. The output of the command that ran them is.
- Unclear means no. When the record doesn’t show a criterion was met, the evaluation fails.
failed or time_limit, is not judged. Neither is one whose record is too long to read. Judging is free: it doesn’t count against a run’s budget.
Write good criteria
- One thing per evaluation. “Did the agent add the tool and is the build green?” fails for two different reasons; split it in two.
- Ask a yes-or-no question. Start with “Did the agent…” or “Does…”.
- Name what to look for: the file, the command, the tool, the exact value.
- Check something visible in the record: a command and its output, a file written, a tool called.
- Judge the result, not the style. “Is the code clean?” gets a different answer every time.
Keep how a run is judged out of the prompt: the prompt says what to do, evaluations say what done looks like.
Weights and passing score
Each evaluation has a weight, 1 unless you set one. A run’s score is the weight of the evaluations it passed out of the total weight, times 100. With three evaluations weighted 2, 1 and 2, a run that passes the first and last scores 4 out of 5: 80. A scenario’s pass policy turns the score into a verdict:- Every evaluation passed, the default: the run passes only when it passes all of them. Leave out
passing_score. - Passing score: the run passes when its score reaches it, from 0 to 100. Set
passing_score.
Import them from a document
Already have a test plan, a spec or a checklist? In the web app, a model can write scenarios and evaluations from it, in its words:- Experiments → New experiment → From a document creates an experiment with the scenarios and evaluations the document describes.
- Import in an experiment’s scenarios adds scenarios to it; Import in a scenario’s evaluations adds evaluations to that scenario.
Check your evaluations
Launch a small execution first, one repetition, and read a few runs’ evaluation results:tracks runs events <run-id>, or open the run in the web app, and reword the question. See Reading results.