01 - What Is LLM Evaluation, and Why Do It Before You Ship?
LLM evaluation is the practice of measuring whether a feature built on a language model does its job, on inputs that look like your real users' inputs, before those users see it. It replaces "it looked good when I tried it" with a repeatable score you can compare across prompt edits, model changes and retrieval tweaks.
It matters before launch because model output varies. The same prompt can produce a good answer, a slightly wrong one and a confident fabrication on three similar inputs. Without an evaluation set, you find out which is which from customer complaints.
A useful LLM evaluation setup has five parts, covered in order below:
- A definition of success for the specific feature.
- A golden set of real examples.
- Checks that score each output.
- Cost and latency measured alongside quality.
- Release gates, plus a loop that keeps running after launch.
02 - Start With the Job, Not the Benchmark
Public benchmarks compare models on general tasks. They say little about whether a model will qualify your leads, summarize your contracts or write in your customer's tone. The most common LLM evaluation mistake is starting from a leaderboard instead of from the feature. Evaluate the feature, not the model.
Write the job down in one or two sentences, then list what a good output must do and must never do. For a lead qualification assistant, that might look like this:
- Must: capture budget, timeline and decision maker when the caller mentions them; book only into open calendar slots; hand over when asked for a person.
- Must never: quote a price that is not in the price list; promise a feature that does not exist; keep going after the caller says stop.
Those lines become your checks. They also force a product decision many teams skip: what the feature is actually for, and what it is not allowed to do.
03 - Build a Golden Set From Real Work
A golden set is a fixed collection of inputs, each paired with the output you expect or the properties that output must have. Build it from real material: past support tickets, call transcripts, documents, form submissions. Synthetic examples help fill gaps, but they tend to be cleaner and more polite than reality.
A few dozen carefully chosen cases are enough to start, growing to a few hundred as the feature matures. Cover three groups:
- Typical cases, in roughly the mix users will send.
- Hard cases: missing data, contradictions, long inputs, other languages, unusual formats.
- Must-refuse cases: out-of-scope requests, attempts to override instructions and requests for data the user should not see.
Version the set alongside your code. Every production failure you find later becomes a new case, which is how the set gets sharper over time.
04 - Choosing Checks: Assertions, References, Rubrics and People
No single metric covers an LLM feature. Good LLM evaluation combines checks by what they catch and what they cost to run:
| Check | What it catches | Cost to run |
|---|---|---|
| Deterministic assertions | Invalid JSON, missing fields, forbidden phrases, prices not in the list, the wrong tool chosen | Near zero; run on every change |
| Reference comparison | Extraction and classification errors against a known correct answer | Low; needs labeled examples |
| Rubric grading by a model | Tone, completeness, faithfulness to sources, helpfulness | Moderate; must be calibrated against human grades |
| Human review | Subtle errors, domain judgment, whether the output is actually useful | Highest; use on samples and high-stakes cases |
Start with assertions. They are cheap and exact, and in our experience they catch a large share of the failures that matter. Use a model as a grader only with a written rubric, and only after checking that its grades agree with a person's on a sample. For features that answer from your documents, add a faithfulness check: every factual claim in the answer should trace back to a retrieved source.
05 - Measure Cost and Latency With Quality
An answer that is correct but too slow, or that costs more than the task is worth, is still a failed feature. Record cost and response time for every case in every evaluation run, and look at the slow tail, not only the average.
This is where model choice gets concrete. Run the golden set against a small, fast model and a frontier model for each step. Often the small model passes on classification and extraction, and the frontier model is needed only for the hardest reasoning or drafting step. The results tell you exactly where you can save, which is far safer than switching models on instinct. We cover this tiered approach in our guide on how to build an AI MVP.
06 - Release Gates: When Is an LLM Feature Ready?
Agree the bar before you look at the results, or it will drift toward whatever the current version scores. A practical release gate covers five conditions:
- Every must-never check passes on every case.
- The quality score on typical cases meets the agreed threshold, and hard cases do not regress.
- Must-refuse cases are refused or escalated.
- Cost per task and response time are inside budget.
- A person has reviewed a sample of outputs and would be comfortable sending them to a customer.
Run the gate automatically on every pull request that touches a prompt, a model setting or retrieval, the same way you run unit tests. Our post on continuous delivery for startups explains how to fit checks like this into a fast release cycle without slowing the team down.
07 - Common Mistakes When Evaluating LLM Features
Most teams that struggle with quality do have an evaluation process; it just measures the wrong thing. The mistakes we see most often:
- Testing only happy paths. A golden set full of tidy, typical inputs passes every time and tells you nothing about the cases that cause incidents.
- Grading with an uncalibrated judge. A model grader with a vague rubric agrees with itself, not with your users. Check it against human grades first.
- Changing several things at once. Edit the prompt, swap the model and change retrieval in one go, and you cannot tell which change moved the score.
- Averaging away the failures. A good average can hide a small group of cases that fail badly. Read the worst outputs, not only the mean.
- Moving the bar after the run. If the threshold changes once the results are in, it was never a gate.
08 - LLM Evaluation After Launch
Launch moves LLM evaluation from a test suite into production; it does not end it. Three habits keep quality from drifting:
- Sample and review. Review a sample of real outputs every week, with extra attention to cases users corrected, abandoned or escalated.
- Feed failures back. Every confirmed failure becomes a golden-set case before it is fixed, so the fix is proven and stays fixed.
- Re-run on provider changes. Hosted models get updated. Pin versions where the provider allows it, and re-run the full set before moving to a new one.
Multi-step features need evaluation at each step, not only at the end, because a correct final answer can hide a wrong step. Our guide to agentic AI workflows in production covers step-level tracing and approval design.
Skalix AI, the AI revenue platform we built with voice agents, chat, follow-up and CRM sync, records transcripts, outcomes and handoffs for every conversation, which is the raw material this loop needs. If you want an evaluation plan designed into your product from the first release, our AI product development team builds it as part of the work, and a free clickable prototype is a quick way to test the workflow before any model work starts.
Have an MVP or AI product to validate?
Get an interactive, clickable product prototype in 48 hours or kick off a fixed-scope $1,499 Product Pilot to define your architecture and build roadmap.
Co-founder & COO at Arcforth. Leading full-stack engineering, production AI implementations, and developer velocity.

