By Sagar Shankaran, Founder of CallSphere
The metrics that prove a Claude agent works in production: task success rate, eval pass rate, cost per outcome, and handoff rate — with logging code and a checklist.
Key takeaways
An agent demo is the easiest thing in the world to fake yourself out with. It works three times in a row in the meeting, everyone nods, and it ships. Two weeks later the support queue is full of edge cases it never saw. The gap between "looked good in the demo" and "is actually working" is measurement — and measuring agents is genuinely different from measuring a service, because the thing you care about isn't latency or uptime, it's whether the agent produced the right outcome. This post lays out the signals that actually prove an agent works.
If you instrument an agent like a microservice, you'll measure latency, error rate, and throughput — and you'll learn almost nothing about whether it's helping. An agent can respond in 800ms, return HTTP 200 every time, and be confidently wrong on a third of tasks. The metrics that matter are outcome metrics, and they require you to define what a successful outcome is for your specific task. That definition is the hard, valuable work; the dashboards are easy once you have it.
There are two families of metrics and you need both. Offline metrics run against a frozen labeled eval set and tell you whether a change is safe to ship. Online metrics run against live traffic and tell you whether the agent is actually delivering. Teams that only do one fly blind in the other direction.
It helps to see how a single agent run feeds your metrics. Every run emits signals at three layers — outcome, behavior, and cost — and each layer answers a different question.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
flowchart TD
A["Agent run completes"] --> B["Outcome layer: task succeeded?"]
A --> C["Behavior layer: tools, loops, handoff?"]
A --> D["Cost layer: tokens & latency"]
B --> E["Task success rate"]
C --> F["Handoff & tool-error rate"]
D --> G["Cost per successful outcome"]
E --> H{"Trending down?"}
F --> H
H -->|Yes| I["Investigate & add eval case"]
H -->|No| J["Healthy — keep monitoring"]
The outcome layer is your north star. The behavior layer explains why outcomes move. The cost layer keeps you honest about whether the win is economical. When the outcome trend dips, the behavior signals usually told you first.
You can't measure success rate if you never recorded what happened. The pattern is to emit a structured record at the end of every agent run capturing the outcome and the behavior signals together.
def log_run(trace_id, task, result, usage):
record = {
"trace_id": trace_id,
"task": task,
"succeeded": result["resolved"] and not result["reopened"],
"handed_off": result["escalated_to_human"],
"tool_errors": result["tool_error_count"],
"loop_depth": result["steps"],
"input_tokens": usage.input_tokens,
"output_tokens": usage.output_tokens,
}
metrics.emit(record)
# success rate = succeeded / (total - handed_off)
# cost per success = sum(token_cost) / sum(succeeded)
Two definitions in the comments do most of the work. Success rate excludes clean handoffs from the denominator — an agent that correctly escalates a hard case shouldn't be punished. Cost per success divides total spend by successful outcomes, so an agent that's cheap but failing shows up as expensive, which is the truth.
| Metric | Answers | Type |
|---|---|---|
| Task success rate | Is it actually working? | Online north star |
| Eval pass rate | Is this change safe to ship? | Offline gate |
| Cost per successful outcome | Is the win economical? | Online economics |
| Human-handoff rate | Where can't it cope? | Online behavior |
| Tool-error / loop depth | Is decay coming? | Leading indicator |
Task success rate is the share of agent runs that achieve the intended real-world outcome — a resolved ticket, a booked appointment, a correct extraction — and it is the only metric that directly answers whether an agent is working, which is why every other signal exists to explain or protect it. Optimize the leading indicators and the eval pass rate, and the north star tends to take care of itself.
No. An agent can respond to everything and be wrong on a quarter of it. Responsiveness is table stakes; correctness of outcome is the metric that matters.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
Use proxies: did the user re-open the ticket, did they have to repeat themselves, did a human override the agent. Combine several weak signals into a success definition, and validate it against a labeled sample.
No — a correct, timely handoff is a success of judgment. Exclude clean handoffs from the success denominator and only count it against the agent when it escalates something it should have handled.
Behavioral leading indicators — rising tool-error rate and increasing loop depth — usually move before outcome metrics, giving you time to investigate before users feel it.
CallSphere instruments voice and chat agents on exactly these signals — task success, handoff rate, and cost per booked outcome — so you can see they work, not just hope they do. Explore the live metrics at callsphere.ai.
Source & attribution: This is an independent, original explainer inspired by Anthropic's coverage on the Claude blog. Claude, Claude Code, Claude Cowork, Claude Opus, and the Model Context Protocol are products and trademarks of Anthropic. CallSphere is not affiliated with or endorsed by Anthropic.

Written by
Sagar Shankaran· Founder, CallSphere
LinkedInSagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
Anthropic's Claude Fable 5 and Mythos 5 explained: pricing, availability, frontier benchmarks, the dual-model safeguard architecture, and what they mean for AI agents.
Where Claude Code, MCP, and multi-agent systems are taking GTM engineering next, and how to prepare your team now for standing and multi-agent workflows.
Where Claude Cowork and the Claude agent ecosystem are heading next — standing agents, MCP, skills as a moat — and the concrete moves to prepare your team now.
The metrics, leading signals, and anti-metrics that prove Claude Cowork is working — acceptance rate, time-to-outcome, and why usage counts mislead.
Shipping an agentic GTM workflow is easy; proving it works is hard. The metrics, signals, and eval loops that show a Claude Code rebuild is paying off.
A realistic end-to-end Claude Cowork use case: a quarterly vendor-spend review from vague ask to shipped deliverable, with every agentic step shown.
© 2026 CallSphere Inc. All rights reserved.
Made within San Francisco
Watch how CallSphere handles real customer calls, schedules appointments, and processes payments — live.
Try Live DemoBook a DemoCalculate Your ROI