AOS-Bench: Can LLM Agents Manage Dynamic Workloads?
Organizations: Tsinghua University · Columbia University
Abstract
Coding agents are moving from handling one request at a time to serving as persistent assistants to which users hand a stream of work: a build, a data-processing job and a bug fix may all be pending on the same machine at once. Such an agent must decide when to take on new tasks, how to delegate and overlap them, and how to stay within the machine's CPU and memory. Existing benchmarks cannot measure this, because they evaluate each task in isolation. We introduce AOS-Bench, which evaluates an agent system as a workload manager: verified tasks arrive over time and must be delivered under shared CPU and memory limits, and the same tasks run one at a time serve as a per-system reference. Across five model--harness pairs, isolated task success does not carry over evenly. On heavy workloads every system loses 13 to 23 points. On medium workloads, systems span 11 points in isolated success but 26 points in stream success, and two systems 0.6 points apart in isolation deliver 54% and 68% of the same tasks. Execution-policy interventions trace much of this gap to task intake: serial dispatch leaves 73% of heavy-workload tasks unclaimed. Yet more elaborate management does not necessarily help. A fixed concurrency of two comes within four points of the best agent-managed policy on both medium and heavy workloads, and under every policy median CPU use stays below 30% of the provisioned cores while tasks wait. These results identify workload management as a distinct capability for agents, and AOS-Bench as a way to measure it.
Figures & tables
| Tier | Tasks | L2 | L3 | Limit (min) | |
|---|---|---|---|---|---|
| Medium | 10 | 10 | 0 | 10 | 150 |
| Heavy | 20 | 10 | 10 | 5 | 240 |
| Model | Harness | SR (%) | Thrpt. | ET (min) | Rate | OOM | |||
| Ind. | Str. | ( ) | Ind. | Str. | (/h) | (%) | |||
| Medium (10 workloads, 20 minutes of arrivals, 150-minute limit) | |||||||||
| Claude Opus 5 | Claude Code | 81.5 | 79.7 | 1.8 | 2.06 | 213.2 | 101.7 | 4.09 | 3.4 |
| GLM-5.3 | Claude Code | 74.9 | 53.9 | 21.1 | 1.73 | 359.7 | 148.8 | 1.88 | 0.0 |
| DeepSeek-V4-Pro | Claude Code | 79.5 | 54.4 | 25.1 | 1.49 | 321.2 | 147.4 | 1.92 | 0.0 |
| Kimi-K3 | Kimi Code | 74.3 | 68.1 | 6.3 | 2.22 | 295.2 | 122.4 | 2.91 | 3.3 |
| Tier | Policy | SR | ET | Claim | Compl. | CPU | ||
|---|---|---|---|---|---|---|---|---|
| (%) | (min) | (%) | (%) | (s) | (min) | |||
| Med | Serial ( ) | 30/30 | 39.5 | 150.0 | 51.7 | 40.6 | 3360 | 98.5 |
| Med | Native | 30/30 | 53.9 | 150.1 | 75.9 | 60.9 | 1204 | 93.4 |
| Med | Guidance | 30/30 | 60.2 | 150.0 | 81.2 | 67.0 | 1642 | 134.0 |
| Med | Fixed ( ) | 30/30 | 56.6 | 150.0 | 80.1 | 59.4 | 2614 | 181.1 |
| Hvy | Serial ( ) | 15/15 | 28.6 | 240.0 | 30.0 | 23.6 | 4819 | 189.4 |
Appendix figures & tables10 assets
Supplementary material from the paper’s appendix.
Appendix
| Setting | Tier | Healthy | No reward record |
|---|---|---|---|
| Stream | medium | 151 | 3 |
| Stream | heavy | 91 | 2 |
| Stream | thirty-task | 15 | 0 |
| Individual | medium | 223 | 0 |
| Individual | heavy | 634 | 31 |
| Individual | thirty-task | 195 | 0 |
| Medium | Heavy | |||||
|---|---|---|---|---|---|---|
| Model | ||||||
| Claude Opus 5 | 5/29 | 1.8 | 5.8 | 6/46 | 13.0 | 15.3 |
| Kimi-K3 | 4/29 | 6.3 | 9.6 | 6/46 | 19.3 | 24.2 |
| GPT-5.6-sol | 5/28 | 14.5 | 17.9 | 7/46 | 18.1 | 25.0 |
| GLM-5.3 | 6/29 | 21.1 | 30.7 | 8/46 | 15.7 | 26.8 |
| DeepSeek-V4-Pro | 6/29 | 25.1 | 30.0 | 8/46 | 22.7 | 32.7 |
| Setting | Tier | Per-request (s) | Agent phase (s) | Container TTL |
|---|---|---|---|---|
| Stream | Light | 7200 | 21600 | 12 h |
| Stream | Medium | 9000 | 28800 | 16 h |
| Stream | Heavy | 14400 | 43200 | 24 h |
| Stream | Heavy-plus | 21600 | 57600 | 30 h |
| Individual | All | 7200 | 5400 | 4 h |
| Stream (10 h serial policy) | Heavy | 36000 | 43200 | 24 h |
| Phase | Median | p90 | Max |
|---|---|---|---|
| Environment setup | 201 | 366 | 1076 |
| Agent setup | 13 | 75 | 589 |
| Agent execution | 2403 | 9008 | 21623 |
| Verifier | 33 | 793 | 7613 |
| Agent setup by harness | |||
| Claude Code | 10 | 43 | 120 |
| Steps | Turns | Tool err. | Tokens/trial | Sub-agents | Hidden reasoning | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | p50 | p90 | p50 | p90 | p50 | In (M) | Out (k) | p50 | p90 | p50 | p90 |
| Claude Opus 5 | 72 | 310 | 37 | 173 | 2 | 5.4 | 63 | 0 | 5 | 13.9k tok | 99.3k tok |
| Kimi-K3 | 88 | 300 | 53 | 187 | 3 | 6.4 | 56 | 0 | 6 | 34 steps | 120 steps |
| GPT-5.6-sol | 40 | 200 | 28 | 143 | – | 4.3 | 22 | – | – | 5.1k tok | 19.1k tok |
| GLM-5.3 | 320 | 912 | 161 | 432 | 8 | 15.7 | 280 | 0 | 7 | – | – |
| DeepSeek-V4-Pro | 144 | 413 | 75 | 208 | 3 | 7.4 | 161 | 0 | 0 | – | – |
| Tool family | Opus 5 | Kimi-K3 | GPT-5.6-sol | GLM-5.3 | DeepSeek |
|---|---|---|---|---|---|
| Shell | 65.6 | 51.9 | 77.5 | 73.5 | 78.5 |
| Write/edit | 10.1 | 8.4 | 0.0 | 11.0 | 5.9 |
| Read | 4.6 | 8.5 | 0.0 | 3.9 | 6.9 |
| Pool: next | 11.2 | 16.6 | 4.2 | 3.1 | 2.5 |
| Pool: update | 3.7 | 2.3 | 3.7 | 1.2 | 1.5 |
| Pool: spawn | 2.1 | 2.1 | – | 0.7 | 0.2 |
LLM Agent Orchestration
Large language model agent orchestration coordinates models, tools, and workflows to complete complex tasks reliably and efficiently.
See all 458 papers