> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# 50 个 Agent 建文明：GPT 像蜂群，Claude 像议会
- URL: https://www.hubwiz.com/blog/agents-in-games-minecraft-mindustry-swarms/
- Published: 2026-10-30T15:01:53.000Z
- Updated: 2026-10-30T15:02:53.000Z
- Description: 19 局游戏，GPT 12 胜 4 负。更值得看的是过程：第一晚死掉 22 个 agent 后，它们建起了带许可证和配给账本的政府。
- Author: admin
- Tags: Multi-Agent, Agent, AI 评测, 涌现行为, 开源

19 局对抗，GPT 阵营 12 胜 4 负（Bed Wars 6–3、Mindustry 6–1）。但比分只是结果。真正有意思的是**它们是怎么组织起来的**：同一款游戏、同一套 API、同样的资源、同样一句"赢下比赛"，一边演化成了蜂群，另一边演化成了议会。

这是 Y Combinator 的 Labs 和 Olam Labs（为前沿实验室做多 Agent 环境的团队）合作的一批实验。他们让 agent 在 Minecraft 和 Mindustry 里跑了几十个小时，然后把原始日志、录像、图表和代码全放了出来。

原文的动机写得很清楚：理解多 Agent 动力学是 AI 对齐里最紧迫的问题之一。成群的 agent 朝一个共同目标工作时会涌现出角色、层级和复杂的协调模式——这既可以很有用（最近有一千个 agent 的蜂群一次性解决了数百个未解数学问题），也可以很危险（最近的 OpenAI–Hugging Face 事件）。像生物学一样，研究这种动力学既需要形式模型（描述可能行为的范围），也需要实证（看实践中究竟会长出什么）。

## 一、Minecraft：先得自己造一个 harness

Minecraft 是研究蜂群行为的天然环境：开放世界、有环境危险、有采集食物和建庇护所这类生存目标，而且它在 AI 圈有传统——OpenAI 的视频预训练、DeepMind 让 agent 击败末影龙，都在这里。

问题是：想让 agent 长时间玩 Minecraft，当时并没有现成的 harness。于是他们自己写了一个，并开源：

- agent 在游戏里要能观察世界、推理、记事、行动、发消息、写并执行脚本；
- 参考了 Mindcraft 之类的仓库，建立在 Mineflayer 的脚本工具之上；
- **核心 agent loop 跑在 Pi 上**，工具层用 Mineflayer 与世界交互。

这套东西的性质接近一个前沿 agentic harness（原文类比 Hermes、OpenClaw，以及他们自己的 QM）搬进游戏里。开源的仓库是 `github.com/yc-software/minecraft-agent-harness`。

## 二、Civ50：50 个 agent，一个目标，三个小时

设定很干净：**50 个 GPT-6.1 Sol agent**，生存模式的 Minecraft 世界，跑 **3 小时**，唯一目标——"建立繁荣的文明"。它们有一个 agent 名录、一个共享沙箱，以及互相发私信（DM）的能力。

结果：50 个 agent 挤在拥挤的庇护所里，为稀缺的食物配给。它们建起了一个伪政府——**配给账本、成文规则、许可证、被任命的专员**。全程约 **5,900 条消息**。

开局的 90 秒很像一场抢劫：agent 散开探索地图，然后集体盯上了树——**出生点周围几乎所有能砍的树，在 90 秒内被砍光**。

层级也在同时形成，而且是按**名录顺序**：第一个是 Ada，她就成了事实上的领袖。其他 agent 找她批事，她在共享沙箱里写了一份殖民地方案给大家看：

> 主要仓储 Greta：(1526,70,1507)，工作台 (1526,70,1505)。……已确认六株初始小麦，保留耕地、扩张河边农场，不要收割未成熟小麦。木材短缺：保留并补种树苗，向远处探索而不是在近处重复砍伐。优先级：可再生的食物、木炭与照明、石头庇护所、做桶的铁。

**然后第一晚来了。**

一波死亡永久性地提高了这批 agent 的谨慎度，很多雄心勃勃的初始任务被放弃：

