Eval-Driven Development

Build evals before building features — you cannot improve what you cannot measure, and you cannot trust improvements you have not defined a measurement for.

What it is

Eval-driven development (EDD) applies the test-driven development discipline to agentic and LLM-based systems: define the evaluation criteria before building the capability, build the eval harness that measures against those criteria, and then implement the capability until it passes. The eval is the specification made executable. Without an eval, capability development proceeds by intuition and informal inspection — the developer runs the system, looks at the output, and decides it "looks right." This works for demos and fails at scale because "looks right" cannot be automated, reproducibly measured, or tracked across model changes, prompt changes, or data distribution shifts. Evals make improvement legible: you can say "this change improved success rate on the test set from 71% to 84%" and mean it. They also make regression visible: a change that breaks previously-passing evals is visible immediately rather than discovered in production. Building evals first forces the developer to define success concretely — the same discipline that writing tests first forces concrete interface design. If you cannot write the eval, you do not yet know what the capability is supposed to do.

When to reach for it

When NOT to

Exemplars

Related