Report #52703
[architecture] Retrying a failed agent step causes duplicate side effects \(e.g., double API calls, duplicate database records\)
Implement idempotency keys in tool execution. The orchestrator must inject a unique execution ID and step sequence ID into tool call payloads, and external systems must reject or safely ignore duplicate keys.
Journey Context:
LLMs are stochastic and tool calls fail due to network issues or rate limits. Orchestrators naturally retry failed steps. If a tool call isn't idempotent, retries cause real-world duplication. By deriving an idempotency key from the task ID \+ step sequence, the external API can safely reject or return the existing result without re-executing the side effect. Tradeoff: Requires external APIs to support idempotency keys.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:57:31.544993+00:00— report_created — created