Does Multi-Agent Collaboration Pay When Agents Serve Users? Testing Agent Scaling in Dual-Control Settings
Organizations: University of Pennsylvania
Abstract
Multi-agent systems (MAS) built from language models are deployed on the premise that collaboration beats a single-agent system (SAS), yet when it pays is unclear. The most systematic study to date gives a capability-saturation rule: coordination helps while the SAS is weak and hurts once it is strong, with the crossing near 45% single-agent accuracy. That rule was derived on autonomous benchmarks, where no user takes part. We test it where agents now work: in conversation with a user under a written policy, on -bench, the dual-control benchmark. On its airline, retail and telecom domains we compare the stock SAS with a centralized MAS built from the same model for six models from three families, over about 7,950 simulated conversations, with one completion-token ledger per episode per system. The study was pre-registered with a public change log; the MAS is reported as built, with one validity bar unmet (its planner never saw the tool schemas). Under a fixed simulated user no cell shows a MAS benefit: the MAS is worse in 12 of the 13 valid cells and tied in the thirteenth, and the fitted gain is negative across the observed capability range (weighted mean -28 points, 95% CI [-44, -12]). On the two cells where the rule predicts a benefit, the MAS loses by 13 and 22 points, and without a budget ceiling it at best draws level at 5.5 times the SAS's token spend. The one gain appears on the cell nearest 45%, under a second simulator. Whether the gain declines with capability is unresolved (slope -0.41, 95% CI [-1.51, +0.68]), because model-by-domain effects dominate. The MAS does not detectably reduce wrongful database writes; it converts other failures into budget exhaustion and inaction. For agents that serve people, the SAS is the default; a multi-agent design must show compute-matched evidence from the setting itself. We release all trajectories, ledgers, prompts and code.
Figures & tables
| Study | Architectures | Capability varied | Compute matched (what, level) | User (tools) | Sim. | Rule |
|---|---|---|---|---|---|---|
| Kim and others (2026) | SAS + 4 generic MAS | 3 families 3 tiers | reasoning tokens, per system, reported as a matched mean; matched maximum iterations | no | n/a | fitted |
| Tran and Kiela (2026) | SAS + 5 MAS variants | 4 models | thinking tokens, per call, split | no | n/a | no |
| Jwalapuram and others (2026) | CoT-SC vs automated MAS | several | USD, post hoc | no | n/a | no |
| Yu and others (2026) | SAS vs MAS | 3 scales | max. total steps (experiments); relay bandwidth (theory) | no | n/a | no |
| Gao and others (2025) | SAS vs MAS | several | cost reported | no | n/a | no |
| LangChain (2025) | single, swarm, supervisor | 1 model | no | yes (no) | no | no |
| Protocol | Adopted | Deviation here |
|---|---|---|
| Kim and others (2026) | per-system ceiling; coordination paid from the same pool; exhaustion is a legal termination | they report matched reasoning-token budgets as a mean per trial and matched maximum iterations, with no per-episode token ceiling described as enforced at call time; here a per-episode token ceiling, enforced |
| Tran and Kiela (2026) | the SAS spends the whole budget in one trajectory; a MAS divides it | they keep planner and aggregator near budget-neutral, here every component is charged; they count thinking tokens, here completion tokens with reasoning-only as sensitivity; they split statically ( ), here a shared pool with reservations, which is more generous to the MAS, so a null MAS result is conservative |
| Wang and others (2024) | performance-at-tokens curves | their cap is input plus output per question; here input is reported as a deployment account outside the scientific budget |
| Kapoor et al. (2024) | accuracy-versus-USD frontier for deployment claims | not used for the main contrast, where compute and architecture would co-vary |
| Domain | Model | SAS mean | ( ) | per-call | ||
|---|---|---|---|---|---|---|
| airline | gpt-5-nano | 40,839 | 51,297 | 205,188 | 51,297 | 11,566 |
| retail | gpt-5-nano | 29,783 | 35,313 | 141,252 | 35,313 | 8,897 |
| telecom | gpt-5-nano | 60,570 | 75,032 | 300,128 | 75,032 | 6,100 |
| airline | gpt-5-mini | 20,808 | 27,477 | 109,908 | 27,477 | 8,312 |
| retail | gpt-5-mini | 14,432 | 18,294 | 73,176 | 18,294 | 5,389 |
| telecom | gpt-5-mini | 26,165 | 31,514 | 126,056 | 31,514 | 5,273 |
| Scenario | acc. @ | inform. @ | ||||||
|---|---|---|---|---|---|---|---|---|
| naive | 27 cells, 50 tasks, 3 seeds | 0.19 | 0.78 | 1.00 | 1.00 | 1.00 | 0.84 | 0.39 |
| naive | 18 cells, 50 tasks, 3 seeds | 0.20 | 0.67 | 0.99 | 1.00 | 1.00 | 0.87 | 0.49 |
| split seed | 27 cells, 50 tasks, 3 seeds | 0.07 | 0.48 | 0.87 | 0.99 | 1.00 | 0.82 | 0.32 |
| split seed | 18 cells, 50 tasks, 3 seeds | 0.07 | 0.35 | 0.80 | 0.97 | 1.00 | 0.86 | 0.42 |
| leave-one-domain-out | 27 cells, 50 tasks, 3 seeds | 0.07 | 0.40 | 0.77 | 0.95 | 1.00 | 0.84 | 0.38 |
| leave-one-domain-out | 27 cells, 50 tasks, 5 seeds | 0.10 | 0.51 | 0.93 | 0.99 | 1.00 | 0.86 | 0.47 |
| Model | Domain | SAS | SAS 95% CI | MAS | Gain [95% CI] | Exh. | Util. | Fin./exh. | Tokens |
| gpt-5-nano | airline | 42.7 | [31.3, 54.0] ∘ | 45.3 | [ , ] | 23% | 0.50 | 50% / 31% | 2.9 |
| retail | 68.0 | [58.7, 77.3] | 44.7 | [ , ] | 16% | 0.63 | 52% / 8% | 3.1 | |
| telecom | 32.7 | [22.7, 43.3] ↓ | 19.3 | [ , ] | 15% | 0.54 | 20% / 13% | 2.8 | |
| gpt-5-mini | airline | 74.7 | [64.7, 84.0] | 58.0 | [ , ] | 34% | 0.83 | 68% / 39% | 5.2 |
| retail | 76.0 | [66.7, 84.0] | 48.0 | [ , ] | 43% | 0.90 | 68% / 22% | 4.9 | |
| telecom | 77.3 | [68.0, 86.0] | 66.0 | [ , ] | 18% | 0.70 | 79% / 7% | 4.2 |
| Model | Domain | Cut calls | Cut tokens | 2-cut (exh./other) | JSON/cut text | Advisor | Plan fail (n) | Forced | As issued | Bars |
|---|---|---|---|---|---|---|---|---|---|---|
| gpt-5-nano | airline | 0.3% | 0.3% | 0 / 0 | 0 | 17 | 3.5% (48) | 31 | 16% | met |
| retail | 0.4% | 0.5% | 0 / 0 | 0 | 13 | 1.1% (15) | 43 | 10% | met | |
| telecom | 0.3% | 0.5% | 0 / 0 | 0 | 9 | 1.6% (30) | 51 | 20% | met | |
| gpt-5-mini | airline | 0.9% | 0.9% | 0 / 0 | 0 | 21 | 3.9% (46) | 40 | 31% | met |
| retail | 1.3% | 1.4% | 0 / 0 | 0 | 7 | 4.8% (58) | 54 | 39% | met | |
| telecom | 0.5% | 0.5% | 0 / 0 | 0 | 8 | 1.9% (32) | 25 | 41% | met |
| Model | Domain | Gain | Exhausted | Finished | Share | Tasks better / equal / worse |
|---|---|---|---|---|---|---|
| gpt-5-nano | airline | – | 13 / 26 / 11 | |||
| retail | 27% | 2 / 23 / 25 | ||||
| telecom | 27% | 3 / 28 / 19 | ||||
| gpt-5-mini | airline | 71% | 6 / 27 / 17 | |||
| retail | 82% | 5 / 19 / 26 | ||||
| telecom | 76% | 5 / 25 / 20 |
| SAS 95% CI relative to 45% | Cells | Principle predicts | Observed | Sign matches |
|---|---|---|---|---|
| entirely above | 10 | MAS loses | 10 losses | 10 of 10 |
| entirely below | 2 | MAS gains | 2 losses | 0 of 2 |
| straddles | 1 | (uninformative) | 1 tie | – |
| all informative cells | 12 | 10 of 12 (binomial ) |
| Form | Cells | Slope [95% CI] | Perm. |
|---|---|---|---|
| leave-one-domain-out index (primary) | 12 | [ , ] | 0.43 |
| split seeds | 12 | [ , ] | – |
| logit gain a | 12 | [ , ] | – |
| relative gain a | 12 | [ , ] | – |
| primary with the qwen3.5-9b cells | 15 | [ , ] | 0.59 |
| own SAS score (naive, biased) | 12 | [ , ] | – |
| Outcome | SAS | MAS | Change per episode [95% CI] | Cells down / up |
|---|---|---|---|---|
| pass | 1,362 | 768 | [ , ] | 12 / 1 |
| wrongful write (WW) | 55 | 43 | [ , ] | 5 / 5 |
| budget exhausted (BX) | 0 | 666 | [ , ] | 0 / 13 |
| inaction (IN) | 126 | 268 | [ , ] | 1 / 10 |
| other failure | 407 | 205 | [ , ] | 10 / 3 |
| FP, commission (airline) | 27 of 415 passes | 17 of 332 passes | (4 clusters, no CI) | 4 / 0 |
| SAS | MAS | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Model | Domain | PASS | WW | BX | IN | OTHER | PASS | WW | BX | IN | OTHER | |
| gpt-5-nano | airline | 64 | 28 | 0 | 10 | 48 | 68 | 14 | 23 | 22 | 23 | |
| retail | 102 | 0 | 0 | 16 | 32 | 67 | 0 | 22 | 23 | 38 | ||
| telecom | 49 | 12 | 0 | 8 | 81 | 29 | 5 | 19 | 51 | 46 | ||
| gpt-5-mini | airline | 112 | 5 | 0 | 12 | 21 | 87 | 0 | 31 | 24 | 8 | |
| retail | 114 | 0 | 0 | 8 | 28 | 72 | 0 | 51 | 17 | 10 | ||
| Model | Domain | SAS | MAS at | Ratio | Agent only |
|---|---|---|---|---|---|
| gpt-5-nano | airline | 4.66 | 9.15 | 2.0 | 2.9 |
| retail | 3.74 | 7.49 | 2.0 | 3.1 | |
| telecom | 8.71 | 12.57 | 1.4 | 2.5 | |
| gpt-5-mini | airline | 8.77 | 27.54 | 3.1 | 3.9 |
| retail | 6.82 | 20.83 | 3.1 | 4.0 | |
| telecom | 16.94 | 34.45 | 2.0 | 3.4 |
Appendix figures & tables4 assets
Supplementary material from the paper’s appendix.
Appendix
| Row | Unit; contrast; test | Reading rule | Result |
|---|---|---|---|
| H1 slope (primary) | cells meeting the mechanical bars; gain on leave-one-domain-out index, family and domain effects, inverse-variance weights; permutation | supported if slope with CI excluding zero; null read as | , ; not supported; CI far wider than the minimum detectable slope of 0.20 |
| H1 crossing | same fit; ; bootstrap CI | transfers if CI covers 45%; shifts if not; no crossing if slope CI covers zero | no crossing (fitted gain over the whole index range) |
| Sign match | cells not straddling 45%; predicted vs observed sign; binomial vs 0.5 | beside 15/16; informative and within-noise cells apart | 10 of 12 informative ( ); right on all 10 above 45%, wrong on both below |
| H2a (primary) | SAS cells; WW/failures and FP/passes on the index | WW/failures slope , FP/passes slope not | WW half: , ; not supported; FP half (airline, 4 cells, descriptive): commission flags per pass fall from 15.6 to 2.5% |
| H2b (primary) | paired MAS SAS WW, pooled, cluster CI | grid over WW, IN, BX, FP | WW pts : no detectable change; BX , IN pts; FP commission 6.5 to 5.1% of passes |
| R1 | 2 cells, gain across budget levels | dependence only if its CI excludes zero | and : not claimed |
| Cell | Build | MAS pass / exhausted (trial 0, 1, 2) | Gain, pooled | Trials 0 and 1 | Trial 2 | ||
|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | |||||
| telecom (grid) | registered | 15 / 26 | 11 / 27 | 9 / 41 | |||
| SAS passes | 48 of 50 | 47 of 50 | 47 of 50 | ||||
| retail (appendix) | October | 16 / 19 | 14 / 12 | 5 / 43 | |||
| SAS passes | 40 of 48 | 34 of 48 | 35 of 49 | ||||
| airline (collaborator) | registered | 28 / 15 | 30 / 14 | 26 / 42 | – | – | – |
| Prompt | Seed | Cut on first repeat | Calls | Median tokens | Cut | Empty |
|---|---|---|---|---|---|---|
| trial 2 | 361454 (trial 2’s) | 5 of 6 | 12 | 5,369 | 8 | 7 |
| trial 2 | 373753 (trial 1’s) | 0 of 6 | 12 | 404 | 1 | 1 |
| trial 2 | none | 0 of 6 | 12 | 629 | 0 | 0 |
| trial 1 | 361454 | 1 of 6 | 12 | 2,798 | 2 | 2 |
| trial 1 | 373753 | 0 of 6 | 12 | 371 | 0 | 0 |
| trial 1 | none | 0 of 6 | 12 | 538 | 0 | 0 |
| Pairing | Tasks | MAS | SAS | Gain [95% CI] | Tasks better / equal / worse |
|---|---|---|---|---|---|
| SAS as recorded (crashes score 0) | 50 | 56.0% | 39.7% | 20 / 24 / 6 | |
| SAS crashed episodes excluded | 38 | 63.2% | 70.2% | 5 / 26 / 7 | |
| By trial, SAS as recorded: trial 0 | 49 | 57.1% | 38.8% | 13 / 32 / 4 | |
| trial 1 | 48 | 58.3% | 41.7% | 12 / 32 / 4 | |
| trial 2 | 47 | 51.1% | 38.3% | 9 / 35 / 3 |
Multi-Agent LLM Systems
Multi-agent large language model systems coordinate multiple AI agents to solve tasks through communication, specialization, shared tools, and memory.
See all 1,027 papers