
Why AI Observability Is Not Enough for Production Agents
If you run agents in production, you need observability. Full stop. You cannot operate a system whose core behavior is "a model decided something" without being able to inspect prompts, completions, traces, tool calls, handoffs, retries, latency, and eval scores. Teams that skip this stage debug by vibes, and it shows.
But here is what we keep seeing with teams that have good agent observability: the trace viewer answers the engineer's first question and none of the questions that follow. An incident channel fills up, someone posts a beautiful trace of the failing run, and then the actual discussion starts. Which customers hit this? Did it move support volume? What did those retries cost us? Is this a compliance problem? Who owns the fix — the agent team, the platform team, or whoever changed the CRM API last night?
A trace, on its own, answers none of that. Those are operational questions, and they need context that lives outside the trace: in product analytics, in the billing pipeline, in the deploy history, in the org chart. The gap between "we can see what the agent did" and "we know what to do about it" is the gap between agent observability and AI operational intelligence — this post is the agent-specific case for that category.
Agents fail sideways, not down
The deeper reason observability alone runs out of road is that agents fail differently from services. A service fails down: errors, timeouts, crashes — things observability tooling was born to catch. An agent usually fails sideways, through behaviors that are technically successful:
It calls the right tool with subtly wrong parameters and gets a plausible result. It retries a flaky endpoint until spend triples, then succeeds. It hands off to the wrong subagent, which does a worse job slowly. It answers confidently from stale context. It passes your relevance eval while quietly dragging down the conversion metric the workflow was built to improve.
Every one of these produces a trace that looks fine in isolation. The failure only becomes visible when the trace is placed next to a baseline, a cost line, an eval trend, and a business outcome. You may see the path; without the surrounding evidence, you cannot know whether the path mattered.
What "enough" looks like
Consider a real pattern: a support agent starts performing worse after a Tuesday afternoon release. With trace-only tooling, an engineer notices elevated latency and some tool retries, shrugs, and files a ticket. With connected evidence, the same investigation reads like a story: model responses slowed after the release; tool calls to the CRM endpoint began retrying; token spend rose in exactly the affected sessions; users escalated to human support more often; eval scores stayed acceptable — but resolution rate fell. Root cause: the CRM response shape changed, and the agent burned context re-asking for what it could no longer parse.
Notice what did the diagnostic work there. Not the trace alone — the joins. Trace to release. Trace to cost. Trace to user behavior. Trace to the KPI. And note the uncomfortable detail that evals passed throughout: quality gates on model output cannot see a failure whose mechanism is a tool contract and whose blast radius is a business metric.
flowchart LR
TR["<b>The trace</b><br/>what the agent did"]
TR --> REL["+ releases<br/><i>what changed it</i>"]
TR --> COST["+ cost<br/><i>what it spent</i>"]
TR --> USR["+ user behavior<br/><i>who felt it</i>"]
TR --> KPI["+ business KPIs<br/><i>whether it mattered</i>"]
REL --> RC["<b>Root cause</b><br/>+ owner + severity"]
COST --> RC
USR --> RC
KPI --> RC
style TR stroke:#7c4dff,stroke-width:2px
style RC stroke:#59ca6f,stroke-width:2px
The trace is the entry point. The joins are the diagnosis.
How AnoSys closes the gap
AnoSys starts where agent observability starts — full-fidelity traces across prompts, model calls, tools, handoffs, and retries — and then attaches the operational layer around them: cost attributed per session and workflow, evals tied to the runs they scored, application and infrastructure telemetry, user behavior, business process events, ownership, and governance context. When an incident happens, the evidence arrives already assembled, and it can be routed to the team that owns the failing step rather than the team that owns the dashboard.
The blind spots to test for
If you want to know whether your current stack is "enough," run a tabletop exercise around these questions. They are deliberately concrete:
| Incident | Trace-only answer | Operational answer |
|---|---|---|
| Agent latency doubles | Which span was slow | Whether users abandoned, which workflow is affected, and whether the cause is model, tool, queue, or deploy |
| Token spend jumps 40% | Which calls used tokens | Which agent, customer segment, tool response, or retry pattern created the spend |
| Evals stay flat but conversion falls | The model output still scores well | The workflow outcome regressed even though answer quality did not |
| A tool starts returning malformed data | Tool-call error or retry count | The owner of the tool, affected accounts, downstream KPI impact, and rollback path |
| Policy violation appears in production | The offending output | The prompt, model, user context, redaction state, owner, and audit trail |
The point is not that traces are weak. The point is that traces are one evidence type. Production teams need the surrounding evidence that turns them into decisions.
What to instrument beyond the trace
The minimum useful operating record for an agent run includes more than prompt and completion text. Add stable identifiers for workflow, user or account, team, environment, model, prompt version, tool version, release, and business outcome. Capture token usage and cost at every model call, not only as a provider export. Attach eval results to the run they scored. Emit product events such as completion, abandonment, conversion, or escalation with the same run ID. Without those joins, the most beautiful trace viewer in the world still leaves the team rebuilding context by hand.
If you are building this muscle for your own agents, the progression that works is: capture the full run first; add evals for quality and task success; attribute cost to agent, workflow, and user segment; then connect traces to app telemetry and business events; and only then invest heavily in alerting — because alerts on connected evidence page you about outcomes, while alerts on raw telemetry page you about noise.
Observability tells you what your agent did. Operational intelligence tells you whether it mattered, what it cost, and who should fix it. Production teams need both, in one place.
Start with AI Agent Tracing, the AI Agent Debugging solution, and the Agent Tracing documentation.