Skip to main content
Back to blog

By Roland CadavosAI evaluation

Evals Are the New Tests: Measuring Agents Before You Trust Them (2026)

Shipping an agent without evals started to feel like shipping code without tests. The teams that stayed sane in 2026 turned real failures into graded datasets and wired them into CI.

By June 2026, a quiet consensus had formed: you could not responsibly ship an AI feature you could not measure. Vibes-based iteration—tweak the prompt, eyeball a few outputs, deploy—worked for demos and fell apart in production, where the same prompt met inputs nobody imagined. Evals became the discipline that separated teams who improved their agents from teams who merely changed them. The framing that stuck was blunt: evals are the new unit tests, and an untested agent is a liability, not a feature.

The mechanics were less exotic than the name suggested. An eval was a dataset of representative inputs, an expected behavior or rubric, and a grader that scored the output. Some graders were deterministic—did the JSON parse, did the tool get called, did the answer contain the required field. Others used a model as judge against a rubric, which was powerful and treacherous in equal measure. The craft was choosing the cheapest grader that still caught the failures you cared about.

The hard part was that agents are probabilistic, so the testing instincts developers brought from deterministic code misfired. You could not assert exact string equality against a paragraph of prose; you set thresholds, tracked pass rates, and watched for regressions across a suite rather than demanding a green checkmark on every case. A single flaky output was noise; a two-point drop in aggregate pass rate after a prompt change was signal. Teams learned to read distributions, not individual runs.

The best programs started from real failures, not imagined ones. Every production incident, angry support ticket, and “why did it do that?” Slack thread became a candidate row in a golden dataset. That grounding kept evals honest: they measured the ways the system actually broke for actual users, instead of the tidy cases that were easy to write. Over months, the dataset became a institutional memory of every mistake the team refused to repeat.

The pitfalls were real and mostly human. Overfitting to the eval set produced agents that aced the suite and failed in the wild, so teams held out fresh cases and rotated examples. LLM-as-judge introduced its own biases—verbosity preference, position effects, sycophancy—so serious teams spot-checked the judge against human labels before trusting its verdicts. And any metric on a dashboard eventually gets gamed, so the definition of “good” had to be revisited, not frozen.

Organizationally, evals forced product and engineering into the same room. Someone had to decide what “correct” meant for a fuzzy task, and that someone was usually a product owner with domain knowledge, not the engineer wiring the harness. The healthiest teams shared ownership: product defined the rubric, engineering automated the runs, and both watched the same dashboard when a model update or prompt change moved the numbers.

None of it was free. Running a large eval suite on every change cost tokens and wall-clock time, so teams tiered their runs: a fast smoke set on each PR, the full suite nightly or before releases. That mirrored how mature codebases treat test pyramids, and the reasoning was identical—fast feedback where it is cheap, thorough coverage where it matters, and no pretending the expensive tier is optional.

The niche takeaway for senior developers: evals encode your definition of quality in a form the whole team can argue with and improve. Invest in them early, seed them from real failures, and treat the suite as a living asset rather than a launch-day checkbox. In 2026, the teams that could say “here is the number, here is how it moved” shipped agent features with confidence; everyone else shipped hope.