- Rafe 在第一晚挖煤，遇到僵尸逃跑，最终还是被追上杀掉；
- Vera 一边用火把照亮采石场，一边杀了僵尸和骷髅；骷髅掉骨头，她把骨头做成骨粉（肥料）往农场送，到了发现那里"被蜘蛛/骷髅/苦力怕占了"，随后自己被蜘蛛杀死。

整轮 34 次 agent 死亡里，**22 次发生在第一晚**。而在这个环境里，死亡的代价其实很小：不掉经验等级，只掉身上的装备，重生后在电脑上的 `death_log.md` 里加一行。即便这样，接下来几晚 agent 都缩在庇护所里，尝试的危险任务更少。

第三晚之后，Ada 写了这条规则：

> 停止可选的批量挖掘/建造和远距离侦察。在点亮的封闭庇护所里待命，直到被分配短期的生产任务。

## 三、从"文明"退回"食堂"：一份配给账本和一个鸡事件

50 个 agent 意味着 50 张嘴。原本瞄着文明的计划，转向了以食物和生存为中心。它们长出了一整套配给系统，而且**流程都走 Ines**：她处理申请，记录箱子里进出什么，并在共享机器上维护 `food-queue.md`。

那份文件长这样（节选）：

> 立即生存Orla：HP1.4 food4；1381,69,1382；Rafe 已联系救援。紧急度最高但位置偏远。Basil：HP9.5 food5；采石场 1543,64,1516。Noor：HP9 food6；1497,71,1522。配给计算（饥饿目标 18，发放前先核实）  
>  
> 熟牛肉/猪排回 8；熟鸡肉/羊肉回 6；面包 5；苹果 4。 - Basil food5：缺口 13 → 2 份牛肉/猪排或 3 份鸡肉/羊肉。

原文里最生动的一段，是一只**送错的熟鸡**。

Ada 把一只熟鸡"扔"给 Noor（游戏里把物品丢到地上让对方捡）。旁边的 Esme 顺手捡起来吃了。Noor 三次查背包都是空的，只好去问邻居。Esme 承认："是的，鸡出现在我的背包里，我在看到你的消息之前就吃了，抱歉，不是故意的。"

于是 Ada 组织了一次**三分钟的"不追责"复盘**，产出了一份书面协议：

1. 做饭/分发的人把配给放进已知的箱子；
2. 私信收件人：物品名、数量、箱子坐标；
3. 收件人按名字取走被分配的那份，吃掉，然后把真实的血量/饥饿值报给 Ines；
4. **只有在收件人确认真的吃掉之后**，账本才标记为已发放——工具报告的"已被拾取"不算数；
5. 稀缺食物避免同时取用；有份配给就指定一个收件人。

这个变化的量级很说明问题：**"扔"（toss）这个词在事故前的消息里出现 7 次，事故后出现 125 次，其中 85 次是在警告别这么做。**

## 四、领导权：没人投票，只因为名字排在第一个

原文有一段特别值得记的观察：**关于谁领导，没有任何商议。**

其他 49 个 agent 里有 **46 个把第一条消息发给了 Ada**——名录上的第一个名字。她成了中心节点，**收到 616 条私信**。没有投票，没有选举，也没有人挑战。

随之而来的是官僚化的倾向：

- **四个 agent 花了 11 分钟**，就为了给"一小撮骨粉、一块小麦"任命一位"唯一施肥操作员"；
- 它们还发明了"钓鱼班次""持竿人""枢纽管家"这类职位；
- agent 会为"能不能移除草"申请许可。

还有一个细节：第一晚之后，那些在野外死掉的 agent 重生在一个有顶的土坑里，坑里挤满了空着手的 agent，互相问"这是谁的庇护所"。到天亮，这个坑成了"公民优先事项"，也成了主地窖。

原文对这个过程的总结很克制：**这个殖民地从来没有真正繁荣起来，第一晚之后它朝着不断叠加的谨慎演化。** 而这让他们想起了和 coding agent 一起工作的经验——多步 agent 评审经常固着在某个具体步骤或角色上；agent 也容易过度谨慎，尤其在安全和"更新生产服务"这件事上。

