Accuracy Looks Good - Until Your AI Agent Fails in Production
Hitesh Sondhi · April 20, 2026 · 12 min read
We once had an agent that looked fantastic in evals. Great accuracy, clean benchmark sheet, nice demo. Then it hit real traffic, started taking the scenic route through tools it didn't need, missed obvious edge cases, and turned simple support flows into a slow-motion car crash.
That's the dirty secret of AI agent evaluation: accuracy is the part that looks good in slides, not the part that saves you in production.
A lot of teams are still grading agents like they're glorified classifiers. Did it get the answer right? Cool. Meanwhile the thing is burning tokens, calling the wrong API, timing out on step four, and confidently completing the wrong task. That's not intelligence. That's a very expensive intern with root access.
Key Takeaways
- Accuracy is necessary, but it's a terrible solo metric for agentic systems.
- Good ai agent evaluation measures task completion, tool use quality, latency, cost, and failure recovery.
- Offline benchmarks often miss the ugly stuff: multi-step drift, bad tool selection, and real-world state changes.
- The best evals combine automated scoring, trace inspection, and production telemetry.
- If you can't explain why your agent failed, your eval setup is bad.
Why accuracy becomes a vanity metric fast
Accuracy works fine when the problem is narrow. Classify this email. Extract these fields. Choose one label from five options. Clean, bounded, boring.
Agents aren't like that.
Agents plan, call tools, manage state, react to changing inputs, and sometimes need to know when not to act. Evaluating them on final-answer accuracy alone is like judging a restaurant only by whether food eventually reaches the table. If the waiter dropped two plates, forgot your drink, insulted your grandma, and brought dessert first, you'd still call that a bad night.
We've seen this especially in systems that mix LLM reasoning with external tools. The final output might look correct, but the path there can be a mess: three redundant retrieval calls, one hallucinated tool argument, and 11 extra seconds of latency. In production, users feel the path, not just the answer.
That's where it gets weird.
An agent can be "accurate" and still unusable.
The metrics that actually matter when agents touch the real world
If you're serious about ai agent evaluation, you need a scorecard that reflects how agents behave under pressure. Not just whether they guessed the final string correctly.
1. Task success rate, not just answer match
Start with the real business outcome. Did the agent actually complete the user's goal?
For a support agent, that might mean issuing the refund correctly, updating the CRM, and sending the right confirmation. For a voice workflow, it might mean booking the room, capturing dates correctly, and handling interruptions without losing context. We care about this a lot in voice systems because users don't grade you on BLEU scores — they hang up.
This is why task success rate usually beats exact-match accuracy. Exact-match is fussy in the wrong places and blind in the important ones.
2. Tool selection quality
A lot of agent failures aren't language failures. They're orchestration failures.
Did the agent choose the right tool? Did it call the tool at the right moment? Did it pass valid arguments? Did it avoid unnecessary calls? A bad tool policy can make a smart model look dumb. We've tried "just let the model decide everything" setups before, and honestly, that was a mistake. It's fun in demos. It's chaos in production.
Here's a simple way to think about the flow:
flowchart TD
A[User request] --> B[Agent interprets intent]
B --> C{Need a tool?}
C -->|No| D[Respond directly]
C -->|Yes| E[Select tool]
E --> F[Build arguments]
F --> G[Execute tool]
G --> H[Validate result]
H --> I[Final response]
Every arrow in that diagram is a failure point. Your eval should reflect that.
3. Latency under realistic conditions
Users don't care that your agent was "correct" in 14 seconds. They care that it felt broken.
Latency is one of the first places lab results lie to you. Offline evals often run on warm caches, clean networks, and ideal prompt paths. Production gives you cold starts, queueing, API jitter, and users who interrupt halfway through the flow. If you're building real-time systems, especially in voice AI or on-device AI, latency isn't a side metric. It's the product.
OpenAI has documented latency optimization strategies because response time materially affects user experience OpenAI Docs. Anthropic makes the same point in their prompt engineering and production guidance Anthropic Docs. Different vendors, same reality: slow agents lose trust.
4. Cost per successful task
This one gets ignored until finance shows up.
You shouldn't just track cost per request. Track cost per successful task. Those are very different numbers when your agent loops, retries, over-calls tools, or fails late in the workflow after spending most of the budget already.
We've seen teams celebrate a cheap per-call model while the total cost per resolved task was awful because the agent needed multiple turns and repeated retrieval steps. That's like bragging your car has great fuel economy while towing a boat with the parking brake on.
If you want a rough sanity check on economics before you deploy, tools like our AI cost estimator are useful. Not perfect, but better than finding out after launch that your "smart automation" costs more than the humans it replaced.
5. Recovery rate after failure
Production systems fail. Tools return garbage. APIs go down. Users say weird things. Session state gets corrupted. Welcome to the party.
A good agent doesn't need to be perfect. It needs to fail gracefully and recover often. Can it ask a clarifying question? Retry safely? Fall back to a deterministic path? Escalate when confidence is low? Recovery rate is one of the most practical metrics in ai agent evaluation, and almost nobody talks about it enough.
Hot take: graceful degradation is more valuable than squeezing out another 2% on a benchmark.
Why your offline eval probably isn't telling the truth
Most offline evals are too clean. The prompts are neat, the expected outputs are known, and the world politely holds still while the model thinks.
Production does the opposite.
The user changes their mind mid-task. The inventory count changes between retrieval and action. The CRM has missing fields. The tool schema was updated yesterday. A downstream service returns a partial response. Suddenly your 92% benchmark result starts feeling like a fairy tale.
The GAIA benchmark was created partly to test more realistic assistant behavior across multi-step reasoning, tool use, and web interaction GAIA Benchmark. That's useful. But even strong public benchmarks won't fully capture your business logic, your users, or your weird legacy systems from 2017 that nobody wants to touch.
So yes, benchmark. But don't marry the benchmark.
Here's the kind of evaluation surface we actually trust more:

