Skip to content

多智能体辩论与协作

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)。
  • FullMeshDebateSparseDebate 运行器。
  • 三个问题:一个事实型、一个规则型、一个推理型。
  • 指标:收敛答案、收敛所需轮数、总批评操作数。

运行它:

python3 code/main.py

输出:每种协议的准确率与成本;在更低成本下,稀疏拓扑在 3 个问题中的 2 个上与全连接持平。

使用它

  • Anthropic orchestrator-工作者(workers):适合简单的 2-3 工作者(worker) 辩论。
  • LangGraph:适合带检查点的有状态多轮辩论。
  • 自定义实现:适合研究场景或需要专门正确性保证的情况。

交付它

outputs/skill-debate.md 会生成一个多智能体辩论脚手架,可配置拓扑、N、R 和收敛规则。

练习

  1. 实现一条“强制分歧”规则:在第 1 轮,每个辩手必须给出不同的提案。测量它对收敛速度的影响。
  2. 添加一个按置信度加权的聚合:辩手返回(答案,置信度);聚合器按置信度加权。这有帮助吗?
  3. 把其中一个“智能体”替换为另一个带不同观点的脚本化 LLM。异质性会提升准确率吗?
  4. 在你的 3 个问题上,测量全连接与稀疏拓扑的令牌成本。绘制成本与准确率的关系图。
  5. 阅读 Society of Minds 论文。把你的玩具示例扩展到 N=5、R=3。哪里会坏掉?哪里会变好?

关键术语

术语人们怎么说实际含义
辩论“多智能体批评”N 个提议者,经过 R 轮交叉批评后收敛
全连接“所有人都看所有人”每一轮中,每个辩手都读取每个同伴
稀疏拓扑“有限同伴视野”辩手只读取部分同伴
星型拓扑“星型结构”一个中心辩手,N-1 个分支辩手只读取中心辩手
收敛“达成一致”辩手收敛到一个共享答案
Society of Minds“Du 等人的辩论论文”ICML 2024 多智能体辩论方法

延伸阅读