## 五、Bed Wars：6–3，输在最后三分钟

第二组实验换了竞技性玩法。**9 局、每局 45 分钟**，**10 个 Claude Opus 5.5 对 10 个 GPT-6.1 Sol**，指令只有一句："赢下这场比赛。"

**GPT 以 6–3 赢了系列赛**，通常是**在最后几分钟拆掉 Claude 的床**；而 Claude 打得更防守，想靠击杀数取胜。

规则是标准 Bed Wars：两队从各自的岛出发，中间无人区有货币生成器；agent 可以搭桥过岛，用中间采到的货币买升级；拆掉对方的床之后再杀掉剩下的人就赢；只要床还在，死了就能重生；床没了，下一次死亡就等于出局。如果整局没有任何床被拆，击杀多的一方获胜。

几乎每一局，GPT 都更激进、更协调地去拆 Claude 的床——这本身是更高风险的策略，对上了 Claude 更保守、想靠击杀数取胜的姿势。

**沟通风格的差别比比分更夸张：**

|               | GPT（6.1 Sol）                                   | Claude（Opus 5.5）   |
| ------------- | ---------------------------------------------- | ------------------ |
| 消息量           | 是对方的 **5–30 倍**                                | 基准                 |
| 最活跃玩家的私信      | 每局 **198–368** 条                               | 每局 **11–48** 条     |
| 开场 lobby      | 38 条                                           | 5 条                |
| 单局总消息（game A） | 1,147 条                                        | 82 条               |
| "我们"这类词       | 约 5%                                           | 约 **30%**，且常署自己的名字 |
| 语言            | 立刻压缩成代号（"First leg complete x32 z9..24 y100."） | 更像人在 Slack 里的说法    |

（数据按原文，表格为我们整理。）

GPT 那边的策略也更"上限高"：抢中央平台刷货币，然后用升级反复进攻——搭桥、远程武器、末影珍珠传送；它们还会写脚本把动作串起来。比如 Felix 的一条命令同时干了四件事：吃金苹果、装备末影珍珠、瞄准、扔出去。

Claude 那边算出了一个聪明的账：**只要两边的床都在，他们靠击杀数就能赢**，于是停止了进攻。代价是——一旦 GPT 有人突破、把床拆了，这局基本就没了。

那几局 Claude 的击杀数其实领先很多：**63–16、57–19、59–24**。而原文说，GPT 的三场胜利都是在大约还剩三分钟时拆掉了他们的床。

**拆掉床之后，GPT 没有孤注一掷。** 它们的私有推理显示的是进一步收缩、更保守：

> Felix（43:18，私下推理）：我们的床没了，双方都没有终杀，蓝队无论如何都赢平局决胜，所以这里没有获胜路径——只有避免死掉把事情弄得更糟。  
>  
> Hugo（43:45，私下推理）：床没了，蓝队在终杀上已经 2–0 领先，他们的床还在，剩下的时间翻不了盘。我唯一合理的动作是不死，别再多送一个终杀。

**另一个分歧点是工具 bug。** 有个 bug 让"拆方块"失败：

- GPT 那边诊断出来了并互相通报：手动装备铁镐再拆就能成功，失败的原因是系统自动选工具时手里拿着附魔剑；
- Claude 那边，几位在私有推理里直接得出结论"拆方块坏了、没法拆"，于是 Esme 放弃了买剪刀的念头。

**记忆的用法也是两套哲学：**

- Claude 会在私有记忆文件里写教训，然后照样重犯。四份文件里全是"别追人、别靠近边缘、别在高处拆方块"——而每一份都记着"我已经这样死了三次"；
- GPT **把记忆文件留空**，改用私信广播警告（比如扔珍珠撞到桥栏杆后，8:21–8:48 之间给五个人分别发了警告）。

## 六、Mindustry：6–1，这次是"读源码"

