THE INDEPENDENT RECORD · AGENTIC AI AS A SERVICE AboutStandardsContact
GAASAGENTIC AI · AS A SERVICE
INDEPENDENT · SINCE 2026
UPDATED DAILY
NO HYPE · NO PAY-TO-PLAY
PER-TASK PRICING NOW STANDARD ● NEW BENCHMARK: 71% TASK COMPLETION ● ENTERPRISE PILOTS UP 4X ● RUNTIME FUNDING ACCELERATES ● "AGENTS ARE THE NEW SEATS" ● MARGINS UNDER PRESSURE ● THE INDEPENDENT RECORD ON GAAS
Reliability

Measuring Hallucination Rates in Agentic Workflows (Without Fooling Yourself)

Most teams report a single hallucination percentage and call it a day. That number is almost always wrong, not because the math is hard, but because they measure the wrong unit, at the wrong layer, against the wrong reference. In an agentic workflow, a hallucination isn't just a made-up fact in a paragraph of text; it's a fabricated tool argument, an invented intermediate result, or a confidently wrong premise that poisons every downstream step. This piece breaks down how to actually measure it: what to count, where to instrument, how to set up references, and why per-step rates lie to you about end-to-end risk.

By A. Reyes · Jun 19, 2026 · 13 min read

Table of Contents

What a Hallucination Even Means in an Agentic Context

Start here, because most arguments about hallucination rates are really arguments about definitions that nobody bothered to write down.

In a plain chatbot, a hallucination is intuitive: the model states something false or unsupported as if it were true. The classic taxonomy splits this into intrinsic hallucinations (the output contradicts the source you gave it) and extrinsic ones (the output adds claims the source never supported). That distinction, drawn from the survey literature on hallucination in natural language generation, still holds up and is worth keeping in your head.

But an agent isn't generating a single paragraph. It's running a loop: read state, decide, call a tool, observe the result, decide again. Hallucinations leak in at every joint of that loop, and they don't all look like false sentences:

Lump all of these under one "hallucination rate" and you've blurred failure modes that need completely different fixes. A retrieval-grounding miss is a context problem. A fabricated tool argument is a schema-and-validation problem. A capability hallucination is an observability problem, and arguably the most dangerous, because it's the silent failure variety where the agent looks like it succeeded.

Why Single-Number Rates Mislead

"Our agent hallucinates 3% of the time." Three percent of what?

Three percent of generated tokens? Of claims? Of steps? Of completed tasks? Each denominator tells a wildly different story, and vendors routinely pick the flattering one. A 3% per-claim rate on an agent that makes 40 claims per task means almost no task is clean. A 3% per-task rate means 97 out of 100 jobs are trustworthy. Same headline, two different products.

There's a second, subtler trap: the single number erases where in the workflow the error happened. A hallucination in step one of a ten-step financial reconciliation is catastrophic, everything after it is built on sand. A hallucination in the final summary, where a human reviews the output anyway, might be a cosmetic annoyance. Averaging them into one rate throws away exactly the information you need to triage.

This is why I push teams toward a small matrix rather than a scalar: hallucination type × workflow position × severity. It's more work to populate, but it's the difference between "we have a hallucination problem" (useless) and "fabricated tool arguments in our lookup step are causing 60% of our high-severity incidents" (actionable).

The Unit of Measurement Problem

Pick your unit deliberately. The three that matter most:

Per-claim rate. Decompose the agent's output (and ideally its intermediate reasoning) into atomic, checkable claims, then verify each against a source. This is the most granular and the most honest, and it maps cleanly onto factuality-evaluation approaches like Google's SAFE method for long-form factuality, which splits answers into individual facts and checks each one. The downside is cost: decomposition plus verification is expensive at scale.

Per-step rate. Treat each agent action (one model call, one tool invocation) as the unit and ask whether that step introduced an ungrounded claim or a fabricated argument. This aligns naturally with end-to-end tracing of a multi-step agent run, you're already capturing each step, so you annotate each one pass/fail.

Per-task rate. The unit is the whole job. Did the completed workflow contain any hallucination that affected the outcome? This is what buyers actually care about, because it's the unit of value they're paying for in a per-outcome GaaS pricing model.

