Agentic AI
Guide
September 7, 2026

Agentic AI in Production: What Breaks and How to Catch It

Girish Bhat
SVP, Revefi

Key takeaways

  • Agentic systems fail across steps, not inside one call, so traditional ML monitoring cannot see the failure.
  • Five modes recur, each with a paired signal, though the cheapest ones catch only loud failures.
  • Every one of those signals only means something once it is aggregated above the model call, which is where existing monitoring stops looking.
  • At a 5% per-step failure rate, a seven-step pipeline leaves up to about 30% of runs with at least one failed step.
  • Instrument before you scale, because the retrofit cost lands on the team that inherits the code.

Visualize this: the pipeline passed every pre-deployment check, and three weeks into production, someone in support forwards a screenshot of an answer that is confidently, specifically wrong. Nothing errored and nothing paged. The run is logged as a success. The step that made it wrong is four steps upstream of the sentence in the screenshot.

Why agentic AI fails differently from single-model inference

An AI application takes one of two shapes. In a single-model system, a request goes to one model, which returns one answer in a single inference call. In an agentic system, a model works through a task across many steps, calling tools, retrieving data, and feeding each result into the next decision. A single-model call fails where you can see it, in the one input and the one output you already log. An agent run can return a right answer by a path that breaks the following week. Which one you are running is a design choice, and single-model stays the right call whenever one cheap, testable inference does the job.

Traditional ML monitoring (machine learning monitoring) catches problems inside one call: latency, error rate, and, for LLM (large language model) calls, token usage. It wasn't built for tool calls, context state, or errors that compound across steps.

That distinction changes what an incident looks like. With one call, the postmortem starts from an error, and the trace is the request. With a run, the error is often several steps upstream of the symptom, so the first question is which step to open before you can ask what went wrong. Teams that keep their existing alerting and add nothing else end up paging on the step that produced bad output, not the step that produced bad input, and the two are rarely the same step.

Four structural differences break traditional ML monitoring at this layer:

  • State accumulates across steps. Context windows fill and history compounds. Working memory at step seven looks nothing like step one.
  • External dependencies are invisible. Tool calls reach APIs (application programming interfaces), databases, and services that traditional ML monitoring never sees.
  • Errors compound instead of surfacing. A small mistake at step two can become a confident wrong answer at step seven.
  • Success is harder to define. A completed run isn't the same as a correct run.
Where the signal has to live
If a signal only fires on the final output, it can only catch runs that failed loudly. Every run that reached a plausible answer through a broken path looks identical to a good one. Assume any mode you cannot see at the step or tool call level is invisible to you in production, and instrument it there rather than at the end.

The five failure modes of agentic AI in production

Failure ModeWhy It HappensMonitoring Signal to WatchUser Impact If Missed
Tool call failureExternal API unavailable, malformed arguments, missing authTool error rate per step, retry spikeSilent wrong output or hung pipeline
Context window exhaustionAgent accumulates state across many steps without pruningToken count per run, context window utilizationTruncated reasoning, degraded output quality
Compounding errorsEarly-step error silently propagates through downstream stepsStep success rate, output quality driftConfidently wrong final answer
Hallucinated function argumentsModel generates plausible but invalid parameter valuesArgument validation failure rate, schema mismatch countSilent incorrect action taken
Infinite loop or runaway agentAgent re-invokes itself without a convergence conditionStep count per run, cost spike, latency anomalyRunaway spend, no output delivered

Table 1: Every agentic failure mode has a paired monitoring signal. Those signals live at the run, step, tool call, context, and output levels, not inside the model inference call.

Failure mode 1: Tool call failures

The causes are ordinary: an unavailable API, malformed arguments generated by the model, expired credentials, rate limit exhaustion. The handling makes them dangerous. Many frameworks retry silently or return null, so the pipeline continues and the error gets buried in a later output. Tracking says success. Everything downstream proceeds as if that were true.

Track tool error rate per step, per agent, and per tool type. That third dimension is the expensive one, since one series per tool per agent adds up fast and on a large fleet we sample it rather than hold full fidelity, and it is also the one that makes a 2 AM page triageable because it separates an API outage from a model generating bad arguments. The retry spike moves before the error count does, so that is what to alert on. You will usually have to produce that number yourself: silent means the framework swallows the error, not that it hides the attempt, so count call attempts per step at the tool client.

Failure mode 2: Context window exhaustion

Agents accumulate state at every step: prior tool results, prior model outputs, conversation history. When the context window fills, the framework truncates earlier content, and the agent continues with incomplete information. Some frameworks summarize instead, some drop oldest-first, and some raise an error. Confirm which one yours does before you trust the signal.

