The best AI evaluation tools for production are the ones that keep scoring honestly after launch, not the ones with the longest metric list. Judge any shortlist on five criteria: live traffic scoring, a pinnable judge, a defensible sample size, reproducibility across repeats, and coverage of the voice path.
Why the best AI evaluation tools for production are hard to compare
Search this category and you will find a dozen ranked lists. Almost every one is published by a vendor that appears in its own top three. That is not a scandal, but it explains why the criteria in those lists describe features rather than outcomes.
The feature lists also converge. Trace capture, a metric library, CI integration, a hosted dashboard, some form of LLM judge: after a while the comparison tables look like the same table with the logos moved around. Buying on feature parity means buying on price and design, which is how teams end up replacing an eval platform nine months later.
A better test is behavioural. Pre-launch evaluation and production evaluation are different jobs, and a tool can be excellent at one while being useless at the other.
Before launch, you control the inputs. There is a fixed dataset, a known set of cases, and a pass or fail per case. The job is regression detection: did this prompt change or model swap make anything worse than it was last week.
In production you control nothing. Inputs are open ended, conversations run multiple turns, the model behind the API can change without an announcement, and the traffic mix shifts as real users find paths your test set never contained. The job stops being regression detection and becomes measurement under uncertainty.
Five questions separate the tools that survive that shift from the tools that do not. Each has a cost attached, and each is answerable in a trial rather than a demo.
Start from the failure you cannot afford
Before scoring vendors, write down the one failure that would actually hurt you. The answer changes which of the five criteria you weight.
If your agent handles money, bookings, or entitlements, your expensive failure is a wrong action taken confidently. You need per-turn tool-call and outcome checks on live traffic, because the wrong action almost never appears in a test set written before the bug existed.
If your agent handles regulated advice, your expensive failure is a policy violation in a rare path. You need adversarial and multi-turn coverage offline, and enough production sampling that a rare path is observed at all.
If your agent answers calls, your expensive failure is usually not a wrong answer at all. It is four seconds of dead air, a talk-over during a confirmation, or a call that never connected. A text-perfect transcript scores well and the caller still hangs up.
Most buying processes skip this step and go straight to the comparison table. That is how teams buy a rich offline harness for a problem that only appears in live traffic.
Criterion 1: does it score live traffic, or only your test set?
Ask the vendor to score a conversation the tool has never seen, from your own production log, without you supplying an expected answer. Some tools cannot do this at all, because their metric library assumes a reference output.
The distinction matters because reference-free scoring is what lets you measure quality on the traffic you actually served. Reference-based scoring only measures agreement with a dataset you wrote, which ages the moment your product changes.
The offline half of this is mature, largely open source, and mostly free, which is worth knowing before you pay for it. Promptfoo describes itself as an "open-source CLI and library for evaluating and red-teaming LLM apps" and runs in CI through a GitHub action. DeepEval is "an open-source LLM eval package" that plugs into Pytest and Vitest so eval files are collected and run the way a normal test suite is, with all metric scores on a 0 to 1 range and a threshold deciding pass or fail. Inspect, from the UK AI Security Institute and Meridian Labs, is "an open-source framework for large language model evaluations" built from composable datasets, agents, tools and scorers, and ships "a collection of over 200 pre-built evaluations ready to run on any model". Ragas is "a library that helps you move from 'vibe checks' to systematic evaluation loops for your AI applications", organised around experiments rather than one-off scoring.
Model providers ship this layer too. OpenAI's evals guide documents evals that "test model outputs to ensure they meet style and content criteria that you specify", graded against a dataset you supply.
The online half usually comes from observability platforms, because it needs trace capture first. PostHog's AI observability "captures every call your AI product makes to an LLM", and that same trace data is what its evaluations score, with cost, latency, errors, volume and evaluation performance monitored together. MLflow offers "pre-built judges for common metrics like hallucination or relevance, or develop custom judges tailored to your business needs", over tracing that is "fully compatible with OpenTelemetry" and captures "prompts, retrievals and tool calls". Deepchecks sits at the governance end, documenting CI/CD integration via GitHub for automating model validation workflows and continuous checks for data drift, performance degradation and bias.
Two follow-up questions are worth more than the feature checkbox:
- Is scoring asynchronous? You cannot block a user's response on a judge call. If scoring runs inline, latency becomes a quality tax.
- What fraction of traffic gets scored, and who decides? Uniform random sampling is cheap and defensible. Sampling that quietly prioritises short conversations produces a pass rate that flatters you.
Cost to check: about an hour, using twenty of your own transcripts.
Criterion 2: can you pin the judge?
This is the criterion buyers skip and regret. If the model doing the scoring changes underneath you, every trend line you own becomes unreadable, and you cannot tell a product regression from a scoring change.
The risk is documented rather than theoretical. An evaluator audit published in June 2026 opens with the finding that "Measurements of proprietary LLM evaluators can become invalid within weeks", and reports 122 repetitions across eight experimental conditions in which coupling between evaluator and outcome ranged from 0.00 to 1.18. Four conditions collapsed to near zero, including a June re-replication of a GPT-4o condition that had shown strong coupling in May. The paper's own summary is that the pattern of version-conditional instability is what makes single-snapshot evaluator studies unreliable.
There is also a ceiling on how good a judge can be. The MT-Bench and Chatbot Arena work found that strong judges "can match both controlled and crowdsourced human preferences well, achieving over 80% agreement, the same level of agreement between humans". Read that as the good case, not the floor. Roughly one judgement in five will differ from a human's, so a two-point move in a pass rate is noise unless you have established otherwise.
So ask three things:
- Can I pin an exact judge model version, and am I told when it is deprecated?
- Can I hold an anchor set, 100 to 300 human-labelled conversations, and re-score it whenever the judge changes? The anchor set is the only mechanism that separates judge drift from agent drift. If the anchor score moves and production has not, the judge moved.
- Is the judge prompt versioned and diffable like code?
Cost: the anchor set is the real expense, roughly two to five days of labelling, and it is the highest-value work in the whole process. Our breakdown of LLM-as-a-judge biases and calibration covers the position and verbosity effects a rubric has to be written around.
Criterion 3: does your sample size support the claim?
Every vendor recommends a sampling rate. Almost none states the error bar that rate produces, which makes the recommendation unfalsifiable.
The arithmetic is standard and worth doing before the trial. For a pass rate near 90%, the 95% confidence interval on a simple random sample is roughly plus or minus 1.96 times the square root of p times one minus p over n. Computed directly:
| Scored conversations | 95% interval on a 90% pass rate | Smallest drop you can call real |
|---|---|---|
| 100 | plus or minus 5.9 points | about 6 points |
| 400 | plus or minus 2.9 points | about 3 points |
| 1,000 | plus or minus 1.9 points | about 2 points |
| 2,500 | plus or minus 1.2 points | about 1 point |
One caveat on reading that table: those are margins on a single measurement. Calling a drop real means comparing two periods, and the interval on a difference between two independent samples is about 40% wider than the interval on either one alone. Treat the third column as the optimistic case.
Read it against the regression you are afraid of. If a two-point drop in resolution rate costs you a renewal, you need roughly a thousand scored conversations per period, and at a 1% sampling rate that means a hundred thousand conversations per period to draw from. Quadrupling the sample only halves the interval, so there is no cheap path to a tight number.
This is also why per-segment dashboards mislead. A pass rate broken out by intent, channel and language looks precise and is usually built on cells of thirty conversations, where the interval is wider than most differences on the screen. So the buying question is narrow: does the product display the count behind every score, or only the score? A tool that hides the denominator is not reporting a measurement. Stratify the sample too, because sampling uniformly means your rarest and highest-risk intents are scored least. Our guide to evaluating voice AI testing platforms makes the same argument about what vendor demos leave off the screen.
Criterion 4: does it report reproducibility, not one pass rate?
Nearly every tool reports a single-run pass rate. Non-deterministic systems do not have one. They have a distribution, and its mean hides exactly the failures that make customers churn: the ones that happen a third of the time.
The mechanism is easy to state and rarely implemented. Run the same scenario three times against the same build. Report the share of scenarios that passed all three attempts alongside the share that passed on any given attempt. The first number is what a customer meets on a bad day; the second is what a vendor puts in a deck. A tool that can only run each case once cannot produce the first number, and no amount of metric configuration fixes that, because the limitation sits in the execution model rather than the scoring.
Cekura's voice agent benchmark shows how wide the gap gets, because it runs each scenario more than once and publishes both numbers. Per Cekura's benchmarks, on single-attempt task completion the leaders cluster tightly: Vapi at 97.56%, LiveKit at 95.12%, Pipecat at 94.21%, Retell at 93.88%. Score the same run on pass-cubed, meaning the same scenario has to pass all three retained repeats, and the ranking reorders while the numbers collapse: Retell at 75.61%, LiveKit at 70.73%, ElevenLabs at 69.51%, Pipecat at 63.41%, Vapi at 59.76%.
A configuration completing 97.56% of tasks on one try passes all three tries 59.76% of the time, on the same scenarios, in the same run. A single-run pass rate in a dashboard is not a reliability number.
Those figures come from a frozen matched study of 7 configurations, 82 scenarios and 3 retained repeats, 246 retained calls per configuration, with calls that did not connect kept in the denominator rather than dropped. It is a matched study because Cekura shared the same system prompt, tool definitions and test data with every provider. Two caveats still travel with any number from it: each platform submitted the configuration it wanted benchmarked, with the exception of the OpenAI row, which Cekura tested directly on gpt-realtime-2.1 with no configuration submitted by the provider, and the response time reported is measured by Cekura at the main-agent layer rather than from provider-native component timing.
Cost: three times the run cost on whatever subset you choose. Start with the twenty scenarios tied to the failure you named earlier.
Criterion 5: does it cover the voice layer?
For text-only agents this criterion does not apply. For voice and telephony agents it usually decides the purchase, because a large share of real failures never touch the language model.
Text evaluation stops at the words. Voice agents fail at the seams: endpointing that cuts a caller off, a barge-in the agent ignores, dead air while a tool call resolves, a transfer that drops, or a transcription error that corrupts the input the judge sees. None of that appears in a transcript-only score.
The same benchmark run shows how wide the spread is on this layer alone. Per Cekura's benchmarks, under the study caveats above, infrastructure reliability across the seven configurations ranged from 100.00% down to 72.36%, and mean response time ranged from 1.27 seconds to 3.08 seconds. That range is roughly where a caller starts talking over your agent. A configuration can score well on language quality and still lose a quarter of its calls before the language model is involved.
So the question for a voice buyer is whether the tool places real calls over real telephony or simulates the conversation in text and reports on the transcript. Both are useful; only one observes the delivery path. Cekura runs scenario-based simulation before release, monitors live traffic on the same metric definitions after it, and feeds scored failures back into agent improvement, which covers testing, monitoring and improvement from one set of definitions rather than three tools.
Cost: real-call testing costs telephony minutes, so it belongs on a subset, with text simulation carrying the bulk of coverage.
How to score a shortlist against the five criteria
Most lists in this category rank product against product, which hides the thing that matters: two tools with near-identical feature lists often serve different criteria, so they are not alternatives at all. Score your shortlist per criterion instead, weighted by the failure you named at the start.
| Criterion | What a strong answer looks like | Where to look |
|---|---|---|
| 1. Live traffic scoring | Reference-free scoring on unseen production conversations, asynchronous, documented sampling method | Observability-led platforms: PostHog, MLflow, Deepchecks |
| 2. Judge pinning | Exact model version pinned, deprecation notice, versioned judge prompt, anchor set supported | Rarely sold as a product; usually built in-house or bundled |
| 3. Sample size honesty | Counts shown next to every score, intervals or counts on segment breakdowns | A reporting property, not a product category. Check the UI |
| 4. Reproducibility | Repeated runs on the same scenario, all-runs-passed reported alongside single-run | Tools whose execution model allows repeats, including Cekura |
| 5. Voice coverage | Real calls placed over real telephony, connection and interruption scored apart from content | Voice-native platforms: Cekura |
Offline harnesses that gate a deploy sit underneath all five: Promptfoo, DeepEval, Inspect and Ragas are open-source or freely available, and provider-native evals cover the same ground for a model upgrade. Read the table as a diagnostic. If you cannot say which criterion your last production incident would have been caught by, buying another tool against a criterion you already satisfy will not help.
One row that is deliberately absent: governance paperwork. If your buyer needs a framework to map to, the NIST AI Risk Management Framework puts Measure alongside Govern, Map and Manage as core functions, and NIST states it is "intended for voluntary use and to improve the ability to incorporate trustworthiness considerations into the design, development, use, and evaluation of AI products, services, and systems". It tells you that measurement is required. It does not tell you which tool measures well.
A two-week trial that actually decides something
Demos are built to succeed. A trial is only useful if it can fail. Run this instead:
- Day 1. Export 200 real production conversations, including the twenty worst you can find. Do not clean them.
- Days 2 to 3. Label 100 of them yourself, pass or fail, against your own definition. This is the anchor set.
- Days 4 to 5. Have each vendor score the same 200 with no expected answers supplied. Compare against your labels. Agreement below roughly 80% means the judge needs configuration, not that the tool is bad.
- Week 2, day 1. Re-run the anchor set on each tool without changing anything. Any movement is instability you will inherit.
- Week 2, days 2 to 3. Take the twenty scenarios tied to your named failure and run each three times. Record the share passing all three.
- Week 2, day 4. For voice, place fifty real calls per vendor and count connection failures and interruptions separately from content errors.
- Week 2, day 5. Score the shortlist per criterion. Where two vendors tie, choose the one whose numbers came with counts attached.
Cekura supports this trial shape directly, and Cekura's own metric optimizer applies the same discipline internally: it asks for human clarification when the evidence for a verdict is ambiguous, reruns a dataset to check whether a perfect score reproduces, and surfaces unresolved cases rather than resolving them silently. For the metric layer that sits on top of live scoring, our guide to monitoring AI chat and voice agents in production covers which conversation-quality signals are worth alerting on and which produce noise.
To see call-level evaluation against your own scenarios, Cekura runs a scoped pilot on your agent and reports the pass-cubed numbers alongside the single-attempt ones.
Frequently asked questions
What are the best AI evaluation tools for production if I can only afford one?
Buy the criterion covering your last three incidents. If they were content quality issues found by users, buy live traffic scoring. If they were regressions shipped by a prompt change, an open-source offline harness in CI is free and sufficient. If they were dropped or unintelligible calls, no text-layer tool would have caught them.
How do voice and chat agent evaluation tools differ from general LLM eval tools?
A conversational agent completes a workflow across turns rather than producing one good answer. That needs multi-turn scoring, branching scenarios, persona variation, and repeated runs to see whether a pass reproduces. General LLM eval tools score single responses well and usually treat a conversation as a flat transcript.
How do I know the evaluation scores themselves are trustworthy?
Freeze 100 to 300 human-labelled conversations as an anchor set and re-score them whenever the judge, its prompt, or its model version changes. Track the judge-versus-human gap as its own metric. Published judge-human agreement tops out around 80% on preference benchmarks, so treat your own number as unknown until you measure it.
What sampling rate should I use for production evals?
Work backwards from the smallest regression you need to catch, not from a percentage. Catching a two-point drop needs roughly a thousand scored conversations per period. Then stratify the sample so rare, high-risk intents are represented rather than sampled away.
Are voice agents evaluated differently from chat agents?
Yes, in two ways. Voice adds a delivery path with its own failure modes: endpointing, barge-in, dead air, transfers, and transcription errors. Voice also needs repeated runs, because per Cekura's frozen matched benchmark run described above, single-attempt task completion of 97.56% coincided with a pass-cubed rate of 59.76% on the same configuration.







