Summarize with AI:
AI agent evaluations are repeatable checks that show how often an agent actually works, not just whether it worked once in a demo.
How do you know your AI agent actually gives users the right answers? Probably because it impressed everyone in a demo. Let’s say your support assistant answered every question your team threw at it before launch. Then real customers show up with vague questions, outdated account details and systems that time out halfway through a request. The assistant keeps answering just as confidently, and roughly one answer in 10 is wrong. Confidently wrong, which is the worst kind.
None of that showed up in the demo, because a demo only proves an agent can work. It can’t tell you how often it works. That matters more with every prompt tweak and model upgrade you ship, because each change can quietly fix one thing and break another. Chances are, your team ships those changes on gut feel, and the real question is how you’d know whether a change made your agent better or worse.
AI agent evaluations are repeatable checks that measure an agent or LLM application against defined cases and success criteria. The key word is repeatable, because an evaluation suite nobody reruns is just a fancier demo.
An evaluation can check more than what the agent finally says. It can also check how the agent got there:
Scoring only the final answer misses a lot. A booking agent might rebook a customer’s flight correctly but cancel the original reservation first, leaving that customer without a seat for 10 very long minutes. The final state may look correct, but the execution path can still reveal risk.
Traditional tests work well when there’s a clear right or wrong answer. But AI-generated responses are more complicated because an answer can be worded differently and still be correct—or sound perfectly reasonable while containing inaccurate information.
Traditional tests should be used to check predictable things like parsers, schemas, permissions, calculations and API responses. They have specific expected results.
AI-generated answers require a different kind of testing. Two answers can use different words and be equally correct, while one polished answer can contain an unsupported claim. Traditional tests can’t reliably compare these actual outputs against expected results.
Let’s say you revise the support assistant’s prompt and its answer-quality score goes up. The responses even sound more helpful, but the assistant no longer uses the required escalation tool for unusual account-recovery requests.
If you only evaluate the first response, you might miss that failure altogether. Even though the assistant sounds like it’s doing a better job, it’s skipping an important step in the workflow. A traditional test might miss this.
And, because AI responses aren’t always consistent, the same prompt and input can produce different answers in different runs. So a test that passes today could fail tomorrow.
That’s why testing AI applications requires more than checking whether an output matches an expected result. You also need to evaluate the accuracy of generated responses, whether the AI follows the required workflow and how consistently it performs across repeated runs.
Warning: One run of one case only proves the agent got lucky once. Run important cases several times and watch the spread of scores, not just the average.
An evaluation workflow uses five connected parts to show which cases a change improved and why.
| Part | What It Tells You |
|---|---|
| Dataset | Which representative requests, edge cases and known failures the agent must handle |
| Experiment | How one prompt, model or workflow version performs against the same dataset |
| Evaluator | Whether each run passes a deterministic check, an LLM-based rubric or human review |
| Trace | What happened during the run, including model calls, retrieved source material, tool calls and outputs |
| Review | Why failures and borderline scores occurred, especially in high-risk cases |
With scores connected to traces, a drop in answer quality can help you investigate which step contributed to it. The OpenTelemetry generative AI conventions standardize how those traces and scores get recorded.
To make that concrete, here’s a small dataset row for an account-support agent:
{
"input": "Can I reset MFA for a former employee?",
"expected_behavior": [
"refuse the unauthorized reset",
"route the user to the approved recovery process"
],
"tags": ["account-access", "high-risk"]
}
Run the same row against Prompt A and Prompt B. Score both outputs, then inspect the traces when the scores disagree. Record the prompt, model, evaluator and dataset versions with the experiment, or nobody will be able to reproduce the winning score later. “It scored better last Tuesday” isn’t evidence.
Tracking all those versions by hand gets old fast. Progress Agent Engineering builds that record keeping into its datasets and experiments, so each experiment names the dataset version it ran against.
Pro Tip: Use deterministic checks for facts a machine can verify, then save qualitative evaluators and human review for questions of meaning and risk.
LLM-as-a-Judge uses an evaluator model to apply a written rubric to an output and return a score with a rationale. The rubric might cover relevance, safety or groundedness, meaning whether the source material supports the answer.
The same research shows judges tend to favor the first answer, the longer answer or answers from their own model family. Left alone, a judge rewards the longer answer the way some managers reward the longer report. One cheap test for position bias is to run every comparison twice with the answers swapped and only count wins that survive the swap.
One model grading another can also repeat model errors at scale. Consider human review for high-risk cases, low-confidence scores and disagreements to provide additional oversight of automated evaluations.
For a support assistant, a groundedness rubric could require every factual claim to match the supplied policies. Define what counts as support, show examples at each score and require the judge to name the unsupported claim. “Looks accurate” leaves the judge guessing, and a guessing judge is just a demo with a score attached.
In Agent Engineering, an evaluator template holds the judge’s instructions, scoring criteria and model, and each score comes back with an explanation.
Pro Tip: Before trusting a judge, have a person score a few dozen of the same outputs and compare. If the two disagree often, fix the rubric before you scale it.
Evaluations can assess retrieval-augmented generation (RAG) and tool-using agents by scoring each step separately in addition to the final answer. RAG looks up relevant documents and hands them to the model before it answers.
When a support answer leaves out an important policy detail, the Retrieval-Augmented Generation Assessment (RAGAs) evaluation framework scores retrieval and answer quality separately. The trace can provide information that helps you investigate whether retrieval missed the relevant policy, the prompt obscured the relevant passage or the model did not use it.
Tool-using agents need the same step-by-step check. If an agent skips an escalation, the trace may help identify the missing step even when the final answer reads fine. Where possible, run tool-using cases against recorded or mocked tool responses. Otherwise, you risk measuring the API’s reliability instead of the agent’s performance.
Start small by picking one high-impact workflow and collecting 20 to 50 cases from requirements, edge cases and known failures. Define a few success criteria. Use exact checks wherever possible, and add an LLM judge only where meaning must be assessed.
Review the failures before adding more metrics. Ten scores nobody investigates are dashboard decoration.
Once the agent ships, keep evaluating. A dataset built before release describes the users you expected, not the ones you got. Because model output is nondeterministic, one passing run does not prove the same case will keep passing. Prompts, models, retrieved information and tool responses also change over time, so quality can regress after release even when the prerelease suite was green.
NIST’s report on post-deployment AI system monitoring makes the same point: pre-release tests can’t cover everything production throws at you. Sample production traces, evaluate their quality and turn useful failures into regression cases for future releases.
Agent Engineering evaluation tasks can score traces you’ve already collected or new ones as they arrive.
Feed each useful production failure through the same improvement loop:
Every failure you keep makes the next release harder to break the same way.
So how do you know whether a change made your agent better or worse? Before the next release, choose one high-impact workflow, save its representative failures as a dataset and rerun that dataset after every prompt, model or workflow change. This gives you a consistent way to measure whether each change improves performance or introduces regressions. A convincing demo shows what’s possible. Evaluations help you assess what’s reliable.
Explore Progress Agent Engineering plans for tracing, LLM-as-a-Judge evaluations, datasets and experiments.
Adam Bertram is a 25+ year IT veteran, former Microsoft MVP and self-employed consultant who helps organizations replace repetitive manual work with generative AI automation and agent-based workflows. He’s a successful blogger, consultant, trainer, published author and freelance writer for dozens of technology publications.