Local Work, Global Progress: A Convergence Theory of AI Agent Collaboration
Organizations: KAUST
Abstract
Teams of large language model (LLM) agents are increasingly applied to complex tasks, but their collaboration protocols are mostly designed empirically, without convergence guarantees. We formalize collaborative problem solving as block optimization: each agent improves one part of a shared solution, guided by its local objective plus a correction for how its changes affect the other parts. A coordinator checks every proposal against the global objective and merges proposals that do not interfere with each other. We prove linear convergence up to an error floor that vanishes when the corrections are exact. Interfering proposals can also be merged once their combination has been checked; the rate then depends on how well the proposals actually combine, not on worst-case interactions. With GPT-OSS-120B agents on robot routing, a three-agent team finds collision-free plans in every run, better than those of a single agent that controls all robots. On a larger routing task, a six-agent team completes its search about twice as fast as the single agent (in median). Merging the best checked combination of proposals, rather than only proposals that do not interfere, cuts the team's search time by about 30%. With constants measured on the runs, our convergence bound holds in every round and follows the observed progress. We also test the theory on query planning in SQLite and on a synthetic task.
Figures & tables
| Map 1 | Map 2 | Two floors | |||||||||||||
| Variant | Safe runs | Search (s) | Safe runs | Search (s) | Safe runs | Search (s) | |||||||||
| Single agent | 100% | 12.0 | 10.5 | 613 | 398 | 95% | 19.5 | 44.4 | 538 | 366 | 100% | 28.6 | 23.3 | 1149 | 420 |
| Best-of- | 95% | 18.9 | 48.8 | 326 | 198 | 90% | 21.6 | 33.9 | 326 | 147 | 100% | 21.4 | 16.3 | 517 | 124 |
| Team (Alg. 1 ) | 100% | 5.9 | 2.7 | 481 | 227 | 100% | 7.2 | 12.6 | 482 | 202 | 100% | 13.1 | 12.7 | 656 | 206 |
| Team (Alg. 2 ) | 100% | 5.4 | 3.2 | 340 | 197 | 100% | 12.8 | 17.2 | 310 | 204 | 100% | 18.2 | 17.4 | 452 | 227 |
| Team unsafe | 100% | 5.0 | 2.6 | 601 | 284 | 95% | 10.1 | 22.3 | 424 | 232 | 95% | 15.1 | 22.5 | 717 | 263 |
| Symbol | Meaning |
|---|---|
| Shared task, local objectives and corrections | |
| Number of blocks or agents. | |
| Block or agent index. | |
| Finite block domain and product domain . | |
| Shared candidate solution, its block , and coordinate of that block. | |
| All blocks other than , and the solution with block replaced by . | |
Appendix figures & tables36 assets
Supplementary material from the paper’s appendix.
Appendix
| ProxSkip | Present construction | |
| Correction | Updated recursively through occasional proximal steps | Learned persistently from scalar verifier residuals in an identifiable model |
| Private work | Corrected gradient steps | Search within an assigned artifact block |
| Analysis | Joint iterate–correction error | Joint task–correction contraction; observable uncertainty for coordinate probes |
| Communication benefit | Accelerated communication under its optimization assumptions | Batching and a finite calibration budget; no ProxSkip acceleration claim |
| Map 1 (first floor) | Map 2 (second floor, s0–s8 on two floors) | ||||||||
| Robot | Agent | Start | Goal | Dist. | Robot | Agent | Start | Goal | Dist. |
| r0 | 1 | 18 | r0 | 1 | 23 | ||||
| r1 | 1 | 20 | r1 | 1 | 13 | ||||
| r2 | 2 | 13 | r2 | 1 | 13 | ||||
| r3 | 2 | 15 | r3 | 2 | 14 | ||||
| r4 | 3 | 15 | r4 | 2 | 15 | ||||
| Metric | Single agent (whole plan) | Team |
| Actual elapsed (s) | ||
| Checked answers | ||
| Safe delivery of all nine | 1/10 | 10/10 |
| Single agent, whole plan | Team (Alg. 1 ) | |||||||
| Seed | Final | Delivered/conflicts | Answers | Time (s) | Final | Rounds | Answers | Time (s) |
| 0 | 1476 | 0/0 | 5 | 165.6 | 152 | 7 | 45 | 608.0 |
| 1 | 1476 | 0/0 | 5 | 135.4 | 158 | 8 | 58 | 650.2 |
| 2 | 455 | 9/3 | 8 | 264.4 | 152 | 7 | 57 | 494.2 |
| 3 | 490 | 8/2 | 10 | 372.6 | 155 | 8 | 59 | 673.6 |
| 4 | 722 | 9/5 | 9 | 253.7 | 155 | 8 | 66 | 578.9 |
| Seed | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| Final | 452 | 444 | 152 | 451 | 448 | 294 | 448 | 444 | 548 | 248 |
| Collisions | 3 | 3 | 0 | 3 | 3 | 1 | 3 | 3 | 4 | 1 |
| Rounds | 8 | 8 | 4 | 8 | 8 | 8 | 8 | 8 | 8 | 8 |
| 1 route per answer | Up to 2 routes | Up to 3 routes | All nine routes | |||||||||||||
| Seed | Coll. | Ans. | Search (s) | Coll. | Ans. | Search (s) | Coll. | Ans. | Search (s) | Coll. | Ans. | Search (s) | ||||
| 0 | 152 | 0 | 16 | 241.8 | 152 | 0 | 18 | 298.3 | 160 | 0 | 27 | 637.7 | 1476 ∗ | 0 | 15 | 403.4 |
| 1 | 161 | 0 | 35 | 742.6 | 267 | 1 | 25 | 448.3 | 153 | 0 | 19 | 402.9 | 259 | 1 | 60 | 1502.2 |
| 2 | 152 | 0 | 32 | 577.1 | 170 | 0 | 25 | 778.1 | 152 | 0 | 17 | 331.2 | 1476 ∗ | 0 | 15 | 395.3 |
| 3 | 150 | 0 | 43 | 814.7 | 152 | 0 | 22 | 396.1 | 152 | 0 | 9 | 161.9 | 1476 ∗ | 0 | 15 | 469.2 |
| 4 | 151 | 0 | 51 | 1153.7 | 152 | 0 | 13 | 194.5 | 152 | 0 | 10 | 168.6 | 691 | 5 | 18 | 395.7 |
| Efficiency paragraph | Partial route updates | ||||||||||
| Seed | Coll. | Rounds | Search (s) | USD | Coll. | Rounds | Ans. | Search (s) | USD | ||
| 0 | 150 | 0 | 7 | 400.19 | 0.23792 | 152 | 0 | 5 | 43 | 257.44 | 0.15622 |
| 1 | 149 | 0 | 5 | 276.32 | 0.16257 | 152 | 0 | 6 | 51 | 320.67 | 0.19878 |
| 2 | 154 | 0 | 8 | 501.97 | 0.31963 | 248 | 1 | 8 | 58 | 489.37 | 0.26790 |
| 3 | 188 | 0 | 8 | 567.83 | 0.32965 | 150 | 0 | 4 | 33 | 212.23 | 0.12381 |
| 4 | 161 | 0 | 8 | 429.93 | 0.17183 | 153 | 0 | 6 | 44 | 268.90 | 0.16628 |
| Per-run statistic | v1 | v1 + par. | v2, map 1 | v2, map 2 |
| Mean | ||||
| Mean | ||||
| Mean | ||||
| Smallest ratio |
| Variant | Appendix | Safe | Final | Search time (s) | Answers | Reported USD/run |
| Prompt v2, map 1 (main text) | ||||||
| Single agent, 1 route per answer | E | 20/20 | ||||
| Single agent, exactly 3 routes per answer | E | 9/10 | ||||
| Best-of-3 one-route single agents | E | 19/20 | ||||
| Team (Alg. 1 ) | E | 20/20 | ||||
| Team (Alg. 2 ) | E.5 | 20/20 | ||||
| Single agent, 1 route | Best-of-3 | Single agent, exactly 3 routes | Team (Alg. 1 ) | Team, no correction | |||||||||
| Seed | Ans. | Time (s) | Time (s) | Ans. | Time (s) | Rounds | Time (s) | Time (s) | |||||
| 0 | 148 | 20 | 318.9 | 157 | 673.7 | 153 | 10 | 280.6 | 145 | 6 | 304.2 | 444 † | 209.3 |
| 1 | 153 | 19 | 276.9 | 151 | 250.8 | 151 | 26 | 554.3 | 152 | 7 | 542.3 | 452 † | 533.2 |
| 2 | 153 | 20 | 323.4 | 152 | 195.3 | 848 † | 20 | 448.2 | 152 | 5 | 253.0 | 546 † | 357.1 |
| 3 | 151 | 14 | 209.8 | 152 | 213.4 | 153 | 14 | 504.3 | 147 | 11 | 666.7 | 444 † | 163.7 |
| 4 | 150 | 22 | 334.7 | 148 | 156.3 | 148 | 13 | 267.0 | 150 | 12 | 987.2 | 444 † | 270.8 |
| Single agent | Best-of-3 | Team (Alg. 1 ) | Team, no correction | |||||||
| Seed | Ans. | Time (s) | Time (s) | Rounds | Time (s) | Time (s) | ||||
| 0 | 156 | 20 | 458.2 | 153 | 173.3 | 151 | 12 | 916.2 | 447 † | 93.0 |
| 1 | 154 | 24 | 526.9 | 152 | 203.3 | 148 | 5 | 341.1 | 247 † | 89.4 |
| 2 | 155 | 14 | 278.0 | 156 | 409.8 | 155 | 7 | 396.9 | 347 † | 307.1 |
| 3 | 153 | 45 | 1236.5 | 185 | 476.3 | 151 | 5 | 260.7 | 647 † | 68.0 |
| 4 | 156 | 20 | 324.7 | 156 | 379.3 | 155 | 6 | 367.6 | 447 † | 194.0 |
| Variant | Safe | Final | Search time (s) | Answers | USD/run | |
| Single agent, 1 route per answer | 19/20 | 16/20 | ||||
| Best-of-3 one-route single agents | 18/20 | 15/20 | ||||
| Team (Alg. 1 ) | 20/20 | 19/20 | ||||
| Team without correction | 2/10 | 2/10 | ||||
| Sequential replay of the team | 20/20 | 19/20 | — |
| Variant | Safe | Both thresholds | Final | Search time (s) | Answers | USD/run |
| Single agent, 1 route per answer | 20/20 | 9/20 | ||||
| Best-of-6 one-route single agents | 20/20 | 16/20 | ||||
| Team (Alg. 1 ) | 20/20 | 19/20 | ||||
| Team without correction | 0/10 | 0/10 | ||||
| Sequential replay of the team | 20/20 | 19/20 | — |
| Single agent | Best-of-6 | Team (Alg. 1 ) | Team, no correction | |||||||||
| Seed | Ans. | Time (s) | Rounds | Time (s) | Rounds | Time (s) | Seq. (s) | Time (s) | ||||
| 0 | 150+164 ∗ | 69 | 1778.2 | 151+178 ∗ | 26 | 676.8 | 145+151 | 12 | 916.2 | 1906.9 | 444+447 ∗ | 219.5 |
| 1 | 150+155 | 68 | 1518.6 | 151+155 | 31 | 739.3 | 152+148 | 7 | 578.4 | 1586.1 | 452+247 ∗ | 533.2 |
| 2 | 152+165 ∗ | 62 | 1380.5 | 200+163 ∗ | 28 | 638.8 | 152+155 | 7 | 423.9 | 1186.9 | 546+347 ∗ | 435.2 |
| 3 | 153+161 ∗ | 67 | 1356.9 | 152+153 | 24 | 491.6 | 147+151 | 11 | 723.4 | 1335.1 | 444+647 ∗ | 163.7 |
| 4 | 152+156 | 32 | 473.4 | 150+153 | 21 | 390.4 | 150+155 | 12 | 1012.8 | 2412.9 | 444+447 ∗ | 324.2 |
| Task and merge rule | Safe | Threshold | Final | Search time (s) | Sequential (s) | Rounds | Answers | USD/run |
| Map 1, Team (Alg. 2 ) | 20/20 | 19/20 | 5.7 | |||||
| Map 1, Team unsafe | 20/20 | 20/20 | 9.3 | |||||
| Map 2, Team (Alg. 2 ) | 20/20 | 14/20 | 5.6 | |||||
| Map 2, Team unsafe | 19/20 | 19/20 | 7.4 | |||||
| Two floors, Team (Alg. 2 ) | 20/20 | 14/20 | 7.1 | |||||
| Two floors, Team unsafe | 19/20 | 19/20 | 10.6 |
| Map 1 | Map 2 | |||||||||
| Team (Alg. 2 ) | Team unsafe | Team (Alg. 2 ) | Team unsafe | |||||||
| Seed | Rounds | Time (s) | Time (s) | Rounds | Time (s) | Time (s) | ||||
| 0 | 152 | 3 | 191.1 | 147 | 843.9 | 148 | 2 | 75.3 | 153 | 948.6 |
| 1 | 152 | 8 | 595.0 | 149 | 646.0 | 157 | 8 | 489.1 | 155 | 319.2 |
| 2 | 153 | 6 | 385.7 | 150 | 807.0 | 150 | 9 | 502.5 | 153 | 539.6 |
| 3 | 148 | 5 | 262.6 | 144 | 342.9 | 153 | 4 | 203.9 | 149 | 938.4 |
| Map 1 | Map 2 | |||||||
| Block | Mean | Mean | ||||||
| Agent 1 | 125 | 0.67 | 26 | 40 | 79 | 0.72 | 18 | 31 |
| Agent 2 | 114 | 0.63 | 28 | 16 | 115 | 0.73 | 23 | 58 |
| Agent 3 | 104 | 0.68 | 23 | 26 | 144 | 0.56 | 46 | 22 |
| All | 343 | 0.66 | 77 | 82 | 338 | 0.65 | 87 | 111 |
| Coupled | Gap (bound) | |||||
| Team (Alg. 1 ) | ||||||
| Map 1, prompt v1 | 0.60 | 0.58 | 0.247 | 47.4 | 39% | 12.5 (211.7) |
| Map 1 | 0.43 | 0.66 | 0.246 | 45.5 | 30% | 5.9 (254.2) |
| Map 2 | 0.70 | 0.65 | 0.242 | 36.5 | 32% | 7.2 (226.8) |
| Two floors | — | 0.66 | 0.222 | 66.7 | 31% | 13.1 (395.9) |
| Team (Alg. 2 ) | ||||||
| Map | Phase | Rounds | Mean | Conflicting pairs | New collision | Mean | Mean accepted | Accepting a conflicting pair |
| Map 1 | Start (round 1) | 20 | 2.95 | 34/58 | 34 | 2.20 | 2.35 | 11 |
| Repair (unsafe base) | 57 | 1.89 | 36/72 | 21 | 1.49 | 1.42 | 2 | |
| Refinement (safe base) | 36 | 0.61 | 1/5 | 1 | 1.03 | 0.61 | 0 | |
| Map 2 | Start (round 1) | 20 | 2.90 | 19/56 | 19 | 1.75 | 2.85 | 13 |
| Repair (unsafe base) | 35 | 1.63 | 21/30 | 7 | 1.49 | 1.17 | 1 | |
| Refinement (safe base) | 56 | 0.32 | 2/4 | 2 | 1.04 | 0.30 | 0 |
| Quantity | Fixed value |
| Sources per report | 3 |
| Groups per endpoint table | 4,096 |
| Objects per group | 2 |
| High/low outgoing degree per object | 400 / 1 |
| Edges per source | 1,642,496 |
| Probability of a high-degree right group | 0.97 |
| Policy | Favorable, 48 reports | Favorable, 192 reports | Balanced, 48 reports |
| Native planner | 6.64 | 23.44 | 13.27 |
| Always left | 6.54 | 25.05 | 15.77 |
| 128-edge sample | 13.61 | 32.40 | 22.76 |
| 2,048-edge sample | 36.47 | 51.29 | 40.16 |
| Full joined histograms | 433.34 | 440.16 | 439.11 |
| Exact counts, cached | 10.78 | 21.19 | 10.88 |
| Block | True target | Private target | |
| 1 | 10100000 | 01011111 | 0.5 |
| 2 | 01000001 | 01000001 | 0.6 |
| 3 | 00100010 | 11011101 | 0.7 |
| 4 | 10000010 | 10000010 | 0.8 |
| 5 | 11011001 | 00100110 | 0.9 |
| 6 | 11111101 | 11111101 | 1.0 |
| Completion epochs, mean SE | Cost, | Cost, | Cost, | Cost, | |
| 1 | 61.7 | 370.4 | 1296.4 | 6235.1 | |
| 2 | 67.2 | 235.2 | 739.2 | 3427.2 | |
| 4 | 72.8 | 163.7 | 436.6 | 1891.8 | |
| 8 | 82.7 | 134.4 | 289.4 | 1116.4 | |
| 16 | 96.1 | 126.2 | 216.3 | 696.9 | |
| 32 | 111.6 | 129.1 | 181.4 | 460.5 |
| Final gap | Solved | Bound | Final gap | Solved | Bound | |
| 0.00 | 2000 | 0.0 | 2000 | 0.0 | ||
| 0.25 | 2000 | 10.6 | 2000 | 6.8 | ||
| 0.50 | 2000 | 20.2 | 2000 | 13.4 | ||
| 0.75 | 1340 | 26.8 | 1187 | 19.2 | ||
| 1.00 | 48 | 30.4 | 40 | 24.7 | ||
| Policy | Completion epochs, mean SE | Mean verifier queries | Cost, mean SE | |
| Learn ( ) | 8 | 87.1 | ||
| Learn ( ) | 8 | 85.5 | ||
| Learn ( ) | 8 | 83.1 | ||
| Refresh every round | 8 | 524.8 | ||
| Identify once | 8 | 81.1 | ||
| Learn ( ) | 32 | 80.9 |
| Policy | Epochs, mean SE | Queries | Probes | Reused | Cost, mean SE | |
| Dedicated | 8 | 87.1 | 48.0 | 0.000 | ||
| Verification reuse | 8 | 83.9 | 44.8 | 3.186 | ||
| Identify once | 8 | 81.1 | 48.0 | 0.000 | ||
| Dedicated | 32 | 80.9 | 48.0 | 0.000 | ||
| Verification reuse | 32 | 80.2 | 47.3 | 0.703 | ||
| Identify once | 32 | 60.8 | 48.0 | 0.000 |
Multi-Agent Collaboration
Multi-agent collaboration studies how autonomous agents coordinate, share information, and combine capabilities to solve tasks together.
See all 309 papers