Unit 09.04: Failure modes unique to multi-agent graphs
Five failures that do not exist in a single-agent graph. Each is a cost of the architecture rather than a bug in any agent.
Ping-pong, lost context, clobbering, diffused blame, cost blowup
Each has a specific mechanism and a specific fix, and the fixes are all things you build rather than things you configure.
The code lists all five with their mechanisms and remedies.
FAILURES = [
("ping-pong", "A routes to B, B routes back to A, forever",
"a hop counter in the state with a ceiling"),
("lost context", "B needs a field A never put in the handoff",
"an explicit handoff contract, tested"),
("clobbered state", "two agents write the same field, one wins silently",
"a reducer, or disjoint field ownership"),
("diffused blame", "the answer is wrong and no agent owns the claim",
"record which agent wrote each field"),
("cost blowup", "each hop re-sends the accumulated context",
"trim the handoff, measure tokens per hop"),
]
for name, what, fix in FAILURES:
print(f"{name}")
print(f" what: {what}")
print(f" fix : {fix}")
print(f"\n{len(FAILURES)} failure modes that do not exist in a single-agent graph.")
# Every one of these is a cost of the architecture, not a bug in an agent. They
# are the reason the previous unit asks whether one agent could have done it.
Diffused blame is the one that is hardest to design against. When three agents contribute to an answer and the answer is wrong, no single agent owns the claim, and the trace shows three plausible contributions. Recording which agent wrote each field is the only thing that recovers attribution afterwards.
Ping-pong is the most immediately painful: two agents routing to each other until the recursion limit, burning a model call per hop. It needs a hop counter in the state with a ceiling - the same pattern as the retry counter in Module 4, applied to routing between agents.
The mistake this prevents
The mistake is treating these as things that go wrong with badly written agents. They are properties of having more than one agent. Every one of them is a reason to answer the previous unit's question honestly before adding the second agent.
Takeaway
Multi-agent graphs bring five failure modes that single-agent graphs cannot have. Budget for a hop counter, a handoff contract, reducers, per-field attribution and token measurement before adding the second agent.