Context window utilization is content-blind. It tells you the window filled and never whether what got dropped mattered. Treat it as a starting signal, not a sufficient one. Where the framework truncates rather than raising, the output degrades with no error to catch, so alert at 70% and 90% of the model's limit until you have a per-agent growth rate to set it against, and spot-check the runs that cross.

Failure mode 3: Compounding errors across steps

An error at step N doesn't necessarily produce an error at step N+1. It produces a wrong input. The model at step N+1 can't know its input is wrong, so it processes it confidently and hands a further-degraded result to step N+2. No single step looks broken. By the final output, the error has been rewritten by several model calls where output inspection won't find it.

The compounding math
At a 5% per-step failure rate across a seven-step pipeline, about 30% of runs contain at least one failed step, because 1 minus 0.95 to the seventh power is 0.302. Push the same agent to ten steps, and 1 minus 0.95 to the tenth power gives 0.401. The calculation assumes steps fail independently. Real failures cluster, so treat 30% as the upper end for how many runs contain a failed step. Clustering concentrates the damage into fewer runs without reducing it. Either way, step success rate is worth instrumenting first, because run-level failure is driven by per-step failure whatever the dependence structure.

The signal that matters most here is also the hardest to compute, because correlating early-step anomalies with final quality needs a quality label on the output, and you may not have one. Where you capture human feedback, use it as the label. Where you do not, output schema compliance is a cheaper proxy, and it catches the malformed cases while missing the plausible-but-wrong ones. Instrument step success rate first either way, since it needs no label at all. Be clear about what it buys you: it catches the steps that fail loudly and is blind to the ones that returned something plausible.

Failure mode 4: Hallucinated function arguments

A model generating function call arguments can produce values that are syntactically valid but semantically wrong: a date string in the right format but the wrong date, a user ID that looks plausible but doesn't exist. These pass schema validation and then cause incorrect downstream actions. Validating against business-logic constraints is the fix, and it is expensive because someone writes and maintains those constraints by hand. Blast radius is the line worth drawing. Arguments that touch write paths earn the constraints; read-only calls stay on schema validation.

Failure mode 5: Infinite loops and runaway agents

Agents without well-defined convergence conditions can re-invoke themselves indefinitely, particularly in ReAct-style architectures (reasoning and acting, where the model chooses its own next action). Baseline step count per run first. A hard step ceiling is simple and safe for an agent with a bounded task. For an open-ended research agent, the same ceiling produces false kills, so budget on cumulative run-level cost and let step count float. It catches the loop after the spend, not before.

Why traditional ML monitoring falls short for agents

Monitoring LayerWhat to TrackAdequate with Traditional ML Monitoring?
Model inferenceLatency, error rate per call, token usage for LLM callsYes, this is what it was built for
Tool callsCall success rate, argument validity, retry rateNo, tool calls are invisible inside a single inference call
Agent step sequencingSteps per run, step success rate, divergence from expected pathNo, multi-step logic is a new abstraction layer
Context managementToken accumulation rate, context window utilization, pruning eventsNo, context state is opaque without tracing
Run-level costAttribution per run, per step, per user, and per model callPartial, per-call cost exists, but run-level cost does not
Output quality driftHallucination rate, output schema compliance, user rejection ratePartial, only if human-in-the-loop feedback is captured

Table 2: Traditional ML monitoring covers the first row completely and the last two partially. The agent orchestration layer in between is where production incidents live.

The agent orchestration layer, meaning step sequencing, tool calls, context state, and run-level cost, sits above the model layer and below the application layer. Tooling for it is young, and the stack you are running now was probably assembled before the layer existed. Cost is the clearest case. Per-call pricing exists everywhere, and run-level attribution does not, so a run that burned forty dollars across nine steps arrives as nine separate line items. Cloud data cost optimization addresses that gap.

You can't close the gap by adding dashboards to an existing stack, because the data model differs. Traditional ML monitoring thinks in requests and responses. Agents produce runs, steps, and tool calls, which need different instrumentation, storage, and query patterns. A request-and-response schema has nowhere to put "step seven of eleven called the pricing API with a malformed date, and the framework retried twice before returning null." That line is what the support screenshot resolves to.

The shape we want already has a name outside AI. OpenTelemetry defines a trace as the path of a request through an application, built from spans that nest in parent and child relationships. An agent run maps onto that model cleanly: the run is the trace, each step is a span, and each tool call is a child span. If your platform already emits traces, the storage problem is largely solved, and the remaining work is instrumenting the agent loop itself.

