多智能体辩论与协作
Du 等人(ICML 2024,《Society of Minds》)运行 N 个模型实例,让它们独立提出答案,然后在 R 轮中相互批评、逐步收敛。这样可以提升事实准确性、规则遵循和推理表现。稀疏拓扑在令牌成本上优于全连接。
类型: 学习 + 构建 语言: Python(标准库) 先修要求: 第 14 阶段 · 12(工作流模式),第 14 阶段 · 05(Self-Refine 和 CRITIC) 耗时: ~60 分钟
学习目标
- 解释辩论协议:N 个提议者、R 轮、收敛到共享答案。
- 描述为什么辩论能提升事实准确性、规则遵循和推理能力。
- 解释稀疏拓扑:不是每个辩手都需要看到其他所有人。
- 用标准库在一个脚本化 LLM 上实现辩论,包含全连接和稀疏两种变体;衡量令牌成本与准确率。
问题
Self-Refine(第 05 课)是一个模型批评自己——容易陷入群体思维。CRITIC(第 05 课)让批评建立在外部工具之上——但工具并不总是可用。辩论引入了第三种模式:多个实例、交叉批评、通过分歧实现收敛。
概念
心智社会(Society of Minds,Du 等,ICML 2024)
- N 个模型实例对同一个问题独立提出答案。
- 在 R 轮中,每个模型读取其他模型的提案并加以批评。
- 模型根据这些批评更新自己的答案。
- R 轮结束后,返回收敛后的答案。
原始实验由于成本原因使用了 N=3、R=2。在困难问题上(MMLU、GSM8K、Chess Move Validity、传记生成),更多智能体和更多轮次会带来更高准确率。
跨模型组合优于单模型内部辩论:ChatGPT + Bard 一起用 > 单独使用任意一个。
稀疏拓扑
《通过稀疏通信拓扑改进多智能体辩论》(arXiv:2406.11776,2024-2025)表明,全连接辩论并不总是最优。稀疏拓扑(星型、环形、枢纽—辐条)可以在更低令牌成本下达到相近准确率。每个辩手只会看到部分同伴。
含义如下:
- 全连接 N=5、R=3 = 5 × 3 = 15 个提案,每个提案读取 4 个同伴 = 60 次批评操作。
- 星型 N=5、R=3(一个枢纽 + 4 个辐条)= 15 个提案,辐条只读取枢纽 = 12 次批评操作。
什么时候辩论有帮助
- 事实准确性。 N 个独立提案,交叉核对可减少幻觉。
- 规则遵循。 例如棋步合法性——一个模型漏掉规则,其他模型会指出来。
- 开放式推理。 多种框架会逐步逼近正确答案。
什么时候辩论反而有害
- 对延迟敏感的用户体验。 N × R 的串行轮次意味着你可能无法接受的延迟。
- 对成本敏感的规模化场景。 每个问题都要付出 N × R 的令牌。
- 简单事实查找。 一次查找比五场辩论便宜得多。
2026 年的实用落地方式
- Anthropic orchestrator-工作者(workers)(第 12 课)—— 带综合步骤的一种辩论变体。
- LangGraph supervisor(第 13 课)—— 中央路由器 + 专家智能体,可以把辩论实现为一个节点。
- OpenAI Agents SDK(第 16 课)—— 智能体来回交接(handoff),进行迭代批评。
- 多智能体评估 —— 将辩论与评估器—优化器模式结合,生成评估信号。
这种模式会在哪些地方出错
- 收敛崩塌。 所有智能体都收敛到第一个错误答案。可通过强制分歧轮来缓解。
- 枢纽失效。 在星型拓扑中,一个糟糕的枢纽会污染所有人。应轮换枢纽,或使用多个枢纽。
- 提示词同质化。 所有智能体都用同一个提示词,于是产生相同答案。应使用多样化提示词和/或不同模型。
动手构建
code/main.py 实现了标准库版辩论:
Debater类(带有每个辩手意见漂移的脚本化 LLM)。FullMeshDebate和SparseDebate运行器。- 三个问题:一个事实型、一个规则型、一个推理型。
- 指标:收敛答案、收敛所需轮数、总批评操作数。
运行它:
python3 code/main.py输出:每种协议的准确率与成本;在更低成本下,稀疏拓扑在 3 个问题中的 2 个上与全连接持平。
使用它
- Anthropic orchestrator-工作者(workers):适合简单的 2-3 工作者(worker) 辩论。
- LangGraph:适合带检查点的有状态多轮辩论。
- 自定义实现:适合研究场景或需要专门正确性保证的情况。
交付它
outputs/skill-debate.md 会生成一个多智能体辩论脚手架,可配置拓扑、N、R 和收敛规则。
练习
- 实现一条“强制分歧”规则:在第 1 轮,每个辩手必须给出不同的提案。测量它对收敛速度的影响。
- 添加一个按置信度加权的聚合:辩手返回(答案,置信度);聚合器按置信度加权。这有帮助吗?
- 把其中一个“智能体”替换为另一个带不同观点的脚本化 LLM。异质性会提升准确率吗?
- 在你的 3 个问题上,测量全连接与稀疏拓扑的令牌成本。绘制成本与准确率的关系图。
- 阅读 Society of Minds 论文。把你的玩具示例扩展到 N=5、R=3。哪里会坏掉?哪里会变好?
关键术语
| 术语 | 人们怎么说 | 实际含义 |
|---|---|---|
| 辩论 | “多智能体批评” | N 个提议者,经过 R 轮交叉批评后收敛 |
| 全连接 | “所有人都看所有人” | 每一轮中,每个辩手都读取每个同伴 |
| 稀疏拓扑 | “有限同伴视野” | 辩手只读取部分同伴 |
| 星型拓扑 | “星型结构” | 一个中心辩手,N-1 个分支辩手只读取中心辩手 |
| 收敛 | “达成一致” | 辩手收敛到一个共享答案 |
| Society of Minds | “Du 等人的辩论论文” | ICML 2024 多智能体辩论方法 |
延伸阅读
- Du et al., Society of Minds (arXiv:2305.14325) — 经典多智能体辩论
- Sparse Communication Topology (arXiv:2406.11776) — 稀疏拓扑结果
- Anthropic, Building Effective Agents — 将 orchestrator-工作者(workers) 作为辩论变体
- Madaan et al., Self-Refine (arXiv:2303.17651) — 单模型自我批评的对应方法