Architecture · 7 min read · Aug 12, 2026

More agents is not more capability.

Multi-agent architectures are the default diagram in most AI proposals now, usually drawn before anyone has established that one agent was insufficient. Sometimes splitting the work is right. Often it converts a debuggable system into an undebuggable one.

What splitting actually buys

There are three real benefits, and it is worth being able to name which one you are pursuing before drawing the diagram.

  • Context isolation. Each agent sees only what its step needs, so noise and errors stop propagating forward.
  • Separable evaluation. A narrow component can be tested on its own; a monolith can only be judged end to end.
  • Different privileges per step. An agent that reads untrusted content and one that holds credentials should not be the same agent.
Three reasons to split work across agents: context isolation so errors do not propagate forward, separable evaluation so a narrow component can be tested alone, and split privileges so untrusted input and credentials never share a context.
Three good reasons. The third is a security argument, and the most defensible.

That third one is a security argument rather than a capability argument, and it is the most defensible reason to split. If untrusted input and privileged access currently meet in one context, separating them removes a direct path an attacker can use — and no amount of prompt hardening achieves the same thing.

What splitting costs

Every boundary you add is a place information is lost and a place failure can hide.

CostHow it shows up
Error compoundingSmall per-step failure rates multiply across a chain
Lost nuanceEach handoff is a summary; detail does not survive it
Attribution difficultyA bad final answer has five plausible causes
Latency and costEvery step is another call, and they add up
NondeterminismSame input, different path, different result

Error compounding is the one that surprises people, because it is arithmetic rather than judgement. Steps that are individually reliable stop being collectively reliable as the chain lengthens — and this is precisely why long autonomous chains demo well on a happy path and disappoint on real inputs.

Chain reliability against number of steps. With independent steps at 99% each, an eight-step chain reaches about 92%. At 95% each it reaches about 66%. At 90% each it reaches about 43%. The curves fall away faster as steps are added.
p to the power n for independent steps — arithmetic, not a measurement of any system.

A five-step agent chain where each step is 95% reliable is not a 95% reliable system. Reliability has to be designed at the chain level, not assumed from the parts.

Try the simpler thing first

Before splitting into agents, most problems attributed to a single agent's limits are better addressed one layer down: better retrieval so the right material is present, tighter context so critical instructions are not diluted, and structured tool definitions so the model is choosing between clear options rather than inferring intent.

The useful diagnostic is what the failures look like. If the agent fails because it did not have the right information, splitting will not help — you have a context problem and adding a coordinator adds a place for the information to get lost. If it fails because it is genuinely juggling incompatible jobs in one context, splitting is the right response.

The shapes that work

Where multi-agent designs hold up in production, they tend to look like pipelines rather than conversations. Fixed sequence, defined contract at each boundary, validation between steps, and no agent deciding at runtime which other agent to consult.

The pattern that reliably disappoints is the opposite: autonomous agents negotiating with each other to decide who does what. It is the most compelling architecture on a slide and the hardest to make behave the same way twice, because the coordination itself becomes nondeterministic and there is no single place to look when it goes wrong.

Two structural rules make the difference in practice. Validate between steps rather than trusting handoffs — a schema check at each boundary catches compounding errors while they are still attributable. And keep the orchestration in ordinary code rather than in a model: a deterministic controller calling models for the judgement calls is dramatically easier to test, reason about and debug than a model deciding the control flow.

The question to answer first

Before adding an agent, answer this: what will this component do that the existing one cannot, and how will I know which component was responsible when the output is wrong?

If the second half has no clear answer, the split will make the system harder to operate without making it more capable. That is the common outcome, and it is usually discovered several months after the architecture was fixed.

Dealing with this in your own group?

We answer scoping questions before there's a contract in sight — including the ones about cost and data handling.

Questions

Short answers,
in full.

The questions this article gets asked most, answered so each one stands on its own.

Talk to us
When should we use multiple AI agents instead of one?

When you need context isolation so noise stops propagating, separable evaluation so components can be tested individually, or different privilege levels per step. That last case — separating an agent that reads untrusted content from one holding credentials — is the most defensible reason, because it removes an attack path that prompt hardening cannot close.

What goes wrong with multi-agent systems?

Error rates compound across a chain, so individually reliable steps are not collectively reliable; each handoff is a summary that loses detail; a bad final answer has several plausible causes, making attribution hard; and latency and cost rise with every step. Reliability has to be designed at the chain level rather than inferred from the parts.

What should we try before splitting into multiple agents?

Better retrieval, tighter context and clearer tool definitions. The diagnostic is what the failures look like: if the agent fails for lack of the right information, splitting adds another place for information to be lost. If it fails because it is genuinely juggling incompatible jobs in one context, splitting is the right response.

What multi-agent architecture actually works in production?

Pipelines rather than conversations — a fixed sequence, a defined contract at each boundary, and schema validation between steps so compounding errors stay attributable. Keep orchestration in ordinary code rather than having a model decide control flow; autonomous agents negotiating who does what demos well and is very hard to make behave the same way twice.