Why agents scale differently
What it is
An agent's workload has a different shape from an ordinary web request:
- Long-lived: seconds to hours, not milliseconds.
- Mostly waiting: nearly all the time is spent waiting for a model or a tool, not computing.
- Variable: one task takes three steps, the next takes thirty.
- Stateful: each run has state that must survive between steps.
- Limited by outside services: the model provider's rate limits, and the capacity of the systems the tools call.
Why it matters
These properties change what 'scaling' means.
- Because runs mostly wait, one worker can hold many runs at once if it does not block while waiting.
- Because runs are long, the number in flight at once matters more than requests per second.
- Because the true limit is external, adding servers does not help once the provider's quota is reached.
- Capacity planning starts from tokens per minute, not from CPU.
In the real world: A team doubled its servers to fix slow responses and saw no change; the delay was requests queueing against the model provider's tokens-per-minute limit.
Visual example
Capacity8 steps per task; the context starts at 2,500 tokens and grows by 600 per step; peak is 4 times the average.
The row to negotiate with your model provider is tokens per minute. The worker count is small by comparison.
Scaling an agent service like a web API: more instances behind a load balancer. The instances sit idle waiting on the model, and the provider returns 'rate limit exceeded' regardless of how many you run.
Practise it: Design an AI Customer Support Agent