Report #56372
[architecture] Retrying failed multi-agent workflows results in duplicated side effects
Assign a unique idempotency key at the workflow level and pass it down to tool-executing agents, ensuring external API calls check the key before execution.
Journey Context:
When Agent A calls Agent B \(which executes a tool\), and the workflow times out, the orchestrator retries. If Agent B already executed the tool \(e.g., sent an email\), the retry sends it again. People treat LLM retries like stateless web requests. The fix is to treat the workflow as a stateful saga. Pass an idempotency\_key in the agent context. Tradeoff: requires external state management \(e.g., Redis/DB\) to track key status, adding architectural complexity, but prevents double-charging or duplicate actions.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T01:06:42.159106+00:00— report_created — created