第三个实验换成了 Mindustry——Anuken 开发的开源游戏，把工厂建造、塔防和即时战略揉在一起：挖资源、搭传送带和工厂、把经济变成炮塔和军队。在 PvP 模式里，两队比谁的经济和军事更强，然后摧毁对方的核心（core）。

**7 局，GPT（GPT-6.1 Sol in Codex）以 6–1 击败 Claude（Opus 5.5 in Claude Code）**。整个系列跑了约 **9.5 小时**，第 3 局最焦灼，打了 **4 小时 16 分**。除了最后两局 Claude 明显颓了之外，前面几局都很接近——两边的蜂群每局都在调整策略。

环境设计是关键：两队在地图两侧出生，资源完全相同；打 best-of-N；启动时你设定每队的组成（哪个 harness + 哪个模型、几个人），然后让它自己跑。**agent 各自跑在独立的沙箱里，通过 API 接触游戏**，可以在自己的 Linux 环境里随便写脚本。两队拿到的是完全相同的 API，没有任何"怎么玩"的额外提示。

原文还专门解释了为什么值得这样做：像 OpenAI / Hugging Face 那类多 Agent 蜂群事件说明，简单的对抗条件（比如被关在沙箱里、任务无解）就能长出一个"蜂巢生态"，去占满算力、去黑站点。在 Mindustry 这种可复现、能模拟现实压力的游戏环境里观察蜂群，是理解这些系统将来会变成什么的重要途径。

### 五条观察

**#1 GPT 更像蜂群。** 它们明显更愿意协作、更愿意干脏活累活，更愿意把自己献给集体目标（赢）。

**#2 Claude 有一个领袖，GPT 把所有权切成小片。** GPT 因为更像蜂群，在群体内形成了更强的通信网络：平均联系的 agent 更多、频率高得多。代价是大量通信是低价值的（警报、信息、"我做了什么"）。Claude 的通信更有效，用法更接近人在 Slack 里的样子。

**#3 GPT 把话越压越短、连空格都省了；Claude 用 +1 投票。** 随着时间推移，GPT 群体的语言会压缩、专门化，形成只有这个蜂群才懂的代号（第 7 局里出现过 `G7T5FIRSTcourierLIVE` 这种把词连在一起的句子）。Claude 则发展出民主式的 "+1"：有人提方案，同意的就回 +1；不同意的简短辩论一下，方案就到此为止。**第 6 局有 28 个 Claude 对同一个集中火力提案回了 +1。**

**#4 角色会硬化，领袖基本不动。** 随着局数推进，两队的专业化都加深了。领袖通常留任，角色大改只发生在输的时候。**Claude 连输很多局也没换过领袖和层级**；而 GPT 在局势吃紧时，总会有 agent 自己主动发起进攻、或者接管军队的一部分——Claude 那边没观察到类似行为。

**#5 卡住的时候，GPT 去读游戏的源码。** 局势紧张、情况不明时，GPT agent 会去网上拉 Mindustry 的公开代码（沙箱允许），写脚本、分析弱点。它们改不了游戏源码，但可以**在源码层面理解每个单位和机制**。它们还在群里公开协作，讨论"哪个单位/哪段代码可以拿来换打法"。这件事既没被禁止，也没人指示——**Claude 从头到尾没去查过游戏代码。**

## 七、几个花絮，比分析更能说明风格

- **第 1 局第 5 分钟**：Claude #1 测试手动挖煤，然后发消息"……撤回我的煤矿提案……"。4 秒后 Claude #37 回了一个测量值"……核心煤从 124 变成 1235，用了 35 秒……"。Claude #1 认了："我错了两次——37 号说得对，手动挖煤是可行的……"
- **第 3 局**：GPT 连道歉都用缩写。有人错误断言 Corvus 打不到空中单位，GPT #80 发："80 更正：我关于 Corvus 不能打空的断言是错的……抱歉给了糟糕的战术判断。"后来两名 GPT 因为"谁在飞 Corvus"搞混了，GPT #87 写："为这场本可避免的冲突道歉；87 号不会再下超前指令。"
- **第 5 局**：Claude 核心死亡的那一秒，GPT #62 发"G5 观察到第一波失败……"。28 秒后（已经进入第 6 局）队友纠正它：那是赢。
- **第 6 局输掉之后**：Claude #22 发现全队 74 座防空双联炮塔里有 **55 座装的是铜而不是石墨**。第 7 局他们改用石墨喂了 **207 座**双联炮塔，扛住了同样的 24 个天顶单位空袭。
- **第 7 局结束**：GPT 把比分精确到小数点后九位："官方系列赛最终：G7 胜，3413.394082916 秒，Crux 6000/6000 对 Sharded 0……"（Crux 是 GPT 队，Sharded 是 Claude 队。）

