Scaling Inference-Time Compute with Teams of Coding Agents
Organizations: Cohere Labs · Cohere
Abstract
Multi-agent systems promise a new axis for scaling inference: rather than having one agent think longer or sample more attempts, a task is split across many agents that work in parallel and coordinate. However, in practice, more agents can easily produce duplicate work, coordination failures, and higher costs. We therefore formulate team design as a compute allocation problem: starting from a solo agent, where should additional inference compute go to reach the reward-cost Pareto frontier? We build a minimal multi-agent harness from the ground up and trace this frontier by varying, one at a time, the workflow stage at which a lead delegates to its workers (planning, implementation, or verification), the models that form the team, and the number of workers. On ProgramBench, teams outperform solo agents but cost three to seven times as much. With the right compute allocation, however, a heterogeneous 17-agent team comes within 1.4 points of a strong homogeneous 5-agent team at 70% lower cost. This efficiency stems from three findings. First, planning is the most valuable use of workers: in a homogeneous team whose lead decides how many workers to spawn, a lead that delegates only planning to its workers, and then implements and verifies the code itself, matches the reward of a lead that delegates to workers throughout planning, implementation, and verification, at half the cost. Second, cheap models pay off as planners but not as implementers: a strong lead with cheap planners recovers 47.5% of the reward gain of an all-strong team for only 13.9% of its additional cost, whereas cheap implementers lower reward. Third, planners keep improving reward as the team grows, whereas implementers and verifiers plateau beyond four workers. Together, our results offer a guide to spending an agent budget where it counts, given the task, cost, and latency constraints a user has.
Figures & tables
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Policy | How it works | Pros | Cons |
|---|---|---|---|
| Blocking delegation | The lead delegates to a worker and remains blocked until the worker returns its result. | Simple coordination; provides a natural synchronization point; allows the lead to reason from a completed result; lowers the risk of acting on incomplete information. | The lead is idle while the worker runs; prevents lead–worker parallelism; can substantially increase wall-clock time. |
| Async push: full message | The worker runs concurrently. Once finished, its full result is appended to the lead’s next tool result. | Requires no explicit retrieval call; makes completed work difficult to overlook; preserves concurrency; allows results to be incorporated quickly. | May interrupt the lead at an awkward point; unexpectedly consumes context; multiple messages may overload the next tool output; may destabilize the lead’s current plan. |
| Price ($ per million tokens) | |||||||
| Model | Provider | Reasoning setting | Input | Output | Cache read | Cache write | Evaluation |
| GPT-5.6 Sol | OpenAI | effort: medium | 4.00 | 20.00 | 0.40 | – | Full 200, 3 runs |
| GPT-5.6 Terra | OpenAI | effort: medium | 2.00 | 12.00 | 0.20 | – | Full 200, 3 runs |
| GPT-5.6 Luna | OpenAI | effort: medium | 0.20 | 1.20 | 0.02 | – | Full 200, 3 runs |
| Claude Opus 4.8 | Bedrock | adaptive, effort: medium | 5.00 | 25.00 | 0.50 | 6.25 | Balanced-30 |
| Claude Opus 4.7 | Bedrock | adaptive, effort: medium | 5.00 | 25.00 | 0.50 | 6.25 | Full 200, 1 run |
| Reward | |||||||
| Configuration | Schedule | Mean | 95% CI | SD | Range | Task | Task correlation |
| Sol lead | |||||||
| Solo minimal | – | 0.521 | 0.030 | 0.008 | 0.015 | 0.072 | 0.86 |
| Solo PIV | – | 0.577 | 0.031 | 0.006 | 0.011 | 0.066 | 0.90 |
| with Sol workers | |||||||
| Team minimal | Async | 0.559 | 0.032 | 0.001 | 0.001 | 0.069 | 0.88 |
| Cost | Wall-clock | Tool | Workers | Resumed | Worker | ||||
| Configuration | Schedule | Reward | ($) | (min) | calls | spawned | Delegations | share | token share |
| Sol lead | |||||||||
| Solo minimal | – | 0.52 | 0.24 | 1.9 | 19.2 | 0.0 | 0.0 | – | 0.00 |
| Solo PIV | – | 0.58 | 0.38 | 2.5 | 22.4 | 0.0 | 0.0 | – | 0.00 |
| with Sol workers | |||||||||
| Team minimal | Async | 0.56 | 0.91 | 2.6 | 84.0 | 4.2 | 4.4 | 0.03 | 0.46 |
| Cost | Wall-clock | Tool | Workers | Resumed | Worker | ||||
| Configuration | Schedule | Reward | ($) | (min) | calls | spawned | Delegations | share | token share |
| Claude Opus 4.7 lead | |||||||||
| Solo minimal | – | 0.51 | 2.81 | 9.6 | 59.0 | 0.0 | 0.0 | – | 0.00 |
| Solo PIV | – | 0.49 | 2.47 | 8.9 | 56.1 | 0.0 | 0.0 | – | 0.00 |
| with Opus 4.7 workers | |||||||||
| Team minimal | Async | 0.51 | 3.23 | 11.3 | 69.1 | 0.4 | 0.4 | 0.05 | 0.24 |
| Messages per task | Questions | Failed | |||||
|---|---|---|---|---|---|---|---|
| Setup | W L | L W | W W | W W (Plus) | replied | calls | reward |
| Sol | 14.2 | 2.0 | 0.7 | 1.0 | 74% | 1% | |
| Sol + Luna | 12.4 | 1.2 | 0.2 | 0.3 | 16% | 55% | |
| Terra | 11.7 | 1.3 | 0.3 | 0.5 | 28% | 0% | |
| Terra + Luna | 12.8 | 1.2 | 0.3 | 0.3 | 20% | 50% | |
| Luna | 10.4 | 0.2 | 0.3 | 0.2 | 9% | 50% | |
Inference-Time Scaling
Inference-time scaling studies how extra computation during deployment can improve model performance through search, sampling, verification, or adaptive reasoning.
See all 113 papers