Skip to content
AI Observability Updated Jul 30 2026

LLM Evals: What They Are and How to Get Started

LLM Evals: What They Are and How to Get Started
AUTHOR | Virna Sekuj

TL;DR:

  • LLM evals are a structured way to grade an AI system’s outputs against a standard of quality, the discipline that turns the assumption the AI is working into proof.
  • Every eval has three components: a test case, a response, and a grader (code-based, human, or LLM-as-a-judge).
  • Offline evals gate what you ship; online evals catch quality decay in production. You need both.
  • Agents raise the bar because you have to evaluate the entire trace, not just the final answer.
  • Start small; a few dozen realistic test cases beat a large, unfocused set.

Imagine hiring someone for a critical role, letting them start the job, and never once checking their work. Most companies would never operate this way with a human employee, yet that’s effectively how a lot of teams have shipped their first LLM-powered features. They build, deploy, and hope for the best.

As enterprises have raced to deploy agentic systems, the cost of that approach has now become measurable. Gartner, for example, projects that more than 40% of agentic AI projects will be scrapped by the end of 2027, citing escalating costs, unclear business value, and inadequate risk controls. These are exactly the failure modes a good evaluation practice is designed to surface early.

LLM evaluations, or evals, are one tool that engineering teams use to close that gap between deployment and performance visibility. 

What Is an LLM Eval?

An LLM eval is a structured way to grade a language model’s output against a defined standard of quality: you give the system an input, capture what it produces, and score that output using a rule, a separate model, or a person.

The complexity comes from LLMs being non-deterministic. Ask a traditional piece of software to add two numbers and it returns the same answer every time. Ask a language model the same question twice, however, and you might get two different but equally reasonable answers. 

Traditional software tests are built around a simple contract: given input X, expect output Y. That contract breaks down when Y becomes a range of acceptable outputs, not just a single “correct” one.

With evals, you’re not checking for an exact match. Rather, you’re checking for qualities. Is it accurate, for example? Is it relevant? Did it follow the format you asked for? Did it avoid saying something it shouldn’t have?

The 3 Components of an LLM Eval

Every eval setup is built from the same three ingredients:

3 Components of an LLM Eval
3 Components of an LLM Eval
  • A test case. A realistic input that reflects how the system gets used in the real world, not a cleaned-up version of the question a person might actually ask. If you’re evaluating an internal IT support assistant, a good test case looks like “My laptop won’t connect to the VPN after the update,” not a sanitized version of that question.
  • A response. Whatever the model or application produced when given that test case. For a simple chatbot, this might just be a paragraph of text. For an agent that takes actions, it could be a whole sequence of tool calls, retrieved documents, and intermediate reasoning steps before it arrives at a final answer.
  • A grader. The mechanism that scores the response. Graders generally take one of three forms, and mature setups blend all three. Cost is often the deciding factor in how that blend gets weighted.
Grader typeHow it worksCost & scaleWhat it catchesBest for
Code-based assertionsDeterministic checks written as code (e.g., did it include a required disclaimer, stay under a character limit, call the right function with the right parameters?)Cheap; runs at any scaleObjective, rule-expressible failuresAnything you can pin down with exact logic
Human reviewA person reads the output and judges it against your standardExpensive; doesn’t scale past a handful of reviewersNuance and problems no automated check would think to look forHigh-stakes or ambiguous cases, and calibrating other graders
LLM-as-a-judgeA separate model scores the output against a rubricModerate; scales well once set upNuanced quality a rule can’t capture — once calibratedScaling judgment after spot-checking its scores against humans

LLM-as-a-judge sits between code-based assertions and human review. It’s cheaper than a human team and more flexible than a rule, but only trustworthy once you’ve spot-checked its scores against real human judgment on a sample of cases. Without that calibration, a judge model’s scores gradually lose their meaning.

Choosing an Eval Grader: Scale vs. Nuance
Choosing an Eval Grader: Scale vs. Nuance

A Worked Example: Evaluating an Expense-Report Agent

