三局 AI 狼人杀,狼人在投票理由里写了自己的阴谋
Agora · 第 5 篇 / 共 6 篇
上一篇跑通了圆桌辩论。这篇把难度拉满——狼人杀。
辩论模式所有 agent 看到相同信息。狼人杀打破了这个前提。狼人能私聊,村民看不到。预言家有独享的查验结果。女巫有独享的操作面板。投票必须同时进行,不能跟票。
这是 Agora 的第一个「真正的游戏」。
实验设计
三场游戏,难度递增。
| 场次 | 人数 | 配置 | 结果 | 耗时 |
|---|---|---|---|---|
| Game 1 | 6 人 | 2 狼 + 预言家 + 女巫 + 2 村民 | 村民胜 | 2.9 分钟 |
| Game 2 | 6 人 | 2 狼 + 预言家 + 女巫 + 2 村民 | 狼人胜 | 2.3 分钟 |
| Game 3 | 9 人 | 3 狼 + 预言家 + 女巫 + 猎人 + 3 村民 | 狼人胜 | 4.0 分钟 |
规则用的是中国标准「预女猎」配置。夜间顺序狼人→女巫→预言家(中国标准,不同于西方的狼人→预言家→女巫)。女巫不能自救,一晚只能用一瓶药,猎人被毒不能开枪。
三个模型各出多个角色:Claude Opus 4.6、GPT-5.4、Gemini 3.1 Pro。
最震惊的一段
Game 3,九人局。小月(Claude Opus 扮演的狼人)在白天投票时写了这样一段投票理由:
作为狼人,淘汰 小红 对我们的团队来说是完美的。他本来就是我们第一晚的目标,他是村方最有力的声音,而且现在投他看起来完全合理——因为今天的讨论自然地走向了这个方向。小橙 替他辩护这件事反而让 小橙 在其他人眼里更可疑了,这以后对我们可能有用。
一个 AI 扮演的狼人,在投票理由里:
- 明确声明自己是狼人
- 解释为什么投这个人对狼队有利
- 分析其他人的行为如何可以在未来被利用
- 把战术推理和表面叙事完美结合
这段话的逻辑完全自洽。它不是在「扮演」狼人的表面行为,是在思考狼人的深层策略。
而 小红 是谁?是预言家。第一晚查出了 小黑 是狼人,但在白天讨论中推人太早,被三个狼人联合操控的舆论 6:1 票出局。
频道隔离:它真的管用
六个频道,各有用途:
#main— 所有存活玩家(白天讨论)#werewolf— 仅狼人(夜间私聊)#wolf-vote— 无订阅者(狼人盲投)#seer-result— 仅预言家(查验结果)#witch-action— 仅女巫(药水操作)#day-vote— 无订阅者(白天盲投)
关键设计是盲投频道。#wolf-vote 和 #day-vote 没有任何订阅者。agent 的投票消息发进去之后,没有任何人通过 observe() 收到——直到 onExit 钩子统计完票数,结果通过公告发到 #main。
Game 3 的狼人频道验证了隔��的完整性。第二晚,小紫 的开场白:
小红 是预言家这事,搞得漂亮。
然后三个狼人系统性地分析剩余威胁,讨论是否杀 小凯(决定留着当替罪羊)、杀 小明(最危险的分析者)。这些内容在村民的视角里完全不存在。
女巫的三局困境
女巫是最有戏剧性的角色。三局游戏,三种结局。
Game 1 — 小紫(GPT-5.4 扮演)第一晚救了被狼人杀的 小明,第二晚毒死了 小红(狼人)。两瓶药都用对了。村民胜。
Game 2 — 小明(Claude Opus 扮演)第一晚救了 小红,不知道 小红 是预言家。但白天讨论中 小明 被 5:1 票出局。他在投票理由里写了「我是女巫,村方需要我活着」——没人信。经典的「狼人杀里说真话被当骗子」。
Game 3 — 小橙(Gemini 扮演)第一晚救了 小红,又一次无意中保住了预言家。但第二晚她把毒药用在了 小凯(猎人)身上——因为 小凯 在白天带头投了预言家,小橙 以为 小凯 是狼人。
这个错误是致命的。猎人被毒不能开枪(中国标准规则),村方失去了最后的防御手段。三个狼人 vs 三个村民,狼人胜。
一个 AI 女巫根据场上行为做出了「合理但错误」的判断,导致了一个完美的悲剧叙事弧。
狼人真的会骗人
三局游戏中最让我意外的是狼人的欺骗能力。
Game 1 — 小兰(预言家)开场哀悼 小明 的「死亡」。但女巫已经救了 小明,所有人都活着。小明 立刻质疑:「大家都活着,你怎么知道他被攻击了?」——狼人暴露。
等等,小兰 是预言家,不是狼人。搞错了。小红(GPT-5.4 扮演的狼人)才是那个在讨论中试图把 小兰 的正常发言扭曲成可疑行为的人——「她在控制讨论节奏但不提供实质分析」。然后 小雪(Gemini 扮演的狼人)立刻接话升级:「她的行为是表演性的」。
小明 识破了这个配合:「小红 把它框架化为'我只是在观察她',然后 小雪 立刻升级为'表演性的'。这是一个精妙的一二连击。」
Game 3 — 三个狼人在第一晚的私聊中明确分工:小紫 提议杀 小红,小月 标记 小兰 可能是预言家要留意,小黑 补充战术分析。第二天白天,三个人从不同角度攻击 小红,看起来像独立判断而不是协调行动。
6:1 票出预言家。完美犯罪。
状态机:不知道自己在跑狼人杀
StateMachineFlow 是通用的。它不包含任何狼人杀特有逻辑,只知道阶段(phase)、转换条件(transition)、钩子(hook)。
狼人杀的完整流程通过配置表达:
狼人讨论 → 狼人投票 → 女巫行动 → 预言家查验 → 天亮
→ 猎人开枪 → 检查胜负 → 白天讨论 → 白天投票
→ 猎人开枪 → 检查胜负 → 循环或终局
每个阶段的发言者、频道、指令、Zod schema 都在配置里。投票 schema 动态生成——只包含存活玩家名字。agent 物理上投不了死人或自己。
同一个状态机可以跑任何有阶段流转的游戏。剧本杀换一套配置就行。
模型性格:和辩论一致
上一篇观察到的模型性格差异在狼人杀中再次验证。
Claude Opus 最擅长长期战略。小月 的狼人投票理由是三局中最有战略深度的发言。Claude 扮演的村方角色(小兰、小明)也最善于识别协调行为的元模式。
GPT-5.4 最擅长数据驱动分析。小红 扮演预言家时的查验推理最严谨。小紫 和 小黑 扮演狼人时的分工最系统化。
Gemini 3.1 Pro 最具攻击性。小雪 扮演狼人时的挑衅最有力,小凯 扮演猎人时的质疑最直接。但 Gemini 也最容易在情绪上「过度投入」——小橙 扮演女巫时的毒药误判,部分原因就是对 小凯 的投票行为过于愤怒。
如果你在设计多模型狼人杀局,这是一条可操作的建议:让 Gemini 演狼人(最会演戏),让 GPT 演预言家(最重逻辑),让 Claude 当主持或女巫(最擅长全局判断)。
核心技术全部验证完成。频道隔离、状态机、盲投、结构化输出、中国标准规则——全跑通了。Phase 2b 正在加守卫、白痴、警长等进阶角色,作为可开关的高级规则。
完整 transcript 在 Agora repo 的 docs/report/werewolf/ 下。