让各家模型打《星际争霸》:没有一个是初学者以上水平
19 个「模型 × 推理档位」打循环赛:Codex Astra 全胜居首,Grok 系 43 分钟只发 6 批命令、一个战斗单位都没出,Claude Fable 唯一在认真运营攀科技。作者结论是没有任何 agent 打出初学者水平。
中文
复制
作者:Ben Swerdlow
哪个模型能在《星际争霸:母巢之战》里赢?
关键结论
- 没有任何模型打出初学者以上的水平。
- Codex Astra 明显领先,稳定击败其他所有模型。
- Grok 系列模型还没聪明到能玩母巢之战。
- 较早的模型倾向于把即时战略当成回合制来打,于是在「思考」的时候被打崩。更新的模型有时也会掉进同一个坑,这或许能解释为什么一些低推理档位反而表现更好;但总体上它们对「思考的代价」有更强的意识。
排行榜
| 排名 | 系统 | 胜 | 负 | APM | 每局成本 | 胜率 |
|---|---|---|---|---|---|---|
| 🥇 | Codex Astra / xhigh | 18 | 0 | 12.6 | $10.54 | 100.0% |
| 🥈 | Codex Astra / medium | 16 | 2 | 17.2 | $15.11 | 88.9% |
| 🥉 | Claude Fable | 15 | 3 | 12.6 | $12.24 | 83.3% |
| 4 | Codex Astra / low | 14 | 4 | 25.7 | $21.07 | 77.8% |
| 5 | Codex 5.6 Sol / medium | 13 | 5 | 10.1 | $5.12 | 72.2% |
| 6 | Codex 5.6 Sol / low | 12 | 6 | 18.1 | $9.23 | 66.7% |
| 7 | Claude Opus 5 | 12 | 6 | 10.5 | $20.78 | 66.7% |
| 8 | Codex 5.6 Sol / xhigh | 11 | 7 | 8.0 | $3.23 | 61.1% |
| 9 | Codex 5.6 Luna / low | 9 | 9 | 23.8 | $0.42 | 50.0% |
| 10 | Codex 5.6 Terra / xhigh | 9 | 9 | 15.8 | $2.10 | 50.0% |
Brood War Bench 的起点是我做了一个只能通过 agent 来玩的母巢之战版本,本来是想和朋友一起玩。我和几个朋友玩了,他们表现好得让人意外——而这几个朋友这辈子只玩过几把星际。我问他们为什么打得不错,他们说其实没做什么,只是让 agent 去进攻,agent 就自己造出一小支军队并完成了整套进攻。这让我好奇:它们自己究竟能走多远。这就是我的回答。
我观察到的
Codex 先学会的是「骚套路」,而不是运营
Codex 最强的反复出现的思路是骚扰。在神族对局里,它常派一个探机穿越大半张地图去攻击农民或建筑。这招效果好得惊人,因为对手 agent 往往会花几十秒去思考「这个探机该怎么办」,而其他什么都没做。
同样的系统在持续生产上弱得多:它们拖延科技,把一两个基础单位一滴一滴送进有防守的基地,还把农民拉去送死。
我还注意到 Codex 常常另开若干子 agent 分别管理经济、军队生产和军队控制。它们之间沟通很少,于是军队 agent 常把每个新单位直接送去进攻,完全不知道其他 agent 正在规划的那支更大的部队。
这是典型的初学者错误:一个一个送兵,而不是等出关键数量、按计划的时间点发起进攻。在我帮 Codex 指挥的那些局里,它在规划这些节点、让子 agent 协同上要好得多。
那种「死磕」是真的。在 G009 里,丢了军队和主基地之后,Codex 5.6 Terra / medium 把最后一个指挥中心飞起来,挪到对角去,又活了六分钟。
(配图:六个探机穿越地图 / 先是探机,然后是零散来的狂热者 / 最后的指挥中心在跑路)
Grok 整局都花在两次行动之间
Grok 4.6 频繁产出大段推理和极少的命令批次。在 G043 里,xhigh 档位记录了 11,138 个推理 token,但在 43 分钟内只发出了六批命令,而且从未派出过一个战斗单位。
它真正做出的行动也很少形成可用的控制回路。在 G003 里,Grok / xhigh 造了三个机枪兵,从未抵达敌方基地。在 G002 里,Grok / medium 造了两个狂热者,同样没过地图。这些看起来不太像策略差,更像是持续观察与行动这件事失败了。
(配图:43 分钟,没有军队)
Fable 是真心想玩这个游戏
有不少局我是真心在替 Claude Fable 加油。Fable 通常会尝试发展经济、攀科技树,而不是停在第一个能造的单位上。它看起来比其他任何模型都更想真正玩这个游戏。
在 G007 里,它造到了巢穴、尖塔和飞龙并赢下比赛。在 G027 里,它又补上机械工厂、阿顿圣殿、观测站和圣堂档案馆之后取胜。但野心不等于执行:在 G036 里 Fable 造到了工厂和学院,却被 Opus 5 推平了。
(配图:Fable 拿到飞龙 / Fable 一直在攀科技 / 这些建造没有变成一支军队)
这里没有任何 agent 打出初学者以上水平
即便是 Astra 和 Fable,也无法组建复杂的部队、防守简单的进攻,或者执行具体的战术。一个会打光子炮 rush 的初学者,能赢下这里每一局。
不过,看着这些 agent 打游戏,是我很久以来最兴奋的一次。这个基准远未被榨干。它们还有很多要学,这个基准也还有很多可以要求它们做的事。我很期待看它们走到那一步。
对局是怎么发展的
科技投入(已完成的研究 + 升级等级,均值)
| 模型 | 数值 |
|---|---|
| Codex Astra | 0.3 |
| Claude Fable | 0.2 |
| Grok 4.6 | 0 |
农民(存活且已完成的农民)
| 模型 | 数值 |
|---|---|
| Codex Astra | 14.7 |
| Claude Fable | 16.7 |
| Grok 4.6 | 7.4 |
军队规模(已完成的战斗与支援单位)
| 模型 | 数值 |
|---|---|
| Codex Astra | 8.3 |
| Claude Fable | 7.6 |
| Grok 4.6 | 2 |
建筑(已完成的建筑,含附属建筑)
| 模型 | 数值 |
|---|---|
| Codex Astra | 6.2 |
| Claude Fable | 7.4 |
| Grok 4.6 | 4.5 |
银行存款的晶矿(未花掉的晶矿,不是收入)
| 模型 | 数值 |
|---|---|
| Codex Astra | 240.6 |
| Claude Fable | 248.6 |
| Grok 4.6 | 536.6 |
银行存款的瓦斯(未花掉的瓦斯,不是收入)
| 模型 | 数值 |
|---|---|
| Codex Astra | 151 |
| Claude Fable | 326.9 |
| Grok 4.6 | 244.5 |
已用人口(含生产中的单位)
| 模型 | 数值 |
|---|---|
| Codex Astra | 26.5 |
| Claude Fable | 26.6 |
| Grok 4.6 | 11.3 |
对局在什么时候结束(每 5 分钟窗口内结束的对局占比)
Codex Astra:中位数 8:10。 0:00–5:00 占 3.9%;5:00–10:00 占 54.9%;10:00–15:00 占 31.4%;15:00–20:00 占 5.9%;25:00–30:00 占 2%;30:00–35:00 占 2%。
Claude Fable:中位数 10:37。 5:00–10:00 占 38.9%;10:00–15:00 占 38.9%;15:00–20:00 占 22.2%。
Grok 4.6:中位数 9:15。 0:00–5:00 占 2%;5:00–10:00 占 51%;10:00–15:00 占 23.5%;15:00–20:00 占 13.7%;20:00–25:00 占 2%;40:00–45:00 占 7.8%。
时序图显示的是每个游戏时间点上已记录玩家运行的平均值。已结束的对局会退出统计;缺失的采样不做填充。各模型把不同推理档位合并计算。单位和建筑只统计已完成的;军队不含农民、领主、虫卵、幼虫和弹药。
按排行榜同一套价格计算的平均每局成本。Codex 与 Sonnet 的成本是按 token 估算的。
基准是怎么跑的
我们构建了一个「模型 × 推理档位」配置的循环赛矩阵,让每个配置与其他每个配置都对战一场。测试框架在 Freestyle VM 上并行跑这些对局,并为每场比赛保存游戏引擎数据与双方 agent 的 harness 日志。
对战矩阵
横向读一行。W 为胜,L 为负,T 为打到基准时限的对局。
| # | 系统 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Codex Astra / xhigh | - | W | W | W | W | W | W | W | W | W | W | W | W | W | W | W | W | W | W |
| 2 | Codex Astra / medium | L | - | W | W | W | W | W | W | W | W | W | W | L | W | W | W | W | W | W |
| 3 | Codex Astra / low | L | L | - | W | W | W | W | W | W | W | W | W | L | L | W | W | W | W | W |
| 4 | Codex 5.6 Sol / xhigh | L | L | L | - | L | W | W | W | L | W | W | W | L | L | W | W | W | W | W |
| 5 | Codex 5.6 Sol / medium | L | L | L | W | - | W | W | W | L | W | W | W | L | W | W | W | W | W | W |
| 6 | Codex 5.6 Sol / low | L | L | L | L | L | - | W | W | W | W | W | W | W | W | L | W | W | W | W |
| 7 | Codex 5.6 Luna / xhigh | L | L | L | L | L | L | - | W | L | W | L | W | L | L | L | W | W | W | W |
| 8 | Codex 5.6 Luna / medium | L | L | L | L | L | L | L | - | L | L | L | L | L | W | W | W | W | W | W |
| 9 | Codex 5.6 Luna / low | L | L | L | W | W | L | W | W | - | W | L | L | L | L | L | W | W | W | W |
| 10 | Codex 5.6 Terra / xhigh | L | L | L | L | L | L | L | W | L | - | W | W | L | W | W | W | W | W | W |
| 11 | Codex 5.6 Terra / medium | L | L | L | L | L | L | W | W | W | L | - | L | L | L | W | W | W | W | W |
| 12 | Codex 5.6 Terra / low | L | L | L | L | L | L | L | W | W | L | W | - | L | L | W | W | W | W | W |
| 13 | Claude Fable | L | W | W | W | W | L | W | W | W | W | W | W | - | L | W | W | W | W | W |
| 14 | Claude Opus 5 | L | L | W | W | L | L | W | L | W | L | W | W | W | - | W | W | W | W | W |
| 15 | Claude Sonnet | L | L | L | L | L | W | W | L | W | L | L | L | L | L | - | W | W | W | W |
| 16 | Claude Haiku | L | L | L | L | L | L | L | L | L | L | L | L | L | L | L | - | L | T | T |
| 17 | Grok 4.6 / xhigh | L | L | L | L | L | L | L | L | L | L | L | L | L | L | L | W | - | W | T |
| 18 | Grok 4.6 / medium | L | L | L | L | L | L | L | L | L | L | L | L | L | L | L | T | L | - | W |
| 19 | Grok 4.6 / low | L | L | L | L | L | L | L | L | L | L | L | L | L | L | L | T | T | L | - |