Consider an expense-report assistant whose job is to read a submitted receipt and decide whether to auto-approve it, flag it for review, or reject it. Here’s how the three components work in practice:

  • Test case: A receipt for a $340 client dinner with five attendees, submitted the same week as the trip.
  • Response: The assistant approves it automatically and logs it as within policy.
  • Grader in action: A code-based assertion checks whether the dollar amount falls under the auto-approval threshold for meals (it does). A second assertion checks whether the required attendee count was logged (it was). An LLM-as-a-judge grader then reads the free-text justification the assistant wrote and scores it against a rubric asking, “Does this explanation reference the correct policy clause, and would a human auditor find it satisfactory?”

If the code checks pass but the judge grader flags the explanation as vague or unsupported, you’ve caught a failure that neither check alone would have found: an approval that was technically within policy but poorly justified. This is the kind of thing that causes problems in an actual audit.

Offline vs. Online LLM Evals

It helps to separate evals into two different moments in the life of an AI feature.

  • Offline evals happen before anything reaches a real user. You run a curated set of test cases through a new prompt, model, or agent configuration and check the scores before you ship. This is where you catch regressions: did the new version get worse at handling refund requests even though it improved somewhere else? Offline evals are your gate before deployment.
  • Online evals happen continuously, against real production traffic, after launch. Real users ask things you never anticipated, in phrasing you never tested, and the world your system operates in keeps changing. A score that looked great on a controlled test set can decay over weeks as usage patterns shift or an upstream data source changes shape. Online evals catch that decay before a customer has to point it out to you.

Passing offline evals is not the same as being safe in production, and this gap is well documented. A June 2026 VentureBeat survey of enterprise teams found that half had shipped an AI feature that passed internal evaluations yet still caused a customer-facing failure. Meanwhile, only 5% said they fully trust the automated evals informing their release decisions. 

Teams that only run offline evals have no idea how a feature actually performs once real users get their hands on it. Teams that only run online evals are shipping changes with no way to know, ahead of time, whether they’ve made things better or worse. You need both.

How to Evaluate LLM Agents (and Why It’s Harder)

A single-turn chatbot answering a question is one thing to evaluate, but an agent that plans a multi-step task, calls several tools, and retrieves data from different systems is another animal entirely.

With an agent, the final response might look perfectly reasonable while the path that led to it was completely wrong. Picture a scheduling agent asked to book a conference room for a Thursday meeting. It might return a confident, well-formatted confirmation while, under the hood, it queried the wrong calendar, misread a time zone, or booked a room already reserved by another agent. If you only grade the final answer, you’d never catch it.

This is why evaluating agents increasingly means evaluating the entire trace: every tool call, intermediate decision, and piece of retrieved context, not just the last message the user sees. It also means treating reliability and trust as an ongoing engineering problem rather than a one-time launch checklist. 

As more of the real work in a business gets handed to autonomous or semi-autonomous agents, the question stops being “did the model produce a nice-sounding sentence” and becomes “did the agent do the right thing, for the right reason, and can we prove it after the fact.” That’s a much closer cousin to production observability than to traditional QA.

Practitioners are converging on the same conclusion. In Monte Carlo’s survey of enterprises building agents in production, 73% said they won’t ship an agent without monitoring and alerting in place, and 53% expected to significantly redesign agents they’d already deployed. Agents aren’t something you launch and walk away from. This is exactly why teams need visibility into what their agents are actually doing at every step, not just what they output at the end.

Evaluating the whole agent trace, not just the answer
Evaluating the whole agent trace, not just the answer

Common LLM Eval Mistakes to Avoid

A handful of mistakes show up often enough to call out directly.

  • Letting the test set go stale. A set of test cases built at launch reflects what users were asking at launch. Many months later real usage will have drifted, and a stale test set will keep reporting a clean bill of health while missing entirely new categories of failure.
  • Letting the judge grade its own homework. If the same model configuration that generates your rubric also scores against it, you can end up with a system that looks internally consistent while drifting from what a human would actually consider acceptable. Rubrics and grading criteria need periodic checks against real human judgment, not just against themselves.
  • Grading only the final answer. Especially risky for agents. A polished final response can mask a broken process underneath it, and by the time that shows up as a customer complaint, it’s already cost you something.
  • Treating evals as a launch gate instead of a habit. An eval suite that runs once, right before shipping, catches a single moment in time. Systems drift, upstream data changes, and models get swapped out. Evals need to run on a schedule, not just at a milestone.

