Failure modes only multi-agent systems have
Lesson 4 of 5 in Multi-Agent Systems: When One Agent Isn’t Enough.
A single agent can hallucinate, loop, and burn budget — you know that catalogue from the single-agent module. Multi-agent systems keep all of it and add a genuinely new class: coordination failures, bugs that live in no agent’s context but in the space between contexts. Distributed-systems engineers have met every one of these before. The twist is that your “nodes” improvise.
Deadlock — everyone is waiting for someone else
Vignette: a refunds agent needs policy approval before acting and messages the policy agent. The policy agent needs the order details to rule, and asks the refunds agent — which is blocked awaiting approval and never answers. Both sit at “waiting for input.” No error fires, no token is spent; the task is simply frozen forever.
Defense: timeouts and a stopping condition on waiting, not just acting — any task blocked longer than N minutes escalates to the supervisor or a human. Deadlock is a runtime problem; no prompt fixes it.
Divergent state — two agents, two versions of the truth
Vignette: a travel supervisor fans out a flight-booking worker and a budget-review worker. The budget worker concludes the trip exceeds policy and marks it cancelled in its report. The flight worker, mid-task with no way to know, books a non-refundable ticket for a trip that no longer exists. Both did their jobs perfectly.
Defense: one writer per resource. Shared, mutable facts (bookings, balances, files) live in an external store with a single owner — parallel workers read freely but funnel writes through one agent or through orchestration code that serializes them.
Telephone-game briefs — meaning decays at every hop
Vignette: the user says “cancel the subscriptions I don’t use anymore.” The supervisor briefs a worker: “cancel unused subscriptions.” The worker, finding no usage data, reasons that unverifiable usage means unused — and cancels everything, including the one the user opened that morning. Each compression was locally reasonable; the composite is a catastrophe.
Defense: pass constraints verbatim, not paraphrased — quote the user’s words inside the brief; put irreversible actions behind an approval gate regardless of which agent requests them.
Agent ping-pong — the hot potato that bills by the token
Vignette: a billing agent decides a question is technical and hands off; the tech agent decides it is about billing and hands back. Neither is wrong by its own instructions. The conversation bounces — and unlike deadlock, this failure burns tokens the whole time.
Defense: a hop budget enforced by the runtime (three handoffs, then escalate to a human) and routing evals that catch overlapping specialist definitions before production does.
Key terms: deadlock, divergent state, telephone-game brief, approval gate, stopping condition
Interactive checkpoint quiz (1 questions) — open this page in a browser to take it.