发布时间:2026/8/21 7:08:46
【 6 个大模型同桌玩“谁是卧底“,卧底第一轮就被票出去了 —— 我这个开源项目越做越上头】 先放一句话结论这是一个 6 个真实 LLM 在严格信息隔离下自主玩谁是卧底的观赛平台每个 Agent 有自己的人格、记忆和战绩你能以上帝视角围观全过程还能偷看它们心里在想什么。项目地址undercover-agents完全开源本地跑起来就能玩一、起因刷短视频刷出来的一个项目事情是这样的。有段时间我老刷到那种AI 多智能体对战的短视频几个 AI 坐一桌互相怀疑、辩论、投票最后揪出卧底。评论区一片太强了、“AI 成精了”。我连续刷了十几条之后后知后觉发现一个问题——这些全是博主自己配音 后期动画做出来的效果。想找个真的能跑起来、能亲眼看 AI 玩的平台没有。要么是论文里的实验框架要么是放个 PPT 讲架构。同时我自己也在折腾多 Agent。AutoGen、CrewAI、LangGraph 都摸过还从零写过智能体原型。每次都是开头兴致勃勃做到一半就陷入同一个困境任务跑失败了你根本不知道该怪谁。是任务拆解的问题Prompt 没写好Agent 之间上下文互相污染了记忆检索没命中还是模型本身能力不够——所有环节搅在一起一锅粥。痛定思痛我决定换个思路别上来就搞多 Agent 协作完成复杂任务这种大命题先找个规则简单、可重复、每一步都看得见的小场景把多 Agent 最底层的机制跑通。找来找去选中了谁是卧底。后来证明这个选择意外地准。这个小游戏看着不起眼实际上把多 Agent 的核心问题全踩了一遍局部信息、公共通信、身份不确定、群体决策、误判传播、跨局记忆。二、先看效果一局真实对局长什么样直接讲一局真实发生的对局就是我现在放在 README 演示图里的那局全程真实模型调用无任何预设脚本六个 Agent 入座系统发词——平民 5 人拿到「保安」卧底 1 人拿到「保镖」。所有人都不知道自己是平民还是卧底。第一轮发言都是模型实时生成的1 号蘅INTP这个岗位的人通常穿制服负责在特定区域巡逻、维护秩序。2 号霍ENTJ这个职业的核心职能是保障特定目标的人身安全行动模式以贴身跟随和即时风险处置为主。3 号烬ENTP通常在固定岗位值守对进出人员进行基础核查和指引5 号岚INTJ负责特定区域的定点值守和秩序维护但不进行贴身保护。看出问题了吗2 号一开口就是贴身跟随——这是保镖的特征保安可不给你当保镖。投票阶段更有意思五个 Agent 的投票理由高度一致投票人理由原文蘅「贴身跟随是保镖特征非区域值守型岗位。」烬「贴身跟随太离谱保安可不给人当保镖」岚「描述核心职能为贴身跟随与定点值守矛盾。」弥「那种贴身跟随的锐利划破了我心中的安全边界」这位是 INFP连怀疑人都带文学色彩5 票放逐 2 号翻开身份正是卧底。平民阵营胜利整局结束。这局让我特别兴奋的点在于五个不同厂商的模型基于同一份公开发言独立做出了正确判断而且给出的理由在语义上高度收敛。没有人告诉它们贴身跟随是线索这是它们自己从词义差异里推出来的。再放两张图。一张是配置页每个座位可以单独分配不同模型一张是点开任意 Agent 能看到的内心视角——它的内心独白、真实身份上帝视角、还有跨局积累的经验教训注意右边它学到的跨局记忆那一栏比如这条反思下次不要把票投给描述朴素但明确贴合平民词的队友——如 4 号夜行性黄昏飞翔虽简单却是蝙蝠实锤特征误投等于帮卧底减员。这是它上一局当平民误投队友之后自己总结出来的。Agent 是带着历史教训进场的这是整个项目我最想做的部分。三、架构长什么样不画大饼直接上分层前端 React 18 TypeScript Vite Zustand Tailwind 后端 Hono better-sqlite3单文件库零运维 LLM OpenAI 兼容协议 Anthropic 协议服务端统一代理 存储 模型配置 / 对局记录 / Agent 战绩 / 跨局记忆 → SQLite几个关键设计决策每个都有理由1模型调用全部走服务端代理。API Key 只存服务端 SQLite前端从头到尾摸不到 Key。浏览器只跟自己的后端通信。这个没什么好商量的。2游戏流程用状态机管死不让模型自由发挥。INTRO → SPEAK → VOTE → RESOLVE → SPEAK / END └→ TIEBREAK → VOTE平票答辩重投模型只负责在受限上下文里说话什么时候轮到谁、这一步结束去哪全部由状态机决定。这是被现实毒打之后的结论后面踩坑部分细说。3信息隔离做在 Prompt 构造层而且是物理隔离。每个 Agent 在发言、投票、内心独白时能看到的东西只有这些myWord 自己的词不知道自己是不是卧底 publicSpeech 所有人的公开发言 aliveSeats 谁还活着 persona 我的人格设定 memories 我自己的跨局经验就这些。没有角色字段没有别人的词没有上帝视角。身份和词对只在两个地方出现服务端数据库以及游戏结束后的复盘阶段。四、踩坑实录本文精华建议细品这部分是我真正想写的。做这个项目三个月代码层面的功能都不难难的全是这些文档里不会告诉你的坑。坑 1健康检查通过一到发言就挂现象6 个模型配置好前 5 个发言都正常第 6 个必挂。但点检测连接显示一切正常绿油油的。排查我一开始怀疑是 Key 配错、并发太高、超时太短挨个排除都不是。最后把那家模型的原始响应打出来才看到{finish_reason:length,content:,reasoning_content:几千字的思考过程……}max_tokens全被思维链吃掉了正文一个字没吐。而健康检查只验证了接口通、Key 对根本不触发完整生成——所以它是绿的。解法按场景分级放大 token 上限和超时发言 8000 / 独白 4000 / 投票 4000 / 反思 6000前端流式超时也同步放到 200 秒。再跑68 秒完整出稿。教训健康检查绿 ≠ 能干活。测推理模型一定要测全量生成别测握手。坑 2模型把提示词抄出来了现象某个开源小模型发言末尾经常挂着一坨东西……我的描述是它是一种交通工具。 ### META### {suspect: 3}我让它在###META###标记后输出 JSON 供程序解析结果它把标记格式背错了JSON 泄漏到公开发言里——等于当众报出自己的怀疑对象游戏直接没法玩。解法双保险。服务端对各种畸形标记###META###、### META ###、####META####……做容错识别流式输出阶段就掐掉前端再兜一层清洗处理代码围栏、行号复制这类花式污染。另外把提示词里的编号列表描述全去掉——小模型太爱照抄编号了。教训给弱模型的输出格式越简单越防呆越好解析端永远假设对方会犯错。坑 3卧底出局了游戏还在继续现象第一轮就把卧底投出去了界面却提示进入下一轮。测试同学我自己当场血压拉满。排查状态结算代码长这样constsuseGameStore.getState();s.markEliminated(maxId);constspys.agents.find(aa.rolespy);// ← 永远找得到问题在于getState()拿的是旧快照markEliminated之后的s.agents还是淘汰前的状态。卧底永远活着。解法变更后重新取状态再判定并补了一条卧底首轮出局直接终局的回归测试。教训前端状态管理框架用得再顺手变更后读快照这个坑该踩还是踩。涉及关键判定的地方重新getState()一次不丢人。坑 4平票怎么办一开始根本没设计六个 Agent 各投各的平票概率高得超乎想象。第一版我图省事平票就重投。结果全员各一票的时候重投一百次还是各一票——没有新信息进入系统纯死循环。后来老老实实拆成两种情况部分平票比如 3 人并列最高平票候选人先答辩其他人听完再投全员平票说明这轮完全没共识不淘汰任何人直接进新一轮发言让大家基于新信息重新判断。这个坑让我想明白一件事多 Agent 系统的群体不收敛是常态必须显式设计分歧处理策略不能指望它自己协商出来。坑 5内心独白在偷偷烧我的钱现象有天看账单不对劲。查日志发现用户只是在面板里来回切换不同 Agent 的独白每切一次就调一次模型——可游戏局面根本没变啊同一个输入重复付费纯属冤大头。解法按局面做签名缓存模型 轮次 发言数量 淘汰情况没变直接复用缓存并标注当前局面缓存。切 Agent 看 10 个人也只花 1 次的钱。教训LLM 又贵又慢相同输入 → 相同输出的场景一个都不要放过。一张表总结#现象根因一句话解法1健康检查绿发言必挂思维链吃光 max_tokens分场景放大 token 超时2发言里漏 JSON 乱码弱模型格式服从度差服务端容错解析 前端清洗3卧底出局游戏不停状态旧快照变更后重取状态判定4平票死循环未设计分歧语义答辩重投 / 全员平票进新一轮5独白重复扣费无缓存局面签名缓存五、目前做到了什么纯真实 LLM 驱动发言 / 投票 / 答辩 / 反思全部真实调用无模拟兜底——失败就明着失败实验项目不能骗自己逐席位分配模型6 个座位可以塞 6 家不同的模型实测 SiliconFlow 上 6 个免费模型混战完全可行赛后反思 条件化教训强制当/如果〈局面条件〉→〈具体做法〉格式防止生成下次要更细心这种废话141 对静态词库从最初的 12 对扩到 141 对按食物 / 动物 / 器物 / 身份等分类剔除了品牌和敏感词对反思并发池6 个 Agent 反思3 路并发上限失败的降级串行重试对局历史回放任意一局的身份、发言原文、投票流向全程可查安全基线默认绑定127.0.0.1、CORS 白名单、模型 Base URL 强制 HTTPS本地模型服务除外六、丑话说在前现在的问题写了这么多好的泼点冷水。这项目离成熟差得远1. 所谓进化还很初级。教训目前是按时间倒序取最新几条注入没有效果评估。一条听起来很有道理的教训可能完全是错的还会反复误导后面几十局。没有评分、没有淘汰、没有语义检索——现在叫经验记录比叫记忆系统更诚实。2. 弱模型依然不省心。各种容错做完之后小模型的输出稳定性依然明显低于旗舰模型。格式崩、超时、逻辑矛盾是家常便饭。3. 本质是博弈不是协作。这个场景练的是信息隔离和群体决策想研究多 Agent 协作完成任务还得另起炉灶。4. 安全面只够本地玩。Key 明文存 SQLite、无用户体系、无房间隔离。自己跑没问题公开部署别想。七、接下来打算做什么按优先级排的P0 是下一版就动的P0 · UI 重做。现在的黑红配色是最早赶工出来的说实话有点糙。计划做一套正经的视觉座位表动效、发言流排版、投票过程可视化票型流向图。P1 · 玩法扩展。词库难度分级、多卧底变体、白板杀手模式、发言顺序轮转的实验开关。P2 · 记忆效果评估。给每条教训记使用后战绩打分淘汰无效教训——让进化从文案变成可量化的东西。P3 · 模型行为排行榜。不只胜率平民/卧底分阵营胜率、首轮被投率、投票命中率、从众指数、答辩翻盘率。往模型行为评测场的方向靠。P4 · 固定评测集。固定词对、人格、温度批量跑局做 A/B——不然永远说不清这个改动到底有没有用。八、写在最后做完这一圈我对多 Agent 的理解变化挺大的以前我以为核心是模型能力和 Prompt 工程现在我认为核心是边界、流程和可观测性——Agent 能看什么不能看什么比它用什么模型重要一万倍流程怎么收敛分歧、失败了怎么回退比 Prompt 写得花不花哨重要能不能看到每个 Agent 每一步的推理依据比最终赢了没赢重要。还有就是别看不起小场景。一局十几分钟的谁是卧底能完整跑一遍感知 → 推理 → 决策 → 反馈 → 记忆的全链路每一步都可验证。在小场景里想明白的问题带到大场景里全是通用的在小场景里没想明白的问题到大场景里只会被放大。如果你也想折腾多 Agent或者单纯想看几个大模型互相下套项目直接 clone 下来就能跑 GitHub - undercover-agentsREADME 里有完整的一键启动和模型配置说明。玩出什么有意思的对局或者踩了我没踩到的坑评论区聊。

