Evals (short for evaluations) are systematic ways to measure an LLM agent’s performance against defined criteria. They play a role similar to software tests: they make quality visible, help teams detect regressions (i.e. performance deterioration), and create a shared standard for “good enough.” However, unlike traditional software tests, evals often combine deterministic checks with human or LLM-based judgment.
Like software testing is key to reliable software, Evals are key to reliable agents. They are therefore particularly critical in high-impact, regulated domains.
🎯 Evals help you:
Align product/research/engineering on a shared definition of quality
Measure progress as you develop an LLM agent
Detect regressions of LLM agents in production
This article outlines a minimal, pragmatic process for building evals that help teams improve and monitor agent reliability. It is based on several references (listed at the end) and own experience.
⚠️ Note:
Evals are meant to make your AI agent reliable - and ensure it stays that way; but they are not the full story. They are orthogonal to other aspects like ROI of building and maintaining the agent in the first place, ensuring cyber-security, etc.
The suggested team sizes and timelines are rough estimates meant to illustrate a pragmatic, cost-effective effort. They are general rules of thumb and are not intended as recommendations for any specific product, deployment, or operational environment. Actual requirements may vary widely depending on the product, risk level, and organizational context.
⚽️ The playbook
1️⃣ Define the product problem & quality criteria precisely
Identify the core outcome and constraints (must/should/must‑not).
Decompose into atomic, measurable criteria (fields, formats, metrics, thresholds): focus on necessities, not nice-to-have.
Appoint a principal domain expert to make final quality calls and cross-check feasibility with a principal engineer.
Output: 1–2 paragraphs problem spec, 5+ success criteria, must-nots.
Team: 1 domain expert + 1 engineer.
Time: 0.5-2 days.
2️⃣ Build a baseline LLM agent & prepare tracing
Implement a minimum-viable agent that can execute the task end-to-end. (Skip if agent already exists.)
Prepare detailed tracing i.e. logs of inputs, outputs, tool calls, retrieved documents, and errors for each step of the agent’s execution. Platforms like LangFuse, LangSmith, LangWatch, W&B Weave, etc. allow you to log traces quite easily. (Skip if tracing already exists.)
Output: Working baseline agent and end‑to‑end trace logging.
Team: 1-2 engineers.
Time: 0–10 days depending on complexity and existing codebase.
3️⃣ Collect and analyze trace failures
Gather/produce real(istic) user prompts/tasks.
Run your current/baseline agent multiple times (e.g. 3 times per prompt/task to detect variability.)
Manually vet 30-100 traces to build a failure taxonomy and business‑critical scenarios to prioritize; For example, failure types can be: retrieval, tool selection/call, reasoning/planning, instruction-following, output format, policy/safety breach, hallucination/grounding - group them by nature but also by type of context/user interaction.
Output: Taxonomy of failure categories + examples.
Team: 1 domain expert + 1 engineer.
Time: 2–4 days (incl. 0.5–1 day for tracing instrumentation).
4️⃣ Implement Eval scorers part 1: deterministic checks (easier)
Translate applicable failure modes into deterministic checks wherever possible (schema validation, exact matches, regexes, tool-call assertions, retrieval assertions, citation presence, policy constraints, and other binary checks).
Keep checks small, precise, and binary (pass/fail) tied to the failure taxonomy.
Prefer many narrow checks over a few broad, fuzzy ones.
Simple notebooks/first CI can be sufficient at this stage, or you can use tracing/evaluation platforms.
Output: 10+ deterministic checks mapped to success criteria as well as top failures.
Team: 1-2 engineers.
Time: 2–5 days.
5️⃣ Implement Eval scorers part 2: LLM judges (harder)
Note: Can be necessary for failures that cannot be captured by deterministic checks, such as tone, correctness, groundedness. But requires careful planning, ground-truth annotation, and alignment analysis (does the LLM judge like I would?): assess the ROI beforehand!
Define a clear rubric with measurable criteria which make human annotation as precise and objective as possible; target binary decisions (pass/fail) with short critiques or few categories at most – avoid continuous scores!
Manually annotate 100+ traces using the rubric.
Consider relying on more than 1 annotator on subjective cases: if agreement is low, rubric needs reworking / take the mode as the truth.
Set up an LLM judge(s): instruct it to judge based on the applicable rubric criterion (easier to have and align one LLM judge per criterion), enforce that it reasons before producing a decision, use a frontier model.
Split your annotations into a "development set" - used to see how the judge does and iteratively improve it - and a "test set" - used after the judge nails the development set, to ensure that it generalizes on unseen cases.
Run the LLM judge(s) multiple times to account for stochastic outputs (e.g. 3+).
Iteratively run alignment analyses (do the LLM judgements match the ground-truth manual annotations?) and improve the LLM judge using the development set; target alignment based on your use case (e.g. ≥ X Cohen’s κ); use the test set once deemed ready - if it fails on test set, review your work (e.g. are the annotations OK?) carefully - but eventually add the test set to the development set, and manually annotate a new test set (otherwise, you'll have no confidence that the LLM judge generalizes!)
Note: if an LLM judge does not suffice and you need an Agent judge (e.g. to access ground-truth info via tools), then you must validate the Agent judge - typically requiring more effort (since it is more complex and can fail in multiple steps: retrieval, tool calls, etc. - just like the agent you're building the evals for!)
Output: Rubric with criteria for both humans and LLM judges; dataset of 100+ annotations;
Team: 1-3 domain experts + 1-2 engineers.
Time: 3–15 days.
6️⃣ Curate a small, high‑signal Eval dataset
Gather 100–300 tasks spanning critical scenarios and known failures (from step 3️⃣); keep items auditable.
If applicable, include constraints and allowed tool lists in task specs; avoid vague goals.
If needed, add light synthetic coverage where real data is scarce or to simulate stylistic variants; Note: Synthetic data must be generated with care, giving clear instructions and examples to the LLM generator; human spot‑checks are essential to ensure quality and relevance.
Split into development/test sets (not to be confused with LLM judges' ones)
Output: Evaluation development and test sets covering task taxonomy; possibly supplemented with synthetic data.
Team: 1-3 domain expert + 1 engineer.
Time: 2–10 days.
7️⃣ Operationalize and iteratively optimize the agent
Integrate eval scorers and development set with the agent improvement attempts (e.g. on PR merge); running a same dataset task 3+ times to account for stochastic agentic behavior.
Use Eval results to guide changes to the agent (prompts, models, RAG, architecture, …); re‑execute step 3️⃣ to discover new edge cases; improve Eval scorers, dataset and agent iteratively as necessary.
When the development set performance is satisfactory: assess on the test set - if performance is insufficient, add the test set to the development set and prepare a new test set.
Keep the authoring circle small to maintain clarity and speed.
Output: Improved agent and evals; tracked improvements tied to specific failures.
Team: 1 engineer + 1 domain expert.
Time: 2–5 days initial; ongoing weekly iterations.
8️⃣ Migrate to a scalable and future-proof Eval suite
If you haven't yet, consider migrating to (or building your own) Evals platform (e.g. LangSmith, LangWatch, LangFuse, Weave, …).
Start tracking additional metrics such as nice-to-have e.g. token usage, costs, latency, etc.
Produce relevant dashboards that allow to communicate results to a wider audience of stakeholders
Convert high‑pass, stable tasks into near‑100% regression tests.
Consider investing into replacing frontier LLM judges with cost-effective variants (check for regressions).
Set up policies to monitor drift & re-calibration needs: e.g. when and how to refresh the Eval task dataset, when and how to assess LLM judge alignment.
Output: Scalable, future-proof Eval workflow and dashboards for key and nice-to-have metrics.
Team: 1–2 engineers.
Time: 3–10+ days.
9️⃣ Monitor in production and iterate
Continuously sample production traces; monitor for significant changes in your Eval scores - at some point, you may need to update your agent - and Evals too.
Periodically hunt for new failure modes, periodically refresh Eval tasks and re‑calibrate LLM judges to human ratings (step 3️⃣ onwards).
Eventually the agent must bring clear business value: run the old-but-gold A/B tests (does the new agent result in a statistically superior outcome than the baseline?), customer analyses (surveys, data analyses on financials or retentions or acquisitions, etc.) to ascertain that your agent is bringing the desired ROI - and that the Evals are indeed aligned with what matters.
Output: Performance degradation alerts (e.g., -X% regression on key checks), updated taxonomy, refreshed tasks, business value alignment.
Team: 0.2–0.5 FTE (engineers and domain experts as needed).
Time: ongoing; for example: weekly/monthly trace reviews (100–200 samples), monthly/quarterly judge calibration (50–100 items), quarterly suite refresh.
📚 References
This playbook relies on the following excellent references, listed in no particular order:
Anthropic Engineering, Demystifying evals for AI agents, Jan 9 2026. https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents (Opens in a new window)
Daniel D. McKinnon, Show, Don’t Tell: A Llama PM’s guide to writing GenAI evals, Mar 30 2025. https://www.ddmckinnon.com/2025/03/30/show-dont-tell-a-llama-pms-guide-to-writing-genai-evals/ (Opens in a new window)
Hamel Husain & Shreya Shankar, LLM Evals: Everything You Need to Know, Jan 15 2026. https://hamel.dev/blog/posts/evals-faq/ (Opens in a new window)
Antonio Castelli, AI Agent Evaluation: practical tips at Booking.com (Opens in a new window), Jan 21 2026. https://booking.ai/ai-agent-evaluation-82e781439d97 (Opens in a new window)
George Chouliaras, LLM Evaluation: Practical Tips at Booking.com (Opens in a new window), Aug 12 2025. https://booking.ai/llm-evaluation-practical-tips-at-booking-com-1b038a0d6662 (Opens in a new window)
George Chouliaras, Beyond Evals: A Maturity Framework for Production GenAI Systems, Mar 18 2026. https://www.linkedin.com/pulse/beyond-evals-maturity-framework-production-genai-chouliaras-5w3ne/?trackingId=Et8skMHMQPyb5yL6jjbehA%3D%3D (Opens in a new window)
Rogerio Chaves, LLM Evaluations Explained: Experiments, Online Evaluations, Guardrails, 2026. https://langwatch.ai/blog/llm-evaluations-explained-experiments-online-evaluations-guardrails-and-when-to-use-each-in-2026 (Opens in a new window)
Edit 19 Mar 2026:
Updated notes, updated references, corrections (thank you Giovanni Cinà (Opens in a new window))