You are not measuring “AI quality.”
You are collecting repeatable evidence about one behavior so you can make one decision.
Question+ Real cases+ Grader+ Decision rule= Eval
Plain English. Five minutes.
A repeatable way to find out whether your AI does the thing you need—well enough to make a decision.
No benchmark worship. No judge model required. Start with one failure you actually care about.
01The answer
You are collecting repeatable evidence about one behavior so you can make one decision.
Question+ Real cases+ Grader+ Decision rule= Eval
02One example
“Is our coding agent good at JavaScript?”
“Does this retry patch cap the delays, reject invalid inputs, and preserve the original tests?”
Implement exponential retry delays with a maximum delay.
5 attempts, starting at 1 second, capped at 4: expect [1, 2, 4, 4, 4].
Run JSON cases, rerun the original tests, and compare the protected test file.
Accept only if the behavior passes and every protected test is preserved.
One stored patch removes a check it cannot pass. Run both patches and follow the evidence to see why that matters.
Inspect the patches and run the checks →03The loop
Describe observable behavior: “invents a refund policy,” not “is unreliable.”
Ship it, keep the baseline, investigate, or fix and rerun. If nothing could change, you may not need an eval.
Include normal use, costly failures, and meaningful edge cases. A small set is for learning—not proving universal quality.
Write what must happen, what must remain true, and what evidence will establish it.
Keep failures, timeouts, and invalid runs. Inspect individual cases before averaging anything.
04Pick a grader
| Software can prove it | Use code. Tests, assertions, schemas, parsers, runtime checks, or exact rules. |
|---|---|
| People could disagree | Use humans. Give reviewers a specific rubric, examples, and room to preserve disagreement. |
| You need judgment at scale | Use an LLM judge carefully. Calibrate it against independent human labels before trusting it. |
| You need both | Use a hybrid. Let direct checks cover correctness and humans cover ambiguous qualities. |
A grader is not truth. It is an instrument. Every instrument can be wrong.
05Common traps
“We need 90% accuracy” is not a failure definition.
One lucky output does not prove reliability.
A 92% score can still hide a security regression.
Tests can be wrong. Humans disagree. Model judges have biases.
Ten prompts can teach you plenty. They cannot describe your whole product.
Your first eval can be a spreadsheet and a script.
06Try an eval
Run a small coding eval in your browser. Change a JSON case and rerun it. Take the same cases and grader with you.
Two fixed teaching patches. The checks execute; no AI model is called.
[
{
"id": "delay-stops-at-cap",
"input": {
"attempts": 5,
"base_seconds": 1,
"cap_seconds": 4
},
"expected": [1, 2, 4, 4, 4]
}
]
JSON holds the cases. JavaScript runs the checks. The Markdown README explains how to use them.
07Behind the page
Read the reasoning behind the guide, including what each source can and cannot establish.
Turn a broad concern into concrete cases. A hand-built suite does not tell you how often users encounter each failure.
Probe a model judge’s biases and suitability for your task. Agreement with human preferences does not establish correctness.
Execute checks against the changed code and existing behavior. Passing tests cannot establish every property of a patch.
Ads are currently disabled. Google provides the consent controls for any future advertising.
Privacy choices require JavaScript and access to Google’s consent service.
US privacy choices, when applicable, appear in Google’s “Do not sell or share my personal information” link on this page.