Bayes-Sufficient Compression Is Not Enough: How Does Communication Help Multi-Agent Systems?
Organizations: Department of Electrical & Computer Engineering, University of Arizona · TMLR Group, Department of Computer Science, Hong Kong Baptist University · Amazon Web Services · Department of Management Information Systems, Eller College of Management, the University of Arizona
Abstract
Multi-agent LLM systems pair a sender with broad context and an executor with a limited local view. We study when a short message improves the executor's next decision, when raw context is preferable, and when a stronger sender helps. Our framework, receiver-relative bounded coordination, expresses message utility as receiver gain minus protocol tax. Compression beats raw context when tax savings exceed losses from omitted information and decoder mismatch. Even Bayes-sufficient compression can fail when a bounded executor cannot use its surface form. A three-stage decomposition separates externalization, absorption, and action closure, explaining how errors remain after the correct content reaches the receiver. Under a single-crossing condition, sender upgrades help above a receiver-burden threshold. Across six benchmarks, the same Qwen protocol raises ContextBench joint accuracy from to but lowers ToolSandbox from to . Fixed-message replay reveals closure failures despite correct artifact recovery. These results guide an inference-time selector that improves the accuracy-cost frontier on the evaluated communication regimes.
Figures & tables
| ContextBench | ToolSandbox | -bench | BFCL | Derived summaries | |||||||||||
| helpful | noise | boundary | noise | ||||||||||||
| Receiver / Setup | RO | SF | MA | RO | SF | MA | RO | SF | MA | RO | SF | MA | |||
| Qwen bounded protocol (Qwen3.5-9B receiver, Qwen3-Next-80B-A3B sender) | |||||||||||||||
| Qwen3.5-9B | .633 | .294 | .775 | .889 | .903 | .653 | .139 | .167 | .139 | .980 | 1.00 | .750 | .08 | .01 | +.14 |
| Qwen matched † | .633 | .294 | .565 | .889 | .903 | .917 | .139 | .167 | .167 | .980 | 1.00 | .910 | .02 | +.05 | .07 |
| OpenAI model-family extension (MA sender = gpt-5.4 ; receiver shown at left) | |||||||||||||||
| Receiver | Replay accuracy | Observable post-message error | Summary | |||||
|---|---|---|---|---|---|---|---|---|
| frac. closure | Regret | |||||||
| DeepSeek-R1 | 0.731 | 0.732 | 0.989 | 0.268 | 0.008 | 0 3% | 1.00 | 0.000 |
| Qwen3.5-9B | 0.728 | 0.728 | 0.989 | 0.272 | 0.008 | 0 3% | 1.00 | 0.003 |
| Llama-70B | 0.714 | 0.714 | 0.997 | 0.286 | 0.002 | 0 1% | 1.00 | 0.017 |
| DeepSeek-V3.1 | 0.707 | 0.730 | 0.977 | 0.270 | 0.017 | 0 6% | 0.97 | 0.024 |
| Qwen2.5-7B | 0.702 | 0.702 | 0.975 | 0.298 | 0.018 | 0 6% | 1.00 | 0.029 |
Appendix figures & tables35 assets
Supplementary material from the paper’s appendix.
Appendix
| action-sufficient target | gain, tax, utility | ||
| slack, omitted info, mismatch | externalization / absorption / closure | ||
| burden, upgrade value | residual, gap, carry | ||
| fresh / resolved residual | protocol action, selector value | ||
| state, context, sender, message | local view, decoder, next action |
| Benchmark | Sender | Receiver | Budget | Main role | Note |
|---|---|---|---|---|---|
| BFCL | Qwen3-Next-80B-A3B | Qwen3.5-9B | 128 | noise / high suff. | Main paired set. |
| ToolSandbox | Qwen3-Next-80B-A3B | Qwen3.5-9B | 128 | noise / high suff. | Main paired set. |
| SWE-Lite | Qwen3-Coder-Next-FP8 | Qwen3.5-9B | 128 | capability transfer | Main paired set. |
| -bench | Qwen3-Next-80B-A3B | Qwen3.5-9B | 128 | weakly helpful / boundary | Main paired set. |
| ContextBench | Qwen3-Next-80B-A3B | Qwen3.5-9B | 128 | helpful / context-heavy | Main paired set. |
| RepoBench | Qwen3-Next-80B-A3B | Qwen3.5-9B | 128 | helpful / context-heavy | Main paired set. |
| Benchmark | Native supervision | Scorer projection | Scoring rule |
|---|---|---|---|
| BFCL | canonical function-call answer | artifact: function/API name; action: tool-call or no-call | match canonical function identity and action type; native BFCL evaluation separately normalizes arguments |
| ToolSandbox | scenario milestones over tool traces and world-state changes | artifact: valid milestone target; action: tool call, state update, add/remove, or user response | set-valued match against the current valid milestone frontier |
| ContextBench | human-verified gold code context, plus our harness-stage repair label when used | artifact: gold file, block, function, or line span; action: retrieval/read, or repair-stage edit | normalized overlap with gold context, or normalized target-file match for repair-stage diagnostics |
| RepoBench | retrieval target, next-line completion target, or retrieval+completion pipeline target | artifact: snippet index, candidate file, or cursor location; action: retrieval or completion | retrieval match for RepoBench-R/P; completion match for RepoBench-C/P |
| SWE-bench Lite | issue, gold patch, test patch, FAIL_TO_PASS , PASS_TO_PASS | artifact: gold-patch file/module or test ID; action: patch-stage edit or harness-stage test | scorer-side projection from gold patch and test metadata; final correctness remains SWE-bench patch-and-test execution |
| -bench | user task, domain tools/policy, action trace, and final goal database state | artifact: tool, entity, state field, or goal-state diff; action: tool call, state update, or response | set-valued projection from accepted tool/action traces or goal-state differences |
| Run family | Benchmarks | Records / evaluation support | Sender(s) | Receiver(s) | Decoding and budget |
|---|---|---|---|---|---|
| Released Qwen table cells | ContextBench, -bench, ToolSandbox, BFCL | ContextBench ; -bench ; ToolSandbox ; BFCL | Qwen3-Next-80B-A3B | Qwen3.5-9B | det.; |
| Appendix diagnostic controls | ContextBench, ToolSandbox, -bench, BFCL; RepoBench; SWE-Lite | diagnostic supports: ContextBench ; ToolSandbox/ -bench ; BFCL ; RepoBench ; SWE-Lite | Qwen3-Next-80B-A3B; Qwen3-Coder-Next-FP8 for SWE-Lite MA | Qwen3.5-9B | det.; |
| OpenAI model-family extension | ContextBench, ToolSandbox, -bench, BFCL | stored API run summaries, – per displayed cell | gpt-5.4 in MA | six OpenAI receivers listed in Tables 18 – 19 | API defaults; |
| Selector diagnostic ablation | ContextBench | stored selector-ablation file, | gpt-5.4 | gpt-4o-mini | frozen selector |
| Static selector diagnostics | ToolSandbox, -bench | stored selector-policy files, per policy | Qwen3-Next-80B-A3B | Qwen3.5-9B | static selector policies |
| Budget/no-overflow diagnostics | ContextBench, ToolSandbox | paired diagnostic rows ; no-overflow subsets | Qwen3-Next-80B-A3B | Qwen3.5-9B | det.; threshold input tokens |
| Benchmark | RO | SF | ||||||
|---|---|---|---|---|---|---|---|---|
| RepoBench | 480 | 0.642 | 0.823 | 0.833 | 0.746 | +0.192 | +0.010 | +0.088 |
| SWE-bench Lite | 96 | 0.000 | 0.052 | 0.521 | 0.000 | +0.521 | +0.469 | +0.521 |
| Benchmark | Contrast | Steps | Effect | 95% CI |
|---|---|---|---|---|
| ContextBench | MA RO | 2,390 | ||
| RepoBench | MA RO | 2,396 | ||
| SWE-Lite | MA MA match | 96 | ||
| -bench | MA RO | 72 | ||
| BFCL | MA RO | 100 |
| Setting | Benchmark | Mean | Note |
|---|---|---|---|
| MA 80B 80B | ToolSandbox | 0.750 | stronger receiver baseline |
| MA 80B 397B | ToolSandbox | 0.694 | stronger receiver baseline |
| SF (80B receiver) | ToolSandbox | 0.260 | full-context baseline (80B receiver) |
| Benchmark | Protocol | hit_joint | Message tok. | Total protocol input tok. | Trunc. | No-overflow | |
|---|---|---|---|---|---|---|---|
| mean / p90 | mean / p90 | rate | hit_joint | ||||
| ContextBench | RO | 480 | 0.633 | 0.0 / 0.0 | 6,899 / 12,267 | 0.000 | 0.610 |
| ContextBench | SF | 480 | 0.294 | 0.0 / 0.0 | 24,486 / 51,642 | 0.000 | 0.280 |
| ContextBench | MA, | 480 | 0.775 | 127.2 / 128.0 | 16,365 / 28,160 | 0.842 | 0.790 |
| ToolSandbox | RO | 72 | 0.889 | 0.0 / 0.0 | 1,050 / 1,672 | 0.000 | 0.923 |
| ToolSandbox | SF | 72 | 0.903 | 0.0 / 0.0 | 1,273 / 2,054 | 0.000 | 0.923 |
| Messages | Steps | RO | SF | MA | MA RO | MA SF |
|---|---|---|---|---|---|---|
| Capped | 404 | 0.644 | 0.248 | 0.750 | ||
| Uncapped | 76 | 0.579 | 0.539 | 0.908 |
| Benchmark | nano | mini | gpt-5.4 | Mean | |
|---|---|---|---|---|---|
| ContextBench | 4 | 0.700 | 0.600 | 0.400 | 0.567 |
| ContextBench | 8 | 0.650 | 0.650 | 0.600 | 0.633 |
| ContextBench | 16 | 0.700 | 0.650 | 0.750 | 0.700 |
| ContextBench | 32 | 0.700 | 0.700 | 0.700 | 0.700 |
| ContextBench | 64 | 0.650 | 0.700 | 0.700 | 0.683 |
| ContextBench | 128 | 0.700 | 0.700 | 0.700 | 0.700 |
| Benchmark | Direct | Strict recode | Drop | |
|---|---|---|---|---|
| BFCL | 200 | 0.985 | 0.985 | 0.0 pp |
| ContextBench | 100 | 1.000 | 0.940 | 6.0 pp |
| ToolSandbox | 200 | 1.000 | 0.965 | 3.5 pp |
| -bench | 155 | 1.000 | 0.865 | 13.5 pp |
| Receiver | Robust valid | Permissive valid | Wrong action |
|---|---|---|---|
| GLM-5 | 99.6 | 99.6 | 44.5 |
| MiniMax-M2.5 | 86.8 | 87.0 | 94.0 |
| o3 | 97.3 | 97.3 | 40.8 |
| Fit | Anchors | Slope on RO | Crossover RO | 95% CI | |
|---|---|---|---|---|---|
| Linear | 22 | -0.449 | 0.492 | 0.638 | [0.491, 0.780] |
| Segmented / hinge | 22 | piecewise | 0.503 | 0.300 | [0.300, 0.900] |
| Analysis | Anchor set | Crossover | 95% CI |
|---|---|---|---|
| Submitted fit | 22 | 0.6376 | |
| Expanded fit | 41 | 0.6289 | |
| Leave one benchmark family out | 41 | 0.6451 | |
| Excluding SWE-Lite | 41 | 0.6154 |
| Sender receiver | ContextBench acc. | vs RO | ToolSandbox acc. | vs RO |
|---|---|---|---|---|
| gpt-4o-mini gpt-4o-mini | 0.867 | +0.217 | 0.960 | +0.157 |
| gpt-5.4-nano gpt-5.4-nano | 0.873 | +0.380 | 0.960 | +0.203 |
| gpt-5.4-mini gpt-5.4-mini | 0.867 | +0.253 | 0.913 | +0.217 |
| Benchmark | Receiver | RO | SF | MA | |
|---|---|---|---|---|---|
| ContextBench | gpt-4o-mini | 300/300/300 | 0.650 [0.594,0.702] | 0.743 [0.691,0.789] | 0.787 [0.737,0.829] |
| ContextBench | gpt-5.4-nano | 300/300/300 | 0.493 [0.437,0.550] | 0.637 [0.581,0.689] | 0.783 [0.733,0.826] |
| ContextBench | gpt-5.4-mini | 300/300/300 | 0.613 [0.557,0.667] | 0.770 [0.719,0.814] | 0.787 [0.737,0.829] |
| ContextBench | gpt-5.4 | 300/300/150 | 0.600 [0.544,0.654] | 0.777 [0.726,0.820] | 0.853 [0.788,0.901] |
| ContextBench | o3 | 300/300/150 | 0.223 [0.180,0.274] | 0.133 [0.099,0.176] | 0.493 [0.414,0.573] |
| ContextBench | o4-mini | 300/300/300 | 0.500 [0.444,0.556] | 0.617 [0.561,0.670] | 0.743 [0.691,0.790] |
| Benchmark | Receiver | RO | SF | MA | |
|---|---|---|---|---|---|
| -bench | gpt-4o-mini | 150/150/150 | 0.253 [0.190,0.328] | 0.020 [0.007,0.057] | 0.373 [0.300,0.453] |
| -bench | gpt-5.4-nano | 150/150/150 | 0.313 [0.245,0.391] | 0.233 [0.173,0.307] | 0.300 [0.232,0.378] |
| -bench | gpt-5.4-mini | 150/150/150 | 0.293 [0.226,0.371] | 0.233 [0.173,0.307] | 0.327 [0.257,0.405] |
| -bench | gpt-5.4 | 150/150/75 | 0.240 [0.179,0.314] | 0.180 [0.127,0.249] | 0.147 [0.084,0.244] |
| -bench | o3 | 75/75/75 | 0.200 [0.125,0.304] | 0.173 [0.104,0.274] | 0.160 [0.094,0.259] |
| -bench | o4-mini | 150/150/75 | 0.273 [0.208,0.350] | 0.280 [0.214,0.357] | 0.160 [0.094,0.259] |
| Selector variant | Acc. | Cost / send | Skip | Compress | Raw | |
|---|---|---|---|---|---|---|
| Full score | 300 | 0.737 | 0.536 | 175 | 11 | 114 |
| No gain term | 300 | 0.650 | 0.402 | 300 | 0 | 0 |
| No tax term | 300 | 0.737 | 0.536 | 175 | 11 | 114 |
| No cost term | 300 | 0.730 | 0.550 | 175 | 0 | 125 |
| No residual term | 300 | 0.737 | 0.536 | 175 | 11 | 114 |
| Always skip | 300 | 0.650 | 0.402 | 300 | 0 | 0 |
| Benchmark | Policy | hit_joint | Mean input tokens |
|---|---|---|---|
| ToolSandbox | adaptive selector | 1.000 | 581 |
| ToolSandbox | always skip | 0.972 | 577 |
| ToolSandbox | always send | 0.806 | 2,474 |
| ToolSandbox | always rewrite | 0.833 | 1,930 |
| -bench | adaptive selector | 0.083 | 2,504 |
| -bench | always skip | 0.056 | 711 |
| ToolSandbox | ContextBench | |||||
|---|---|---|---|---|---|---|
| Condition | Acc. | vs RO | Cost | Acc. | vs RO | Cost |
| Receiver-only | 0.889 | 0.000 | 1,374 | 0.633 | 0.000 | 7,251 |
| MA (default) | 0.653 | -0.236 | 2,995 | 0.775 | 0.142 | 16,801 |
| Prose | 0.556 | -0.333 | 2,905 | 0.694 | 0.061 | 4,183 |
| Evidence-rewrite (knob set) | — | — | — | 0.778 | 0.144 | 1,853 |
| Canonical JSON | 0.750 | -0.139 | 3,004 | 0.764 | 0.131 | 4,162 |
| Calibration fraction | 5% | 10% | 20% | 30% | 40% |
|---|---|---|---|---|---|
| Mean accuracy | 0.7368 | 0.7415 | 0.7425 | 0.7452 | 0.7458 |
| Cost / always-send | 0.5358 | 0.5366 | 0.5356 | 0.5372 | 0.5386 |
| Policy | Accuracy | Tokens/step | Utility |
|---|---|---|---|
| Receiver-relative selector | 0.7425 | 1,732.9 | 0.5692 |
| Always raw | 0.7517 | 2,151.7 | 0.5365 |
| Multinomial logistic (always skip) | 0.6525 | 1,300.0 | 0.5225 |
| Gradient boosted | 0.6617 | 1,425.3 | 0.5191 |
| Learned centroid | 0.7292 | 2,181.5 | 0.5110 |
| Always send | 0.7917 | 3,227.0 | 0.4690 |
| ContextBench | ToolSandbox | ||||
|---|---|---|---|---|---|
| Policy | Accuracy | Tokens | Utility | Accuracy | Tokens |
| MasRouter (always-send) | 0.6317 | 3,227 | 0.3090 | 0.7056 | 3,085 |
| Policy | Step-runs | Accuracy | Tokens/step | Seconds/step |
|---|---|---|---|---|
| Pre-sender gate | 36 | 1.000 | 919.4 | 6.60 |
| Always send | 36 | 0.8056 | 3,085.4 | 9.56 |
| SKIP endpoint | 720 | 0.9875 | 1,801.4 | 14.37 |
| Always send | 720 | 0.9861 | 4,282.4 | 19.42 |
| Action | Scorer probes | Sender calls | Receiver generations |
|---|---|---|---|
| skip through gate | 0 | 0 | 1 |
| skip after scoring | 9 | 2 | 1 |
| raw | 9 | 2 | 1 |
| compress | 9 | 2 | 1 |
| refresh | 9 | 2 | 1 |
| escalate | 9 | 2 | 1 |
Multi-Agent Communication
Multi-agent communication studies how autonomous agents exchange information to coordinate decisions, share knowledge, and act together under constraints.
See all 380 papers