One layer checks offline task performance. Another inspects traces and tool calls. Another watches live production telemetry. If one of those is missing, you're driving with one eye closed.
The scorecard we prefer for ai agent evaluation
We like scorecards because they force honesty. One number hides sins. A handful of numbers starts arguments, which is good.
Here's a practical scorecard:
- Task success rate: Did the user goal get completed?
- Tool-call precision: Were tool invocations necessary and correct?
- Argument validity: Did the agent pass usable, schema-compliant arguments?
- Latency p50 / p95 / p99: How long did successful tasks actually take?
- Cost per successful task: What did resolution really cost?
- Recovery rate: How often did the agent recover from intermediate failure?
- Escalation quality: When it gave up, did it hand off correctly?
- Policy compliance: Did it stay within business and safety rules?
Notice what's not here: "vibes."
And yes, qualitative review still matters. We still read traces. We still inspect weird failures manually. Every mature eval system eventually turns into a mix of dashboards and detective work.
A quick warning about LLM-as-a-judge
LLM judges are useful. They're also a little slippery.
They can speed up grading for subjective outputs, summarize trace quality, and compare alternative responses. But if you let one model grade another without guardrails, you can create a self-congratulatory loop where everyone gets a gold star. We use model-based judging as one signal, not the truth. Human review and hard execution metrics still matter more.
Google's work on evaluating generative AI systems also emphasizes combining automatic and human-centered evaluation methods rather than relying on a single metric Google Cloud. That's the sane approach.
Production telemetry is where the real story lives
The funniest part of agent systems is how quickly users find failure modes you never imagined. They are chaos engineers who don't know they're chaos engineers.
That's why ai agent evaluation can't stop at staging. You need production telemetry with traces, tool-call logs, user drop-off points, and post-task outcomes. If an agent answers correctly but users abandon the flow 30% of the time after step two, something is broken even if your benchmark says otherwise.
We've found that tracing every agent step pays for itself fast. Prompt version, model version, retrieved context, tool choice, tool args, tool result, final response. All of it. Without that, debugging agent failures feels like reconstructing a bank robbery from a blurry parking lot camera.
If you're building serious agent workflows, this is exactly where architecture work matters more than prompt cleverness. That's the kind of thing we help teams untangle in AI agents, custom models, and AI consulting engagements. Not because "consulting" sounds fancy, but because production failures are usually systems problems wearing an LLM mask.
Voice agents make bad evaluation painfully obvious
Voice is brutal in a good way. It exposes weak evaluation faster than chat does.
A text user might tolerate a clumsy answer. A voice user won't tolerate long pauses, repeated confirmations, or an agent forgetting what was said eight seconds ago. In voice systems, you need to evaluate turn-taking, interruption handling, ASR error resilience, and time-to-first-useful-response, not just semantic correctness.
We've seen this pattern clearly in on-device and real-time deployments, including products like RunHotel, where the agent has to be helpful under messy acoustic conditions and tight latency budgets. You can't hide behind a polished transcript after the fact. If the interaction feels awkward, the product loses.
And that's the point.
The user experiences the conversation, not your benchmark spreadsheet.
A practical evaluation loop that doesn't collapse after launch
If you want a setup that survives contact with reality, keep it simple enough to maintain.
Step 1: Build a task-based eval set
Use real tasks, not isolated prompts. Include happy paths, ambiguous requests, missing information, and ugly edge cases pulled from actual user behavior.
Step 2: Score intermediate steps
Don't just score the final answer. Grade tool choice, tool arguments, retrieval quality, and policy adherence.
Step 3: Run shadow traffic before full rollout
Replay real requests or run the agent in parallel without taking actions. This catches a shocking amount of nonsense before users see it.
Step 4: Instrument everything in production
Capture traces, latency, cost, success outcomes, and user abandonment. If a tool call fails, you should know exactly where and why.
Step 5: Review failures weekly
Not quarterly. Weekly. Agent systems drift fast because prompts change, models change, tools change, and user behavior changes.
Here's a compact version of that loop:
flowchart LR A[Real user tasks] --> B[Offline evals] B --> C[Shadow traffic] C --> D[Limited rollout] D --> E[Production telemetry] E --> F[Failure review] F --> B
It's not glamorous. It works.
What to do next if your evals are still accuracy-only
First, stop pretending a single number can summarize an agent. It can't.
Second, define what success means in business terms. Resolved booking. Completed claim. Correct escalation. Closed ticket. Whatever matters in your workflow.
Third, add the metrics accuracy has been hiding from you: latency, cost per successful task, tool quality, and recovery behavior. That's the minimum viable adult setup.
If you're building or fixing an agent system and want a second set of eyes, talk to us through /contact. We can help with the architecture, eval design, model strategy, or the painful middle part where the demo worked and production absolutely did not.
Accuracy is nice.
But when your AI agent calls the wrong tool, stalls for 12 seconds, and confidently "solves" the wrong problem, nice doesn't count.
FAQ
What is ai agent evaluation?
AI agent evaluation is the process of measuring how well an agent completes real tasks, not just how often it produces a correct-looking answer. Good evaluation includes task success, tool use, latency, cost, reliability, and recovery from failures.
Why isn't accuracy enough for evaluating AI agents?
Accuracy misses the path the agent took to get there. An agent can produce a correct final answer while wasting tokens, calling the wrong tools, violating policy, or taking too long for the user experience to be acceptable.
What are the best metrics for ai agent evaluation?
The most useful metrics are task success rate, tool-call quality, latency, cost per successful task, recovery rate, and policy compliance. The exact mix depends on your use case, but if you're only tracking accuracy, you're missing the expensive failures.
How do you evaluate tool use in an AI agent?
You evaluate whether the agent chose the right tool, at the right time, with the right arguments, and used the result correctly. This usually requires step-level traces and schema validation, not just final-answer grading.
Should I use LLMs to judge AI agent outputs?
Yes, but only as one signal. LLM judges are helpful for subjective comparisons and scaling review, but they should be backed by hard execution metrics and human inspection for critical workflows.