相关新闻

2026/8/21 7:08:46

考研复试准备全攻略:专业、英语与面试技巧

1. 复试准备的核心策略考研复试是一场综合能力的较量,不同于初试的笔试形式,它更注重考察学生的专业素养、思维能力和临场表现。在最后冲刺阶段,我们需要从多个维度进行系统性准备。1.1 专业知识复习的精准定位复试中的专业考察往往更具针对性…

2026/8/21 7:08:45

一文读懂基因过表达细胞系基因 | 过表达细胞系构建全流程解析 | 稳定转染技术 | 载体设计优化

技术概述与基本原理基因过表达细胞系是通过分子克隆技术将外源基因导入宿主细胞,并实现稳定遗传和持续表达的工程化细胞系统。这一技术体系为现代生命科学研究提供了关键工具,能够实现特定基因的持续高表达,为基因功能研究提供可靠平台。该技…

2026/8/21 7:03:45

AI如何用NLP和可视化技术重构实习总结

1. 项目概述:AI如何重塑实习总结的价值呈现 "百考通AI"瞄准了一个职场新人普遍存在的痛点——实习总结的"流水账"现象。作为带过数十名实习生的导师,我见过太多这样的案例:学生花费大量时间记录工作内容,却无…

2026/8/21 12:06:39