My strong recommendation: measure per-step for engineering and debugging, but report per-task for the business. The two are connected by compounding math (more on that below), and the gap between them is the single most underappreciated number in agent reliability.

Where to Instrument: Layers of an Agent Run

You cannot measure what you don't capture. A meaningful hallucination measurement program needs instrumentation at four layers:

  1. Input/context layer, what was actually in the prompt and retrieved context when the model made each decision. Without this you can't tell a hallucination (ungrounded) from a faithful-but-wrong-source error.
  2. Reasoning layer, the model's intermediate chain of thought or scratchpad, where premise hallucinations are born. Capture it even if you don't show it to users.
  3. Action layer, the exact tool calls, arguments, and raw tool responses. This is where you catch fabricated arguments and observation mismatches.
  4. Output layer, the final user-facing artifact.

The reason traditional APM falls short here is that it's built for latency and error codes, not for "the agent said something untrue." You need the full payload trace, structured by step, with the context attached, which is exactly what the emerging agent observability tooling category is racing to provide. If you're capturing only the final output, you're measuring the tip of the iceberg and missing every upstream cause.

Methods That Actually Work

No single method catches everything. Stack them.

Reference-Based Grounding Checks

For any step that uses retrieved context or tool output, the question is: is every claim in this step entailed by the source it cites? This is a natural-language-inference problem. You can run a smaller, fast NLI model to check entailment between each claim and its supporting passage, flagging claims that are "neutral" or "contradicted."

This works beautifully for RAG-style steps where there's a clear source to check against. It works poorly when there is no source, when the agent is reasoning from general knowledge with nothing to ground against. For those steps you need a different tool.

Self-Consistency and Sampling

Run the same step multiple times at non-zero temperature and compare. If the agent gives you a customer's account balance as $4,200 once, $4,200 again, and $11,750 on the third try, that variance is a hallucination smell, the model is generating, not retrieving. Methods in this family, like SelfCheckGPT's sampling-based consistency checks, exploit the insight that fabricated content is unstable across samples while grounded content is stable.

The catch in agentic workflows: sampling multiplies cost and, worse, can produce divergent action trajectories that are hard to compare. You're not comparing two paragraphs; you're comparing two different sequences of tool calls. Use this selectively, on high-stakes individual steps, not across whole runs.

LLM-as-Judge, Used Carefully

A capable model can grade whether a step's claims are supported by its context. It scales, it's flexible, and it's the workhorse of most modern eval suites. It is also biased, gameable, and prone to its own hallucinations about whether something was hallucinated.

Three guardrails I insist on: give the judge the source material, not just the claim, so it's checking grounding rather than guessing plausibility; calibrate the judge against a human-labeled golden set and measure its agreement rate before you trust it; and never let the same model family that produced the output be the sole judge of it. Anthropic's guidance on defining and testing model behavior through evals is a good grounding in why your eval is only as trustworthy as its calibration against human labels.

Tool-Call Verification

This one is underused and high-leverage. For every tool call, you have a deterministic check available that doesn't need an LLM judge at all: did the arguments correspond to real entities? Did order_id="ORD-88421" exist before the agent referenced it? Did the agent's claimed observation match the actual API response byte-for-byte?

Because tool calls are structured, you can verify them with plain code. Fabricated IDs, out-of-range parameters, and observation-report mismatches are catchable with assertions, not models. If you do nothing else, instrument this layer, it's the cheapest, most reliable hallucination detector in the whole stack, and it directly catches the failure mode that causes real-world damage.

Compounding: From Step Rate to Workflow Rate

Here's the math that should keep agent builders up at night.

If a single step is hallucination-free 97% of the time, an independent ten-step workflow is clean only 0.97¹⁰ ≈ 74% of the time. At twenty steps, you're at 54%, a coin flip. The per-step number looks great on a slide; the per-task number is a different business entirely.

Two important caveats keep this from being purely doom. First, steps aren't fully independent, a hallucination early often causes later ones (the premise problem), which makes things worse, not better, because errors correlate downstream. Second, not every hallucination affects the outcome; some get caught by a later verification step or a tool that simply rejects a bad argument. The presence of verification layers that check one agent's work with another can claw back a meaningful chunk of that compounding loss.

