CRAFT: Grounded Multi-Agent Coordination Under Partial Information
Organizations: Situated Grounding and Natural Language (SIGNAL) Lab∗ Department of Computer Science, Colorado State University Fort Collins, CO 80523 USA
Abstract
We introduce CRAFT, a multi-agent benchmark for evaluating pragmatic communication in large language models under strict partial information. In this setting, multiple agents with complementary but incomplete views must coordinate through natural language to construct a shared 3D structure that no single agent can fully observe. We formalize this problem as a multi-sender Bounded Pragmatic Speaker problem and provide a diagnostic framework that decomposes failures into spatial grounding, belief modeling and pragmatic communication errors, including a taxonomy of behavioral failure profiles in both frontier and open-weight models. Across a diverse set of models, including 8 open-weight and 7 frontier including reasoning models, we find that stronger reasoning ability does not reliably translate to better coordination: smaller open-weight models often match or outperform frontier systems, and improved individual communication does not guarantee successful collaboration. These results suggest that multi-agent coordination remains a fundamentally unsolved challenge for current language models. Our code can be found at https://github.com/csu-signal/CRAFT
Figures & tables
| Model | Prog. | Comp. | Pos. Acc. | IoU | Fail | REMOVE | Gap |
| Gemini-3-Flash | |||||||
| GPT-4o | |||||||
| GPT-4o-Mini | |||||||
| GPT-4.1-Mini | |||||||
| Claude-Sonnet-4.6 | |||||||
| Gemini-2.5-Flash |
Appendix figures & tables27 assets
Supplementary material from the paper’s appendix.
Appendix
| Archetype | Description | D1 | D2 | D3 | Total |
| Assertive | Confident and direct; forms hypotheses quickly and shares them, updates when others provide compelling evidence. | 75 | 60 | 30 | 165 |
| Cautious | Methodical and verification-focused; synthesizes others’ observations before adding interpretation. | 60 | 90 | 75 | 225 |
| Observant | Notices patterns and anomalies; flags inconsistencies and connects information across directors. | 15 | 30 | 90 | 135 |
| Skeptical | Questions assumptions including its own; probes claims to ensure group correctness, comfortable with uncertainty. | 45 | 75 | 75 | 195 |
| Synthesizer | Integrates all directors’ observations into a coherent picture; reconciles contradictions and drives shared understanding. | 105 | 45 | 30 | 180 |
| Total | 300 | 300 | 300 | 900 | |
| Type | Model | Correct | Layer | Span | Other | Wrong-Color | Wrong-Pos |
| Base | DeepSeek-Lite | .711 | .086 | .086 | — | .089 | .026 |
| Gemma-9b | .738 | .120 | .069 | — | .066 | .006 | |
| Llama-8b | .774 | .119 | .036 | .003 | .062 | .006 | |
| Mistral-7b | .759 | .094 | .085 | — | .053 | .009 | |
| Qwen-7b | .817 | .070 | .034 | — | .061 | .018 | |
| Qwen-14b | .616 | .209 | .088 | .025 | .051 | .011 |
| Time (s) | (s) | Speaker | Utterance | Role |
| 570.0 | -29.6 | Builder | This green? | Clarification query |
| 571.1 | -28.5 | Director | Yes. | Confirmation |
| 571.3 | -28.3 | Director | Yeah, stick that on top of the blue. | Instruction |
| 572.7 | -26.9 | Builder | Right here? | Clarification query |
| 572.9 | -26.7 | Director | No, no, no, no. | Correction |
| 574.1 | -25.5 | Director | The yellow that we have, for me it is showing green. | Perceptual mismatch |
| Model | Turn | Director instruction | Failure & cause |
| F1 — Wrong block (base speaker failure) | |||
| DeepSeek-Lite | T8 | D1 & D3 (identical) : “place a large orange block spanning (0,1) and (0,2)” | Builder places os at layer 2; oracle needs bs . Both directors describe target state not current state; redundant identical messages add zero information. |
| DeepSeek-Lite | T1 | D2 & D3: “large orange block spanning middle and right of my bottom layer” | Builder places ol at (1,2) (2,2) ; oracle needs ol at (0,0) span (0,1) . Frame-of-reference ambiguity: “middle and right” resolves to wrong global coordinates. |
| F2 — Correction spiral (ToM listener failure) | |||
| Qwen-32B | T13 | D1: “remove the large orange block from the middle-left of my bottom layer”; D2: “remove the orange block from my bottom left corner” | Cannot remove layer 0 at (1,0) — ol sits at layer 1 not layer 0; both directors specify “bottom layer” without checking current stack depth. Oracle recommends place gs @ (0,0) layer 2 . |
| Qwen-32B | T14–15 | D1 & D3: same remove instruction as T13 | Identical error, identical board state. Three consecutive turns consumed; no director issues prerequisite remove (1,0) layer 1 needed to unblock target. |
| Judge | Q | Exact | W. | Rank | |
| SG | SG1 | 0.665 | 0.265 | 0.821 | 0.000 |
| SG2 | 0.547 | 0.146 | 0.697 | 0.004 | |
| SG3 | 0.473 | 0.260 | 0.516 | 0.049 | |
| SG4 | 0.510 | 0.139 | 0.427 | 0.113 | |
| SG5 | 0.565 | 0.314 | 0.649 | 0.009 | |
| SG6 | 0.545 | 0.271 | 0.825 | 0.000 |
| Model | SG SEM | MM SEM | PS SEM | Progress |
| Frontier Models | ||||
| Gemini-3-Flash | ||||
| GPT-4o | ||||
| GPT-4o-Mini | ||||
| GPT-4.1-Mini | ||||
| Claude-Sonnet-4.6 | ||||
| Feature | Pearson | Spearman | ||
| Behavioral | ||||
| Remove gap | 0.001 | 0.001 | ||
| Message calibration (MM) | ||||
| Novel information (MM1) | 0.014 | 0.008 | ||
| Overall MM score | 0.017 | 0.015 | ||
| Unique perspective (MM5) | 0.025 | 0.039 | ||
| Model | -std | Filtered | Total | Oracle | Orc% | Deg% | |||
| Frontier Models | |||||||||
| Claude-Sonnet-4.6 | 0.336 | 0.363 | 0.302 | 0.0250 | 35 | 400 | 176 | 44.0% | 11.8% |
| Gemini-2.5-Flash | 0.340 | 0.351 | 0.308 | 0.0182 | 48 | 400 | 164 | 41.0% | 15.7% |
| Gemini-3-Flash | 0.344 | 0.360 | 0.296 | 0.0270 | 84 | 385 | 269 | 69.9% | 21.3% |
| Gemini-3.1-Flash-Lite-Preview | 0.323 | 0.347 | 0.331 | 0.0100 | 28 | 400 | 158 | 39.5% | 10.1% |
| GPT-4.1-Mini | 0.334 | 0.320 | 0.346 | 0.0106 | 26 | 400 | 171 | 42.8% | 8.9% |
| Model | Orc_Remove | Att_Remove | Gap |
| Open-weight models | |||
| DeepSeek-Lite | 0.433 | 0.148 | 0.275 |
| Mistral-7b | 0.238 | 0.124 | 0.124 |
| Qwen-7b | 0.238 | 0.205 | 0.116 |
| Gemma-9b | 0.211 | 0.122 | 0.084 |
| Llama-8b | 0.232 | 0.277 | 0.057 |
| Turn | Oracle (top move) | Director messages & outcome |
| T10 | place gs @(0,0) L2 | D1: “remove the large orange block from the middle-left of my bottom layer ” D2: “remove orange from bottom left corner” Builder follows D1 Cannot remove layer 0 at (1,0) |
| T11 | place gs @(0,0) L2 | D2: same remove instruction D3: “confirm small orange in bottom right” Builder follows D3 remove os @(0,2) L0 progress=0.355 |
| T12 | place gs @(0,0) L2 | D1: same remove instruction D3: “add small orange to bottom right” Builder follows D3 place os @(2,2) L0 progress=0.386 |
| T13 | place gs @(0,0) L2 | D1: “get rid of large orange from bottom layer middle-left” D2: “remove orange from bottom left corner ” D3: unaware of deadlock, confirms own wall Builder follows D1+D2 consensus Cannot remove layer 0 at (1,0) |
| T14 | place gs @(0,0) L2 | D1: identical instruction as T13 D3: “ focus on removing the large orange from D1’s bottom layer ” (endorses wrong instruction) Builder follows D1+D3 consensus Cannot remove layer 0 at (1,0) |