April 10, 2026 · 6 min read
A Multi-Agent System Coordination Failure, Postmortem
Two agents, each individually correct, produced a wrong answer together. The failure mode had nothing to do with either agent's intelligence and everything to do with coordination.
We built a two-agent pipeline for a client: a research agent that gathered facts from internal documents, and a writing agent that turned those facts into a customer-facing summary. Each agent, tested in isolation, performed well. Put together in production, they produced confidently wrong answers often enough that we had to pull the feature within a week.
The failure wasn't a hallucination in the traditional sense — neither agent was inventing facts. The research agent would correctly retrieve a fact with an important caveat attached ('this discount applies only to annual plans'), and the writing agent, working only from a condensed hand-off rather than the full retrieved context, would drop the caveat because it wasn't flagged as structurally important in the hand-off format.
Where the actual bug was
The hand-off between the two agents was a flat block of text, and the writing agent's prompt treated every sentence in that block with roughly equal weight. Caveats, exceptions, and qualifiers got the same treatment as the core fact they modified, and when the writing agent compressed the information for a shorter customer-facing answer, qualifiers were exactly what got cut — they look like the least essential sentence in a paragraph, even when they're the part that prevents the answer from being wrong.
Neither agent was broken. The handoff between them was, and that's a harder bug to see because no single agent's logs look wrong.
The fix
- Changed the research agent's output format to explicitly tag caveats and exceptions as a separate structured field, not inline prose
- Changed the writing agent's prompt to explicitly require surfacing any tagged caveat in its own output, not treating it as optional detail
- Added an automated check comparing caveat presence in research output against caveat presence in final output, failing the pipeline if one disappeared
The broader lesson was about where we'd been testing. We'd evaluated each agent extensively against its own task and never evaluated the information that survived the handoff between them. In any multi-agent system, the handoff is a place failures can hide that neither agent's individual eval will ever catch, because both agents can look correct in isolation while the system as a whole is wrong.