The practical takeaway: report the compounded per-task rate as your headline reliability number, and treat the per-step rate as a diagnostic. A team that only knows its per-step rate genuinely does not know how reliable its product is. This is the same reason "99% accurate" is close to meaningless for multi-step agents, the accuracy that matters is the one that survives compounding.

Building a Measurement Pipeline

A workable program, roughly in build order:

  1. Define your hallucination taxonomy for your domain. Write down the five-or-so types that actually occur in your workflows, with concrete examples. Without this, your labelers will disagree and your rate will be noise.
  2. Build a golden dataset of real (or realistic) tasks with known-correct outputs and known-correct intermediate states. This is the foundation, your golden datasets for vertical agent evals are what every method above gets calibrated against.
  3. Instrument all four layers so every eval run captures context, reasoning, actions, and output, structured by step.
  4. Layer the detectors: deterministic tool-call checks first (cheap, reliable), NLI grounding checks on retrieval steps, sampling on high-stakes steps, LLM-judge for the rest, with the judge calibrated against human labels.
  5. Run continuously, not once. A pre-launch rate is a snapshot; models drift, prompts change, and tool schemas evolve. Hallucination rate is a metric to monitor in production, the same way you'd watch for an agent slowly getting worse over time.
  6. Sample human review on a slice of production traffic to keep your automated judges honest. The moment your judge's agreement with humans drifts, your reported rate is fiction.

What Good Looks Like by Vertical

There's no universal acceptable rate, and anyone quoting one is selling something. The threshold is a function of severity and reversibility.

A customer-support agent drafting a reply that a human approves can tolerate a higher per-step hallucination rate, the human is the verification layer. A financial-reconciliation agent that moves money autonomously needs per-task rates with several nines, because the cost of a single fabricated number is a wrong transaction and a compliance event. A medical-information agent sits at the extreme end, where even low rates demand mandatory human review.

The honest move is to publish your rate with its definition and denominator, unit, layer, reference standard, and the vertical's severity profile. A vendor that says "0.4% per-task hallucination rate, measured per-claim against source documents on a 500-task golden set, human-calibrated monthly" is telling you something real. A vendor that says "99% accurate" is telling you nothing.

Insights Most People Overlook

The most dangerous hallucinations are the ones your eval can't see. Capability hallucinations, "I've sent the email" when no email went out, produce a perfectly plausible final output. If you only grade the text, you'll score it as correct. The only way to catch it is to reconcile the agent's claims of action against your action logs. Most hallucination evals never check this, which is why the silent-failure mode survives so long in production.

Measuring hallucination can reduce it, for the wrong reason. Teams that instrument tool-call verification often find the rate drops not because the model improved, but because they started rejecting fabricated arguments at the tool boundary. That's a real reliability gain, but it means your "hallucination rate" is now partly a measure of your guardrails, not your model. Be explicit about whether you're measuring generation or generation-after-defenses; they're different numbers and people conflate them constantly.

Faithfulness and correctness are not the same axis, and chasing one can hurt the other. An agent can be perfectly faithful to a retrieved document that is itself wrong or outdated, zero hallucination, wrong answer. Optimize purely for grounding and you'll build an agent that confidently parrots stale data. You need both a faithfulness metric (is it grounded in the source?) and a correctness metric (is the source right?), and they require different references.

Per-step independence is a comforting lie. The compounding math assumes independent steps, but real hallucinations correlate, an early fabrication seeds later ones. This means your true per-task rate is usually worse than the naive 0.97ⁿ estimate, not better. If you model compounding as independent, you're being optimistic about exactly the thing you most need to be pessimistic about.

Your LLM judge will hallucinate about hallucinations. A judge model asked "did this contain a hallucination?" will sometimes invent a hallucination that isn't there, or miss a blatant one. Treat the judge as another agent that needs its own reliability number, measured against human labels. An uncalibrated judge doesn't give you a hallucination rate, it gives you the judge's opinion, which has its own error bars you haven't measured.

References

#agent reliability evaluation

More in Reliability