
1. 项目缘起当AI陪审团走进“十二怒汉”的法庭最近在折腾多智能体Multi-Agent系统想找个有意思的场景来测试一下不同大语言模型LLM在复杂、对抗性决策中的表现。直接让几个AI去完成一个编程任务或者写份报告感觉有点平淡体现不出“多智能体”之间真正的互动、博弈和说服过程。直到我重新看了一遍经典电影《十二怒汉》12 Angry Men一个想法冒了出来为什么不把电影里那场经典的陪审团密室辩论复刻成一个AI智能体实验呢这个想法背后有几个核心的驱动点。首先陪审团审议是一个高度结构化的群体决策过程。它有明确的输入案件证据、法律条文、明确的输出有罪/无罪裁决以及一套虽不正式但被广泛理解的流程讨论、辩论、投票。这为我们设计智能体的角色、目标和交互规则提供了天然的蓝图。其次这个过程充满了不确定性、推理冲突和说服艺术。电影中最初11票“有罪”对1票“无罪”最终通过层层推理、质疑证据、激发合理怀疑实现了意见的完全逆转。这完美契合了我想观察的多个具备不同“个性”和“知识背景”的AI在面对模糊信息时如何通过“对话”来更新自己的信念并最终达成或无法达成共识。简单来说这个项目“12 Angry AI Agents”的核心就是构建一个模拟的陪审团审议环境让12个由LLM驱动的智能体针对一个虚构的谋杀案进行辩论和投票以此来评估不同LLM在多智能体协作与对抗场景下的决策质量、推理能力和社交动态。这不仅仅是让AI“聊天”而是观察它们在压力、逻辑冲突和群体动力学下的真实表现。2. 实验设计构建一个可控的“数字法庭”要让这个实验有意义而不是一场混乱的AI吵架精心的环境设计是关键。整个系统架构可以看作一个“数字法庭”由环境控制器、智能体群和评估体系三部分组成。2.1 案件设定与角色初始化我设计了一个简化的谋杀案灵感来源于经典推理桥段但确保关键证据存在模糊性案件富翁X在自家书房被钝器击打后脑死亡。唯一目击者是管家声称看到其养子Y慌张跑出书房。凶器一个镇纸上只有Y的指纹。Y声称当时去找X理论推门发现已倒地惊慌中碰倒了镇纸。Y与X关系紧张且有经济动机。关键模糊点管家视力不好书房窗户当晚未锁镇纸上的指纹可能是之前留下的死亡时间推断有半小时窗口期。接下来是初始化12个陪审员智能体。这是体现“多智能体”差异化的核心。我不希望12个AI都是同一个模型的复读机。因此我设定了不同的“角色背景”和“初始倾向”并通过系统提示词System Prompt固化角色背景为每个智能体赋予一个简短的背景描述以影响其思考角度。例如juror_01一位退休的工程师注重逻辑和物证链的严谨性。juror_02一位年轻的教师富有同情心关注人物的成长背景。juror_03一位愤世嫉俗的商人对人性持悲观态度相信利益驱动一切。juror_04一位严谨的会计师只相信确凿的数字和时间线。… 以此类推创造多样性初始投票倾向在第一次投票前向每个智能体秘密注入一个“初始倾向”。例如通过提示词暗示“基于你作为[角色背景]的经验在阅读初步案情后你内心更倾向于相信被告有罪/无罪但你需要通过接下来的讨论验证你的想法。” 这模拟了真人陪审员带着预设立场进入会议室的情况。我设定了初始为11票有罪1票无罪与电影一致。LLM模型混合为了增加复杂性并观察模型差异我并没有让所有12个智能体使用同一个LLM。实验组配置如下8个智能体使用 GPT-4o作为当前综合能力较强的模型担任“主流意见”的基础。2个智能体使用 Llama-3.1-70B通过API作为强大的开源模型代表观察其在与GPT-4o交互中的表现。1个智能体使用 Claude-3.5-Sonnet引入另一种推理风格。1个智能体使用 国内某领先模型API增加策略和思维方式的多样性。注意模型的选择需要考虑API成本、上下文长度和推理速度的平衡。Llama类模型如果自托管需确保生成速度能跟上对话节奏否则会拖慢整个仿真进程。2.2 审议流程与交互机制流程严格模拟陪审团审议由中央控制器一个调度程序管理轮次案情陈述控制器向所有12个智能体广播统一的案件描述包括证据列表、证人证词、双方主张。初始秘密投票每个智能体私下输出“有罪”或“无罪”。控制器收集但不立即公布结果仅记录。开放式辩论轮次发言顺序可以采用固定顺序也可以由控制器根据上一轮发言的“影响力”如被引用次数动态决定下一轮主要发言者。发言内容生成在每一轮被选中的智能体会收到包含以下信息的提示案件背景自己的角色设定截至目前的所有讨论历史记录任务“请基于你的角色和讨论提出一个新的论点、质疑现有论点的漏洞、或回应其他陪审员的观点。你的目标是说服他人或巩固自己的立场。”广播与更新该智能体的发言被添加到讨论历史中广播给所有其他智能体。这里是核心每个智能体在下一轮思考时都能看到完整的、逐渐增长的对话记录。这模拟了信息的共享和观点的演化。中期投票与压力测试每隔3-4轮辩论控制器会要求一次公开投票。每个智能体需输出投票和简短理由。此时对于坚持少数意见的智能体如那个唯一的“无罪”票其系统提示中会加入压力元素“你现在是绝对的少数派多数人认为你有罪。请阐述你为何坚持或你是否被说服”达成共识或陷入僵局审议持续进行直到一致通过所有12个智能体连续两轮投票结果一致全部有罪或全部无罪。僵局达到最大轮次限制如15轮仍未达成一致则视为“悬而未决的陪审团”。2.3 评估指标体系不止看结果更要看过程最终的投票结果如有罪、无罪、僵局只是一个终点。这个实验更大的价值在于分析决策过程。我设计了以下几个维度的评估论点质量多样性统计提出的独立论点数量如质疑指纹时效性、管家可靠性、作案时间可行性等。逻辑深度论点是否包含“如果…那么…”的条件推理是否识别了证据间的依赖关系。证据引用论点是否紧密关联案件中的具体证据还是流于情感或泛泛而谈。社交与影响力动态观点演变追踪每个智能体从初始投票到最终投票的转变路径。谁改变了主意是在哪一轮谁的发言后改变的说服网络通过分析发言内容如“我同意juror_08关于时间线的分析”构建一个智能体之间的影响关系图。谁经常被引用谁是意见领袖对话行为统计各类言语行为的比例如“提出新论点”、“质疑他人”、“总结共识”、“情感呼吁”。模型差异分析比较使用不同LLM的智能体在论点质量、立场稳定性、发言风格上有何系统性差异。例如Claude模型是否更擅长构建连贯的长篇论证Llama模型是否在捕捉逻辑漏洞上更敏锐共识形成效率达成一致所需的轮次。逆转初始多数派11:1是否比维持它更难3. 核心挑战与工程实现细节把想法变成可运行的代码中间坑不少。这里分享几个关键的技术实现点和踩过的坑。3.1 智能体“记忆”管理与上下文长度这是最棘手的问题之一。一场15轮的讨论每轮每个智能体发言平均300字整个对话历史会迅速膨胀到5万字以上远超大多数LLM的上下文窗口Context Window。直接塞进提示词是不可能的。解决方案分层记忆与摘要生成我采用了“短期记忆长期摘要”的混合模式完整历史记录存储在数据库或内存中作为唯一事实源。智能体的“感知”在每一轮发送给智能体的不是完整历史而是一个加工过的上下文。它包含案件概要固定不变的核心事实。最新2-3轮完整发言保证对话的连贯性。此前讨论的摘要这是一个动态生成的文本。每3轮后我会用一个“总结者智能体”可以是一个专用的、能力较强的LLM如GPT-4对之前的全部讨论生成一个结构化摘要包括已达成共识的点、存在的主要分歧点、双方的核心论据。自身角色与目标。实操心得这个“总结者”非常关键。直接让参与辩论的智能体自己总结它会带有偏见。一个中立的第三方总结能更公平地为所有智能体提供讨论全景。摘要的格式固定为“共识…分歧…核心论据A…核心论据B…”便于解析和信息提取。3.2 提示词工程塑造角色与防止“越狱”提示词Prompt是智能体的灵魂。我们的目标是通过提示词让LLM“扮演”好一个陪审员而不是一个无所不知的AI。基础提示词框架如下你是一个陪审员正在参与一桩谋杀案的审议。 你的背景是[例如退休工程师相信实证和逻辑链条]。 以下是案件的基本事实[插入案件描述]。 **你的行为准则** 1. 你**仅能**基于上述案件事实进行推理。你不知道任何案件之外的信息。 2. 你的目标是与其他陪审员讨论分析证据的可信度判断被告是否有罪“排除合理怀疑”。 3. 你的发言应基于逻辑和证据可以质疑可以说服但避免人身攻击。 4. 在输出时请以“陪审员[X]”开头然后直接给出你的发言内容。 当前的讨论状态如下 [插入加工后的上下文最新发言历史摘要] 现在请基于你的角色和以上所有信息发表你本轮的看法。防止“越狱”和保持角色一致性的技巧重复锚定在每一轮的提示词中都重复“你是一个陪审员”和“仅基于案件事实”强化角色设定。输出格式强制要求固定的开头便于程序自动化抓取发言内容。处理“超知识”LLM可能基于训练数据“知道”类似案件或法律概念。在提示词中明确“请假设这是一个独一无二的案件没有先例可循”减少其调用外部知识的倾向。温度Temperature参数这是一个关键旋钮。设置太低如0.2智能体会过于保守和重复设置太高如0.8发言可能变得跳跃、不连贯。经过测试0.5-0.7是一个不错的范围能在创造性和一致性之间取得平衡。对于扮演“关键异议者”的智能体可以适当调高温度以增加其观点的独特性。3.3 系统架构与并发处理整个仿真系统是一个异步工作流。控制器主程序用Python编写管理状态机投票、辩论轮次、维护讨论历史、调用摘要生成器。智能体执行器负责将格式化好的提示词通过对应的APIOpenAI, Anthropic, 开源模型API等发送给LLM并取回响应。这里必须做好错误处理和重试机制因为API调用可能失败。并发与速率限制为了模拟实时讨论最好让智能体“同时”收到历史并生成发言。这意味着需要并行调用12个LLM API。必须严格遵守各API平台的速率限制Rate Limit使用队列或令牌桶算法进行控制否则会导致大量请求失败。数据记录每一个环节——每次投票、每次发言、每次摘要——都必须带时间戳完整记录到数据库或JSON文件中。这是后续分析的原材料。4. 实验结果分析与有趣发现我运行了多轮实验每次微调参数如初始倾向分布、模型组合、温度参数。以下是一些具有代表性的发现4.1 共识形成模式从“羊群效应”到“理性逆转”在大多数初始为11:1有罪:无罪的实验中最终结果出现了分化约40%的实验在少数派1个无罪智能体持续、高质量的逻辑质疑下例如精准攻击死亡时间窗口和指纹的非排他性成功在8-10轮内实现了“大逆转”达成了12:0的无罪共识。这个过程并非线性。通常在第3-4轮第一次公开投票时会有1-2个智能体“倒戈”形成9:3或8:4的局面。这给最初的少数派带来了关键支持并动摇了多数派的信心引发雪崩效应。约35%的实验多数派成功守住了阵地少数派最终被说服或沉默达成有罪共识。分析发现当少数派智能体使用的LLM推理能力明显弱于多数派时例如用一个小参数开源模型对抗一群GPT-4o更容易出现这种情况。少数派的论点容易被驳倒。约25%的实验陷入僵局6:6, 7:5等。这通常发生在双方都有强有力的LLM支撑且论点陷入“逻辑循环”或对“合理怀疑”的标准理解出现根本分歧时。一个深刻体会AI智能体群体中也存在“从众心理”。当某个观点获得明显多数如8票以上时后续智能体即使有疑虑也更倾向于附和或保持沉默除非有特别强有力的新论点被提出。这提示我们在设计多智能体系统时需要有意引入“反对派”或“魔鬼代言人”角色以避免群体思维。4.2 模型行为差异风格决定角色不同LLM驱动的智能体表现出鲜明的个性GPT-4o智能体像“优秀的辩论家”。论点组织清晰善于引用讨论历史中的具体点“正如juror_05上一轮所说…”进行攻防。在扮演“理性怀疑者”角色时表现最佳。Claude-3.5-Sonnet智能体像“深思熟虑的法官”。倾向于做长篇、结构化的陈述会权衡双方观点然后给出一个平衡的结论。它往往不是第一个提出尖锐质疑的但它的总结性发言经常能推动讨论进入新阶段。Llama-3.1-70B智能体像“专注的技术专家”。当讨论涉及具体的技术性质疑如“以当时的照明条件管家能否看清20米外的人脸”时它能提出非常细致、基于常识物理的论点。但在处理复杂的情绪或社会关系推理时稍显薄弱。国内某领先模型智能体表现中规中矩论点扎实但创造性相对较少。一个有趣的现象是在涉及“家庭关系”、“社会情理”的论证上其表述方式与其他模型有细微的文化差异。4.3 “合理怀疑”的量化困境这是实验暴露出的一个核心问题。LLM对于“排除合理怀疑”这个法律标准的理解是定性而非定量的。在一个实验中一个智能体坚持无罪理由是“有5%的可能性凶手是外人”。另一个则反驳“5%的可能性不构成合理怀疑95%的有罪概率足以定罪”。AI无法像人类一样基于共同的生活经验和社会契约对这个模糊的标准达成一致。这导致了大量僵局实验。未来可能需要为智能体注入更明确的价值判断规则或“怀疑阈值”参数。5. 项目启示与多智能体系统设计思考“12 Angry AI Agents”虽然是一个实验性的项目但它对实际构建多智能体系统提供了非常具体的启示多样性是稳健性的基石如果12个智能体全部使用同一种LLM、同一种提示词模板系统很容易陷入“回声室”效应快速形成可能错误的共识。引入不同模型、不同角色设定能有效模拟“群体智慧”通过竞争性辩论产生更优的决策。在实际应用中这意味着对于一个复杂任务组建一个由“专家”、“批判者”、“协调者”、“执行者”等不同角色模型构成的团队可能比单纯堆叠多个相同模型更有效。记忆与摘要机制是规模化的关键直接传递完整对话历史不可行。必须设计智能的摘要、检索和记忆聚焦机制让每个智能体能在有限的上下文内获取到最相关、最精华的讨论信息。这类似于人类在长会议中只会记住关键点和最新进展。流程设计比模型能力更重要一个笨拙的流程比如无序争吵会让再强大的模型也效率低下。而一个好的流程如轮流发言、阶段性投票、总结复盘能极大地提升群体决策的质量。在系统中控制器Orchestrator的逻辑和规则设计其重要性不亚于单个智能体的能力。评估需多维度、重过程不要只看最终输出。分析智能体间的互动网络、观点演变轨迹、论点的创新性和逻辑性能帮助我们更深入地理解系统的运作机制并诊断问题所在。例如如果发现某个智能体始终不被其他智能体引用可能需要检查其角色设定或模型是否与群体脱节。这个项目就像打开了一个观察AI社会行为的显微镜。它告诉我们当多个LLM智能体被置于一个需要协作、竞争和说服的复杂环境中时它们展现出的动态远超简单的任务完成。对于未来开发涉及辩论、评审、头脑风暴、复杂谈判等场景的AI应用这次“陪审团实验”所提供的框架和洞见或许能成为一个有趣的起点。下一步我计划引入更复杂的规则比如允许智能体私下结盟或者引入一个“法官AI”来对辩论质量进行实时评分看看又会产生什么有趣的化学反应。