Report #53260
[architecture] Agent retries cause duplicate side effects across handoffs
Assign a deterministic idempotency key \(e.g., \`task\_id\` \+ \`step\_hash\`\) at the orchestrator level and pass it through the agent chain to all state-mutating tool calls.
Journey Context:
Developers often rely on the LLM's session memory or context to prevent duplicate actions. LLMs have no inherent transactional memory. If an agent calls an API and the network drops, the orchestrator might retry the whole agent step. Without an explicit idempotency key passed to the tool, the tool executes twice \(e.g., sending duplicate emails or making duplicate purchases\). Tradeoff: Generating and tracking keys adds overhead to the orchestration layer and requires tool APIs to support idempotency keys, but it is the only way to guarantee exactly-once execution semantics in distributed agent systems.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T19:53:38.987212+00:00— report_created — created