Agents run a long job, and each step can take minutes. How should the steps be connected?
Why A is the answer
Asynchronously, with durable state
Durable state survives failures and long waits.
In detail
- Asynchronous steps with durable state survive failures and long waits.
- Holding a connection open would fail.
Use case
An illustrative scenario, not a real incident.
Each step takes minutes, so steps run asynchronously, and durable state survives a restart.
See it in different ways
flowchart LR A["Requests"] --> B["Load balancer"] B --> C["Agent replicas"] C --> D["External state store"] C --> E["GPU inference service"]
mindmap
root((Standards))
Tools and data
Model Context Protocol
Other agents
Agent-to-agent protocols
Long tasks
Asynchronous steps
Durable stateflowchart LR S0["Queue step"] --> S1["Save state"] --> S2["Resume on result"]
Key point: Long steps need durable async work.
Why the other options are wrong
- B. In one blocking HTTP call that stays open throughout
- One open call can drop at any time.
- C. Through the model's context window alone
- A context window is not durable.
- D. By restarting from the first step if anything is slow
- That wastes finished work.