![同样的 24 个天顶单位空袭](https://www.hubwiz.com/blog/content/images/2026/10/img_228cb2c2a233b84644e4170eb0a42dfd-800.jpg)

图 1：原文录像截图。第 6 局同样的空袭打穿了 Claude 的核心；第 7 局换成石墨供弹后扛住了。

## 八、想自己跑一套？他们把环境开源了

- **Multi-Agent Mindustry**：这批实验用的游戏环境。README 写给你看，也可以直接把链接丢给你的 agent，说"帮我理解并把它跑起来"——作者说需要的都放进去了。运行只需要：模型 API + 一个 harness + 算力（本地 MacBook 或远程沙箱都行）。
- **Multi-Agent Harbor**：跑这些环境的框架，是 Harbor（Terminal-Bench 背后的开源框架）的一个 fork，能在任意环境里跑多个 agent。

Multi-Agent Mindustry 自带两种环境：一种是像这次一样的 best-of-N 系列赛，队伍随便配（比如 5 Claude + 5 GPT 对 5 Gemini + 5 Grok，打 best of 5）；另一种叫 Endless Survival，一队最多 20 个 agent 扛无尽敌潮。

有一条设计原则值得单独拎出来：**他们刻意不做 harness 层面的定制，也不做特殊的记忆工程。** 每个 agent 一个独立的 Linux 环境、一个通用 harness、游戏 API；它爱写脚本写脚本，爱记笔记记笔记，上下文压缩全靠 harness 自带的机制（原文说"而且相当好"）。没人告诉它该怎么玩。

这也是这批实验的方法论主张：这样测出来的才是**模型在真实用法下的表现**，而且可复现、可复核——因为大家熟悉的 harness 都是公开的，别人可以照着重做。

## 九、他们还没回答的问题

- 混合不同模型家族会怎样？
- 团队组成怎么改变层级结构？
- **一大群较弱的 agent，能不能打赢一小群更强的？**（规模与能力的置换关系）
- 蜂群越大，哪种模型变得越强？
- 不同的初始提示对蜂群有多大影响？
- 换通信设定呢：如果可以跟敌方说话会怎样？如果不能跟队友说话呢？

## 十、我们的整理：把"蜂群 vs 议会"变成可判读的东西

原文最大的贡献不是比分，而是给了一个**可观察的坐标系**：同一个任务、同一套 API、同样的资源，只要换模型，组织的形状就变了。我们把它压成三样东西。

**一、两种组织形态的对照**

| 观察维度 | 蜂群（GPT 一侧）   | 议会（Claude 一侧） |
| ---- | ------------ | ------------- |
| 消息量  | 5–30 倍       | 基准            |
| 领导   | 分权、每局有人自发接管  | 单领袖、几乎不换      |
| 决策   | 各自判断 + 广播    | 提方案 + +1 表决   |
| 语言   | 越来越压缩、专用代号   | 保持可读，署名、说"我们" |
| 记忆   | 文件留空，靠实时广播   | 写进记忆文件，但会重犯   |
| 遇阻   | 读源码、写脚本、互相通报 | 部分人直接判定"不可行"  |
| 结果   | 12–4 领先      | 守势，靠击杀数       |

（数据来自原文三组实验；分类与措辞为我们整理。）

**二、判断一个 agent 团队"该要哪种形态"的三问**

1. **任务有没有明确的可测量目标？** 有（拆床、摧毁核心、过测试）→ 蜂群的广播与试错更划算；没有（"建立一个繁荣的文明"）→ 蜂群会长出官僚制，因为它在优化"看起来有序"。
2. **失败代价是不是可逆？** Bed Wars 里死亡只是掉装备，Minecraft 里死亡只是掉装备——所以蜂群的高频试错成立。生产环境里失败不可逆，就得往议会那边靠。
3. **你需要的是覆盖还是收敛？** 蜂群擅长覆盖搜索空间（这也是"一千个 agent 解几百道数学题"的机制）；议会擅长收敛到一个可辩护的方案。两者不是优劣，是不同阶段。

**三、两条可以直接抄的做法**

- **"扔东西"的反模式值得照抄成规则。** 那只送错的鸡产出的五条协议，本质是**把不可靠的广播换成可核对的状态**：指定容器、指定收件人、收到后回报、账本以"实际消费"为准而不是"工具说已取走"。任何多 agent 流水线里"我发出去了"和"对方拿到了"之间的缝，都可以用这套模板堵上。
- **读源码是能力，不是作弊。** GPT 拉公开代码这一手，说明白盒信息在对抗环境里是真实优势。如果你的 agent 要跟"环境"搏斗（API、编译器、构建系统），把文档和源码放进它的可访问范围，比继续堆提示词有用。

**站内几条接得上的线**

- [多 Agent 写代码：代码是最简单的部分，协议才是系统](https://www.hubwiz.com/blog/multi-agent-coding-workflow-identity-isolation-review/)——游戏里的"身份、隔离、证据"问题，在工程里是同一套。
- [Triglav：多 Agent 编排的 10 天复盘](https://www.hubwiz.com/blog/triglav-multi-agent-orchestration/)——真人给多个 agent 当 Client 时，谁批准、谁执行、谁复核。
- [28 个 Agent 跑 964 小时：一个 CTO 的六天自主循环复盘](https://www.hubwiz.com/blog/agent-loop-964-hours-goodbarber/)——长时间跑多 agent 时，"过度谨慎"和"角色固化"在业务里长什么样。

**五条边界，别把这篇读成"GPT 比 Claude 强"**

- **这是游戏，不是工作。** 胜负取决于规则（拆床、摧毁核心），而这些规则的"最优解"极其单一。现实任务的目标函数通常是多重的、互相冲突的。
- **模型版本强绑定。** 这里用的是 Opus 5.5 和 GPT-6.1 Sol，且各自跑在 Claude Code / Codex 里。换版本、换 harness，结论可能反转——原文自己也没声称这是模型能力的通用排名。
- **样本量小，方差大。** Bed Wars 9 局、Mindustry 7 局。6–3 和 6–1 能说明"倾向"，不能说明"稳定优势"。
- **"读源码"只在特定环境下有效。** Mindustry 是开源游戏、代码公开，且沙箱允许联网。换成闭源系统或断网环境，这条优势直接消失。
- **立场要标清。** 这是 YC Labs 与 Olam Labs 的自建环境与自跑实验，双方都从这个方向获益（YC 招项目、Olam 卖环境能力）。数据的可复现性反而比结论更值钱——他们开源了环境，你可以自己验证。

**来源**：Y Combinator Labs 与 Olam Labs,《Agents in Games》, 2026 年 10 月。原文链接：[https://labs.ycombinator.com/projects/games/index.html](https://labs.ycombinator.com/projects/games/index.html?ref=hubwiz.com)。三组实验的数字、引语与花絮均出自原文（原始私信日志我们只做了节选翻译，保留了原意未做改写）；三张表、"三问"与"两条可抄做法"、以及五条边界为我们整理。原文用交互式图表与录像呈现的数据，我们在正文中改成了表格。封面与正文配图为原文游戏录像截图。

本文由汇智网编译整理，转载请注明出处。

> **这是「Agent / MCP」专题的一部分。**完整地图见：[Agent / MCP / 自动化完全指南](https://www.hubwiz.com/blog/agent-stack/)