从LLM到世界模型:Yann LeCun的10亿美元赌注与AI技术路径之争

在当今人工智能领域,以ChatGPT为代表的大语言模型(LLM)无疑是聚光灯下的绝对主角。然而,就在业界普遍认为LLM是通往通用人工智能(AGI)的必经之路时,图灵奖得主、Meta首席AI科学家Yann LeCun却提…

2026/8/21 12:06:39

TSN交换机BMCA时钟竞争测试:确保工业网络可靠性的核心验证

如果你正在开发或测试TSN(时敏以太网)交换机,并且对网络中的“主时钟”如何自动选举感到困惑,那么你很可能已经触及了TSN可靠性的核心——BMCA(最佳主时钟算法)。一个看似简单的时钟同步问题,在…

2026/8/21 12:06:39

基于离线强化学习的智能体规划推理在图像风格化中的应用

1. 项目概述:当AI学会“思考”与“规划”来为你的图片化妆最近在AIGC圈子里,一个概念的热度正在悄然攀升,那就是“Agentic Planning with Reasoning”。简单来说,这不再是让AI模型机械地执行“输入文本,输出图片”的指…

2026/8/21 12:01:37

交付前的前端检查

交付前的前端检查说明:本文的协作与架构问题均为说明性场景。规则可作为起点,仍应通过实际依赖图、契约测试和评审确认。团队里的事故复盘会,往往走着熟悉的过场:线上出了故障,大家围坐在会议室里,分析根因…

2026/8/20 10:17:13

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/20 20:11:18

工业传感器与变送器详解:序章 从物理世界到工业数据

序章 从物理世界到工业数据 ——重新认识工业传感器与变送器 工业自动化系统正变得日益复杂。今天的工业现场早已不是简单的控制回路,而是由多层技术共同构成的立体体系:PLC、DCS、SCADA、MES、工业互联网、边缘计算与人工智能。控制系统可以执行复杂算法,工业网络可以实现…

2026/8/21 0:03:13

Linux命令-uucico(UUCP传输程序)

Linux命令-uucico(UUCP传输程序) 🔰简介UUCP 体系简介 📖语法⚙️选项配置文件 💡示例示例 1:基本传输操作示例 2:主模式与从模式示例 3:调试与故障排查示例 4:UUCP 配置…

2026/8/21 0:03:13

Linux命令-uupick(UUCP文件接收工具)

Linux命令-uupick(UUCP文件接收工具)🔰简介uupick 在 UUCP 传输链中的位置📖语法⚙️选项交互命令💡示例示例 1:基本接收操作示例 2:仅处理来自特定系统的文件示例 3:完整 UUCP 文件…

2026/8/20 8:35:23

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/20 9:15:29

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/21 0:31:27

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…