What agentic data observability actually requires

Agentic data observability is the practice of instrumenting agent runs at every level where they can fail. It extends data observability upward, out of pipelines and tables and into the orchestration layer where agents operate. That means instrumentation at five levels:

  • Run level: End-to-end latency, run-level cost, success or failure, step count.
  • Step level: Step success rate, per-step latency, input and output token count, error type, tool invoked.
  • Tool call level: Call success rate, argument validity, external dependency health.
  • Context level: Token accumulation rate, context window utilization, pruning events.
  • Output level: Schema compliance, output quality drift, hallucination rate.

Two of the five are worth having before the others. Step success rate needs no quality label, and it turns a bad run into a bad step, so step level comes first. Tool call level comes second, because that is where a failed step gets a cause you can act on. Run level is cheap once you have both. Context and output level cost more. One depends on framework internals you may not control. The other needs a label you may not have.

Why retrofitting costs more
Instrument before you scale. Instrumentation is cheap while the architecture is still being written and expensive to retrofit, because retrofitting means touching call sites a codebase has since grown around. Emitting traces already reduces that cost, but it does not remove it.

From signals to production reliability

Collecting signals is the easy half. Agents move faster than anyone reads a dashboard. A signal that needs a person to notice it is already too late.

Calibrate per agent, not per fleet. A step count of 12 is routine for one agent and a runaway for another, and one threshold across a fleet buys false alarms and missed incidents at the same time. That costs lead time. Every new agent needs a baseline before its alerts mean anything. Budget about a week of running it unalerted.

The harder constraint is on the trace itself, because it has to survive the incident. Sampling that keeps a uniform slice will throw away the run you need, so decide at the tail: sample on outcome and keep every failed run whole. Tail sampling costs memory: you cannot know the outcome until the run ends, so you buffer every run's spans and discard on success, and a run that hangs is a buffer that never closes. Agentic data observability covers what that loop looks like running continuously.

What this doesn't do: none of it tells you whether the agent should have been given the task in the first place. Observability answers what ran, what it cost, and where it broke. In a regulated setting, it also supplies what you show, because "the agent decided to" is not an answer unless you can produce the trace.

How to evaluate an agentic data observability platform

Five questions separate platforms built for agents from those retrofitted for them:

  • Can you show me a full trace of a ten-step agent run, with tool call detail at each step?
  • Does your cost attribution work at the run level, or only at the model-call level?
  • How do you detect a filling context window before output quality degrades?
  • What happens when an external tool dependency goes down, and how does that surface?
  • Does your platform cover multiple model providers (OpenAI, Anthropic, Google, open-source) inside a single agent run?

Question two is the one a demo can fake, because per-call cost summed in a dashboard looks identical to run-level attribution until you ask which run. Ask for a trace of a failed run, not a successful one. A platform that shows a clean ten-step trace and can't show you where a retry swallowed an error is instrumenting the wrong half.

Girish Bhat
SVP, Revefi
Girish Bhat is a seasoned technology expert with Engineering, Product and B2B marketing, product marketing and go-to-market (GTM) experience building and scaling high-impact teams at pioneering AI, data, observability, security, and cloud companies.
Blog FAQs
What are the most common ways agentic AI fails in production?
Five modes recur: tool call failures, context window exhaustion, compounding errors, hallucinated function arguments, and runaway agents. Every one happens at a seam between steps, where no single step logs an error. We do not rank them by frequency. The silent ones do the damage.
How do I monitor tool call failures in a multi-step AI pipeline?
Break tool error rate down by step, by agent, and by tool type. A framework that retries twice and returns null moves the retry count long before anything registers as a failure, so put the alert on retries. Budget cardinality first and sample by tool type. That is where the long tail sits.
What is agentic data observability, and how is it different from traditional ML monitoring?
It instruments the agent loop: the run, its steps, the tools each step invokes, and the context accumulating across them. Traditional ML monitoring watches one inference call, so everything between calls, which is where agents do their work, falls outside what it can see.
Can existing AI observability tools handle agentic workflows, or do I need a purpose-built platform?
They cover the model layer well, and the orchestration layer poorly, and the cause is the data model. The practical test is whether your tool can group by run: if the steps of one run are not retrievable as a single object, no dashboard work will give you a trace.
What metrics should I track to catch a filling context window?
Token count per step and per run, plus context window utilization. Set the first alert where token growth would fill the window within two more steps. That fires earlier than a fixed percentage for agents that add context fast, later for ones that add it slowly. Utilization is content-blind, so sample the crossing runs.