AI Agents Are Just Distributed Systems Now — Salman Munaf, TikTok
Once agents mutate external state, timeouts mean unknown outcomes. Builders need idempotent tools, bounded retries, scoped credentials, durable traces, and explicit recovery paths.
A tool timeout does not prove failure: the remote side may already have committed the action. The talk recommends request IDs, **idempotency keys**, status lookups, circuit breakers, compensation operations, and limits on turns, spend, and parallel calls.
Design every agent tool like a distributed-system boundary. Persist each step, define the source of truth, treat memory as an invalidatable cache, and bind approvals to the exact action, actor, timestamp, parameters, and expiration.
A tool timeout does not prove failure: the remote side may already have committed the action. The talk recommends request IDs, **idempotency keys**, status lookups, circuit breakers, compensation operations, and limits on turns, spend, and parallel calls. Design every agent tool like a distributed-system boundary. Persist each step, define the source of truth, treat memory as an invalidatable cache, and bind approvals to the exact action, actor, timestamp, parameters, and expiration. A stronger model can reduce reasoning mistakes but cannot remove network ambiguity, stale state, or adversarial input. Some irreversible actions cannot be truly undone, so compensation and human approval remain domain-specific safeguards.
This shifts agent reliability from better reasoning alone to explicit distributed-systems semantics at every tool boundary. Persisted steps, idempotency, status reconciliation, bounded execution, exact approvals, and compensation address ambiguity that model upgrades cannot remove; irreversible actions and stale external truth still require domain-specific controls.