How to Get Started With LLM Evals

Teams new to evals often make one of two mistakes: they skip evals entirely, or they try to build an elaborate evaluation platform before writing a single test case. Neither serves you well. A more practical starting point:

  1. Read real outputs before you measure anything. Spend time reading through a batch of recent responses from your system. It’s the step most commonly skipped, and it’s where you’ll discover the failure modes worth measuring rather than guessing them.
  2. Write down what “good” means for your specific use case. Generic quality metrics rarely work well for a specific product. A rubric built around your actual failure modes, in your actual domain, will always outperform a borrowed one.
  3. Start with a small, high-signal test set. You don’t need thousands of test cases to begin. A few dozen carefully chosen examples that cover your known edge cases will teach you more than a massive, unfocused dataset.
  4. Automate what you can, and keep a human in the loop for what you can’t. Let code-based checks handle the objective stuff. Save human judgment for ambiguous cases, and use it to calibrate any model-based grader you introduce later.
  5. Treat evals as a living process, not a one-time project. New failure modes will surface once you’re live. Your test set and your rubric need to grow along with them.

Frequently Asked Questions About LLM Evals

What is an LLM eval? An LLM eval is a structured way to grade a language model’s output against a defined standard of quality. You give the system a realistic input, capture its response, and score that response using a code-based rule, a separate model (LLM-as-a-judge), or a human reviewer.

What is LLM-as-a-judge? LLM-as-a-judge is an evaluation method where a separate language model scores another system’s output against a rubric. It scales far better than human review and captures nuance that rigid rules miss, but it has to be calibrated against human judgment on a sample of cases before you trust it to run unsupervised.

What’s the difference between offline and online evals? Offline evals run before launch on a curated test set to catch regressions and gate what you ship. Online evals run continuously against live production traffic to catch quality decay after launch. Offline tells you whether a change is safe to ship; online tells you whether it’s still working once real users arrive. Robust teams do both.

What LLM evaluation metrics should I track? The most useful metrics are the ones tied to your specific failure modes rather than generic scores — for example, factual accuracy, relevance, format adherence, safety/policy compliance, and (for agents) whether the correct tools were called in the correct order. Start from the failures you actually see in real outputs, then define metrics that measure them.

Do I need evals before launch, or can I add them later? Start before launch if you can, even in a lightweight form: a small set of test cases built from realistic inputs will catch obvious regressions before real users do. But it’s also better late than never — adding evals to an existing feature is still worth doing, and usually gets easier once you have real production traffic to learn from.

How many test cases do I need to get started? Fewer than most people expect. A few dozen carefully chosen examples that reflect your known edge cases will teach you more than a large, unfocused set. Grow the set over time as new failure modes appear.

Is LLM-as-a-judge reliable enough to trust? It can be, but only with calibration. Treat a judge model the way you’d treat a new hire: check its scoring against human judgment on a sample of cases before trusting it to run unsupervised, and recheck periodically as your rubric or use case evolves.

How is evaluating an agent different from evaluating a chatbot? A chatbot produces one response to grade. An agent produces a sequence of decisions, tool calls, and intermediate steps before arriving at a final answer — and that final answer can look fine even when the underlying process wasn’t. Agent evaluation generally needs to inspect the full trace, not just the last message.

Why LLM Evals Matter

The teams that get the most value from evals treat them as a continuous feedback loop, not a box to check before launch. Every failure a user encounters is a signal. Every near-miss caught in testing is a test case for tomorrow.

The stakes are only rising. Gartner has projected that 30% of generative AI projects would be abandoned after proof of concept by the end of 2025, and that agentic projects will fare worse. As more organizations move from experimenting with LLMs to putting agents in charge of real, consequential work, that feedback loop stops being a nice-to-have. It becomes the mechanism by which teams earn the right to trust their AI systems with more autonomy — and the way they catch it fast when that trust has been misplaced.

Recommended for you