Reliability Measurement for Autonomous Agent Systems
Classical assumptions break when agents produce distributions, not fixed outputs.

Classical software testing rests on one assumption: a given input produces one defined output, and a test fails when the output doesn't match.
The first break is that an agent's output is a distribution, not a fixed value. A string-equality assertion, the backbone of most regression tests, calls that a failure when it's actually two valid answers. A multi-step task can degrade far faster than its single-step accuracy numbers would ever suggest.
The consequence is blunt: a single passing run tells an engineer almost nothing. You have to score reliability as a distribution across many repeated runs, not read it off one pass or fail.
That distribution view also exposes three separate properties, and conventional QA never had to separate them out because conventional software didn't need them separated. Graceful failure asks whether the agent stops and escalates when it can't finish a task, instead of inventing an answer and handing it over as if it were certain.
That third property draws the real line. The other is a liability. Separating the two requires a way to classify failures by kind, not just count them. A purpose-built taxonomy does that.
The six failure clusters that a purpose-built taxonomy must cover
Treating every bad outcome as "the agent got it wrong" hides the fix. Drawing across the research literature, six clusters cover the territory.
Planning failures run deeper. The METR frontier risk assessment, conducted between February and March 2026, found exactly this pattern on a real research task: the agent made a string of incorrect assumptions and steered around the hardest parts of the problem rather than solving them, producing a result that was harder to verify than the task itself.
Safety failures are the cluster easiest to miss because they don't always look like failures.
Measurement validity failures are the strangest cluster, because the failure isn't in the agent at all, it's in the test. One approach to this problem, built by TestMu AI under its Agent Assurance method, reads the agent's own codebase and, where available, its specification documents, then generates functional, non-functional, and adversarial test scenarios from that material, runs the agent for real, and grades each criterion against observed evidence.
The core metrics
Once the failure clusters are named, the next question is how to detect them in practice. Four metrics, used together, cover that detection job. Drop any one and a blind spot opens up somewhere in the taxonomy above.
Task completion rate is the most intuitive: the share of repeated runs in which an agent finishes the task correctly. Ten runs per task is the practical floor here, because fewer runs can't distinguish a genuinely stable agent from one that got lucky once. This lines up with the pass@k idea from conventional software testing, and it carries statistical weight when run across many repeated runs.
Behavioral consistency measures something different: how similar an agent's sequence of actions is across repeated runs of the same task, independent of whether the final answer matched. One study collected agent traces across tasks and models and found that runs with high tool-sequence similarity reached correctness at 90.2%, against 61.2% for runs with low similarity. That gap matters because you can measure consistency before any ground-truth label exists, so it works as a cheap, continuous signal in production where you can't label every run by hand.
Action space stability measures how much the set of things an agent can act on shifts with its environment, a resized browser window, a changed API response schema, a tool that's suddenly unavailable. An agent's effective capability is bounded by what its execution environment exposes to it, so the same model placed in a different harness may literally see a different action space. This metric catches failures that the environment caused, which task completion rate would otherwise blame on the model.
If a system's failures cluster around tool invocation, it needs a different fix than one whose failures cluster around long-horizon degradation, so you should classify failures at triage time to find the cause, not just the symptom.
The execution environment as a first-class reliability variable
A benchmark that held the model, the provider, the reasoning level, and the tools constant, varying only the harness across an identical task set, produced a highest pass rate of 88% and a lowest of 68%. The harness is a direct input to the reliability number, not scaffolding around it.
That changes what a reliability measurement actually represents.
Production evidence backs this up from the other direction. Context drift and state degradation in particular are failures of how a runtime manages memory and context across steps. They don't originate in the model's weights, and that means they're fixable at the infrastructure layer without touching the model at all.
The action space stability metric from the previous section makes this attribution possible: it isolates what changed in the environment from what changed in the model's own behavior, letting a team tell the two apart.
Two concrete developments illustrate what fixing the harness layer looks like. AWS AgentCore Harness, made generally available on June 17, 2026 at AWS Summit New York, runs each session in an isolated microVM and supports any compatible model, including switching providers mid-session, architectural choices that eliminate a whole class of state-contamination failures that would otherwise bleed across sessions. FUJISOFT's "Character Capsule" framework, built on top of AgentCore, packages agent roles, skills, and execution procedures as versioned, reusable capsules, so the harness configuration behind any past run can be recovered later. That recoverability is a prerequisite for ever answering the question of whether a failure came from the model or from the harness around it.
Task length, planning horizon, and reliability in short benchmarks
A well-controlled harness protects against one category of failure. It does nothing to protect against a second, separate one: what happens as the task itself stretches out in time. Frontier agents show a sharp reliability cliff as duration grows: they succeed on short tasks almost every time, but on tasks that would take a human expert several hours, success collapses to a small fraction.
Most standard benchmarks never catch this cliff, because they only evaluate single-turn or short-horizon completions. The reliability science framework for long-horizon LLM agents makes the sharper point: pass@1, a single run graded as a binary, is structurally the wrong tool here. It can't tell an agent that reliably completes the same 70% of runs every time from an agent that unreliably completes a random, shifting 70% each time, even though those are two very different systems wearing the same number.
Two mechanisms drive the long-horizon collapse. How well recovery works varies by framework and by what state storage is configured underneath it.
One agent framework's reported 62% resolve rate on a long-horizon coding benchmark points toward what a better long-horizon benchmark looks like. A single aggregate number averages the cliff away.
What multi-agent systems add to the measurement problem
A multi-agent system's reliability is not simply each individual agent's reliability multiplied together. Coordination introduces a failure surface that doesn't exist in any single agent alone, and it appears once agents start interacting.
Part of what makes this hard is that the execution graph itself changes while the system is running. The number of possible paths through that sequence grows with the capabilities available to the system, so you can't enumerate a fixed set of paths and test them exhaustively the way a traditional test suite tests a fixed function.
That constraint narrows what can be measured but doesn't remove the need to measure it. Schema misalignment, where one agent's output format doesn't match what the next agent expects as input, is a related trap: it appears as a tool invocation failure at the leaf, but it originates in the contract between the two agents, not in either agent's own reasoning.
If you test this properly, you validate the composed system's behavior, not just each agent checked in isolation. The Agent2Agent protocol, announced April 9, 2025, donated to the Linux Foundation on June 23, 2025, with version 1.0 released March 12, 2026 and backing from over 150 organizations including founding technical steering committee partners AWS, Cisco, Google, Microsoft, Salesforce, SAP, and ServiceNow, gives this handoff layer a standard interface. A standard interface is what makes instrumenting that layer systematically possible in the first place, rather than bolting telemetry onto whatever bespoke protocol a given system happens to use.
How observability infrastructure translates reliability metrics into runtime signals
None of the metrics above do any good sitting in a spreadsheet after the fact. They need to be collected as structured telemetry while the agent is actually running, not reconstructed later from logs that were never designed to capture an agent's trace.
The OpenTelemetry GenAI conventions give this a concrete shape. OpenTelemetry version 1.39 extended this further by adding MCP semantic conventions, with attributes including mcp.method.name, mcp.session.id, and mcp.protocol.version, closing what had been a real visibility gap around tool calls made through that protocol.
The timing of this instrumentation matters as much as its content. Monitoring can't wait until a system is already reliable to start. Systems need to be instrumented from their first deployment: the telemetry gathered during early, imperfect operation gives engineers the data to improve reliability.
Behavioral consistency closes this loop most directly. That continuous signal is what makes a production quality service-level objective possible: alongside a standard availability SLO, teams need an error budget that counts wrong answers, not only failed requests, and that only works if "wrong answer" can actually be detected from telemetry rather than depending on a human reviewing every transcript.
A purpose-built agent operating system, one that runs agents in isolated sandboxes with per-agent identity and access controls, logs every action taken, and gates irreversible actions behind approval, is the infrastructure layer that makes this telemetry trustworthy by construction. Retrofitted cloud tooling built for conventional applications doesn't emit the span types or state snapshots needed to reconstruct a multi-step agent trace after something goes wrong.
Building the reliability test suite: what to run, how often, and against what baseline
A reliability test suite for agents looks structurally different from a regression suite.
The suite needs a minimum of ten runs per task, because fewer runs can't separate a stable agent from a lucky one. Action space stability should be tested by running the same task under varied environment configurations, different screen sizes, different API response schemas, different tool availability, so model failures and harness failures don't get lumped together.
Rollback deserves its own attention, because it's the part of the process most often treated as an afterthought. Rolling back a deployment isn't just swapping a container image. Skipping any of that step leaves the system in an undefined state that no amount of container versioning will fix.
The Reflexion pattern, retry loops where an agent reflects on why a previous attempt failed before trying again, is often the cheapest way to improve reliability without retraining the underlying model, and it belongs in the suite as a direct check: does the reflection step actually change behavior on the retry, or is the agent just trying the same thing twice? High-stakes evaluation work, including testing frameworks built for military command-and-control systems and the broader agentic AI validation literature, pushes this further: the suite has to check behavioral bounds, not just correctness. That same requirement generalizes to any production context where a wrong action carries consequences that can't be undone.
The capability-reliability gap as a standing engineering problem, not a temporary benchmark artifact
Frontier agents can now handle longer task horizons than they could before, but reliability at those longer horizons hasn't kept up with that expansion. Rising capability and rising reliability are not the same trend, and they need to be tracked as two separate numbers, not one.
The gap doesn't necessarily close on its own as models improve. One study evaluated multiple models across standard benchmarks and found that about eighteen months of model development raised reliability only a little, even as raw capability rose substantially over the same period. The International AI Safety Report 2026 treats this as more than an academic curiosity: it identifies reliability as a heightened risk specifically for agents and multi-agent systems, inside a broader "risks from malfunctions" category that spans all AI systems, and it ties that risk directly to how hard it is to predict and monitor what an AI system will actually do. That framing puts measurement in the category of a risk-management obligation, not a QA nicety a team gets to when there's time.
The gap also has a structural driver that no model upgrade fixes by itself. As agents get more capable tools and longer task horizons to work across, the number of places something can go wrong grows faster than per-step accuracy can improve to compensate for it. That's why the harness, the runtime, and the measurement framework around an agent all matter independently of which model version happens to sit at the center of the system.
The practical implication is that the framework laid out across this article is a continuous discipline that has to be updated as task horizons extend further, as new tools get added to an agent's action space, and as multi-agent topologies shift and grow more complex. Purpose-built agent infrastructure, a runtime that enforces per-agent identity, gates irreversible actions behind approval, persists state across sessions, and emits structured telemetry as a default, reduces the burden of running that discipline by making the data this framework needs a byproduct of normal operation, replacing the separate instrumentation project bolted onto tooling that was never built for agents.


