乐于分享
好东西不私藏

让 AI 学会合作 · 02 · Debate

让 AI 学会合作 · 02 · Debate

02 / 24
AI-PRODUCT-LOG · 系列第二期
让 AI 学会合作 · 多 Agent 协同的 24 种方式

Debate

让两个 agent 吵一架,真的更聪明吗?2025 年,这个结论被重新按住了

2023 年 5 月,Yilun Du 等人发了一篇后来被反复引用的 paper,标题很长但核心一句话:让两个 LLM 就同一问题辩论几轮,数学和事实性推理的准确率显著提升。几个月后,Anthropic 的研究员在内部放话:debate 有可能是 scalable oversight 的关键工具。

两年过去。其实我去年看到 2025 年 4 月,ICLR 的一篇 blogpost 把这个故事翻了过来 —— 在 9 个基准、5 个主流 debate 框架上做的系统评测显示:MAD(multi-agent debate)并不稳定优于 CoT 和 self-consistency 这些更简单的方法。我这期想讲清楚这场“被反转了的共识”里,哪一部分是真的,哪一部分是我们自己讲得太早。

01 / 一句话定义

持立场对抗,最后由裁判裁决

让两个(或多个)持对立观点的 agent 就同一问题展开多轮辩论,最后由一个 judge(agent 或人)裁决,或把辩论过程本身作为最终答案的来源。

我读这个定义,觉得里面藏着两个关键词,很容易被忽略。

第一个是 “持对立观点”。Debate 和 ensemble voting(07)最大的区别我觉得就在这儿:07 让多个 agent 各自独立答题,07 各投各的;Debate 强行让两个 agent 站在对立面,一个必须 argue pro,另一个必须 argue con。这个“强行对抗”是整个机制的驱动力。没有对抗,就只是轮流发言,不是 debate。

第二个是 “judge 裁决”。实践里其实 judge 通常比双方都强(比如 Opus 裁 Sonnet),这一点很关键。弱 judge 在强 agent 面前会被说服到错误答案,这是 2026 年 Nature 那篇 persuasion 论文里写得很直白的事。

02 / 示意图

两方对抗,中间 judge 裁决

Judge (Opus)
裁决 · 给出最终答案
↑      ↑
Pro Agent
Sonnet · 正方
Con Agent
Sonnet · 反方
Round 1 · Round 2 · Round 3(各自陈述 → 互相反驳 → 最后陈词)

画这张图最想强调的是:双方 agent 用的是同一个底座模型。我说得具体一点:一个 Sonnet 实例被 prompt 为“支持 A”,另一个被 prompt 为“支持 B”。所谓“对抗”,来自 prompt 里的立场强制,而不是模型本身差异。我觉得这个设计选择既是优点也是陷阱 —— 后面案例 3 会讲为什么它容易出事。

布局上的最大性能优势,是 judge 能“旁观”整个论证过程。它不需要自己从头推一遍,只需要判断“哪方的 reasoning 更站得住”。这我去年开始追这条线 —— 在 AI safety 语境里叫 scalable oversight —— 当 agent 强到人类审不过来时,用两个 agent 辩论给你听,你只做裁判,心智负担反而下来了。Irving 2018 年提出这个构想时,就是这个意思。

03 / 典型场景

什么时候你该让 agent 吵一架

信号一 · 答案正确性是高价值的
我观察下来:这件事要是错了很贵:法律意见、医学判断、金融风控、事实核查。答错代价 >> 算力代价,debate 才值得。
信号二 · 问题天然存在两个立场
我观察到的:不是所有问题都能 debate。“2+2 等于几”不能 debate,“这份简历该过初筛吗”可以 debate。问题里得有能 argue 的空间。
信号三 · 单 agent 会 overconfidence
我自己用的时候经常碰到:agent 给出答案时“显得太自信”,但你也没把握它对没对。Debate 是一种强制它给出反方证据的机制,用来戳穿这种过度自信。

落地场景上,2025-2026 年能看到 debate 稳定出现的地方其实很窄:LLM-as-Judge 的评测环节、legal reasoning 评估、学术 paper 评审辅助、事实核查 pipeline。在 ZenML 整理的 1200+ 个生产案例里,主流是 hierarchical 和 pipeline,几乎没有把 debate 放在主链路的。原因我接下来讲。

什么时候不该用

实时交互场景(→ 用 03 Router 选个合适的模型就够);简单事实查询(→ 用 07 Ensemble Voting 多次采样更快);关键链路的生成任务(→ 用 08 Actor-Critic,一生一评,比两个立场互掐更可控);上下文本来就长的多跳问题(→ debate 的 token 消耗会爆炸,用 17 Plan-and-Execute 更合理)。

04 / 真实案例

同一个问题,三波研究给了三个答案

CASE 01 · 共识阶段
Du et al. 2023 · 让 LLM 辩论 → 数学与事实性推理提升

我把第一个绕不过的案例放最前。MIT + Google 研究员 Yilun Du 等人的 ICML 2024 论文(arXiv 2305.14325)是所有 debate 研究绕不开的起点。核心实验:让两个 LLM 实例就数学题、化学事实、人物传记等问题展开 2-3 轮辩论。

关键观察:

· 在 MMLU 数学、GSM8K 等基准上,debate 比单次回答的准确率提升明显

· 在 factuality 任务(传记信息、化学事实)上,hallucination 下降

· 论文最核心的框架很朴素:agent A 给出答案 → agent B 给出答案 → 都拿到对方答案后 revise → 多轮后收敛

当时的流行解读:debate 是通用方法,可以嫁接到任何任务上提升准确率。后来的两年里,这个解读被反复引用,也逐渐被质疑。

CASE 02 · 反转阶段
ICLR 2025 Blog · “MAD 并不稳定优于 CoT 和 self-consistency”

2025 年 4 月,ICLR 发了一篇官方 blogpost《Multi-LLM-Agents Debate —— Performance, Efficiency, and Scaling Challenges》。作者系统评测了 5 个主流 MAD 框架在 9 个基准上的表现,对比对象是更简单的 CoT 和 self-consistency。

· 核心结论:现有 MAD 方法并不稳定优于这些基线

· 加推理预算(更多轮次、更多 agent)也不能拉开差距 —— 也就是说 MAD 不 scale

· 作者的一个关键分析:LLM 本身对候选答案有偏好,可能让 debater 无法真正“基于 correctness”选择;pre-trained LLM 直接上 MAD 框架,in-context learning 或 SFT 才能真正让它学会 debate

我又追到 2026 年 4 月 Nature Scientific Reports 的一篇研究:在 MAD 里可以注入一个“只会 persuade 不讲事实”的 adversary,加 agent 数、加轮次、加简单的 prompt 防御都救不回来。换句话说:debate 的 robustness 本身是个未解决问题

CASE 03 · 新阵地
Anthropic / DeepMind · 用 debate 做 scalable oversight

有意思的是,在通用推理场景上 debate 被按住的同时,AI safety 社区一直在另一条线上推进。我去年开始追这条线:Geoffrey Irving 2018 年提出“AI safety via debate”,2023 年在 Anthropic 发了 debate progress update,2025 年他在 UK AI Safety Institute 做了一个“prover-predictor game”的 debate 变体,对应解决了之前实验里发现的 obfuscated arguments 问题。

另一头,Anthropic 2025 年发布的《Recommendations for Technical AI Safety Research Directions》明确把 debate 和 prover-verifier games 列进 scalable oversight 的主力手段。2026 年 4 月,Anthropic 又发了一篇《Automated Alignment Researchers》—— 用 LLM 去 scale scalable oversight 本身。

我想点明这个差异?Du et al. 讨论的是“debate 能不能让 LLM 答题更准”,这个问题 2025 年给出的答案越来越保守。Irving / Anthropic 讨论的是“debate 能不能让人类能继续监督超人 AI”,这个问题还远远没有 settled,但它是一个完全不同的问题 —— 我看到的:这才是 2026 年 debate 研究真正的阵地。

05 / 代码骨架

30 行 Python:一个最小能跑的 debate

不依赖 LangGraph、不依赖任何 debate 框架,只用 Anthropic SDK 直接写。双方都是 Sonnet,judge 用 Opus。

from anthropic import Anthropic client = Anthropic()defargue(position, topic, opponent_last=""):    # 每轮都重新拼 context,双方上下文隔离     ctx = f"你支持 {position}。议题:{topic}。对方上一轮:{opponent_last}"     resp = client.messages.create(         model="claude-sonnet-4-5", max_tokens=768,         messages=[{"role""user""content": ctx}]     )    return resp.content[0].textdefjudge(topic, rounds):    # judge 用更强的模型,旁观所有轮次再裁决     resp = client.messages.create(         model="claude-opus-4-7", max_tokens=1024,         messages=[{"role""user",                   "content"f"议题:{topic}\n辩论:{rounds}\n给结论。"}]     )    return resp.content[0].textdefdebate(topic, n_rounds=3):     rounds, last_pro, last_con = [], """"for _ inrange(n_rounds):         last_pro = argue("正方", topic, last_con)         last_con = argue("反方", topic, last_pro)         rounds.append((last_pro, last_con))    return judge(topic, rounds)

我想挑几个关键取舍说说:

我反复强调:Judge 必须比 debater 更强Opus 裁 Sonnet 是默认组合。反过来(Sonnet 裁 Opus)就是 2026 Nature 那篇 persuasion 论文说的危险姿势 —— 弱 judge 会被强 debater 说服到错的一边。
轮数 3 是甜点,不要贪多ICLR 2025 blogpost 的 ablation 显示,更多轮次并不能带来线性收益,常见的失败模式是“一起同意”或“顽固对峙”。3 轮够了,多了只是烧钱。
立场要显式,不要让 agent 自选“你支持 X”比“你对这件事怎么看”的效果好得多。自选立场时,LLM 的回答偏好会让双方往中间靠,debate 的对抗信号就没了。
06 / 优缺点与边界

五维评分:准得高,但慢、贵、还不一定稳

准确率5 / 5成本1 / 5延迟1 / 5可控性3 / 5可解释性4 / 5

我五维打分:最高分是准确率和可解释性 —— 在它擅长的任务上,debate 确实能逼出 reasoning 痕迹,让人能一步步看懂 agent 为什么得出最终答案。最低分是成本和延迟:两个 agent × 三轮 + 一个 judge,token 消耗至少是单次调用的 8-10 倍,响应时间也以秒计。可控性我打 3 分,是因为“对抗设置”这个环节设计得好坏,对结果的影响,我自己实验下来比想象大得多。

判断 · 什么时候不该用

我看过的硬伤:① 延迟敏感的产品链路 —— 用户等不了 8-10 秒,把 debate 挪到后台评估环节。

② 我看过被滥用的场景:简单的事实性任务 —— self-consistency 多采样几次投票就够,省一大笔 token。

③ judge 资源受限 —— 其实如果裁判只能用和 debater 同一档的模型,别上 debate,准确率可能反而会掉。

我自己也踩过坑:④ 面对可能被“说服攻击”的场景 —— 老实讲,2026 Nature 那篇指出,对抗性 prompt 能把 debate 整体带偏,目前还没有稳的防御方案。

07 / 与相邻策略对比

和 Ensemble / Round-Robin / Actor-Critic 的分界线

VS07 Ensemble Voting

Debate:双方互相看到对方论点,彼此说服/反驳,judge 裁决。信息流是互通的。

Ensemble Voting:多个 agent 独立作答,不看彼此,最后投票。信息流完全隔离。

区别的本质:debate 利用“对抗”让问题被反复拷问;voting 利用“独立性”让误差彼此抵消。想提高上限用 debate,想压低方差用 voting。

VS11 Round-Robin Discussion

Debate:两方对抗,立场预先被分配。结构是对立

Round-Robin:我看 Round-Robin:多方(通常 4-5 个角色)按顺序发言,角色往往是职能型的(PM / Dev / QA)。结构是分工

区别的本质:debate 靠摩擦出结论,round-robin 靠拼装出产物。MetaGPT 的 PM → 架构师 → 工程师是 round-robin,不是 debate;让“正方设计师”和“反方设计师”争论方案才是 debate。

VS08 Actor-Critic

Debate:两个同级 agent 站在对立面,judge 在外圈。对称博弈

Actor-Critic:一个 agent 生成,另一个专门评审,不参与生成。非对称反馈

区别的本质:debate 里两方都在“答题”,只是答出不同答案;actor-critic 里一方答题、一方改卷。我用下来的工程经验:评审类任务 actor-critic 更稳;选择类任务(A 还是 B)debate 更有戏。

把开头那句话再过一遍:

“让两个(或多个)持对立观点的 agent 就同一问题展开多轮辩论,最后由一个 judge 裁决。”

我自己回过头看:2023 年大家以为找到了一个通用的“多 agent 提准”开关,2025 年又亲手把它按回去。我看到的真相是:说白了,真正活下来的不是那个开关,是 debate 本身作为 scalable oversight 工具的长期价值 —— 当 AI 强到人类判不出对错,我们需要一种机制让 AI 自己把问题讲给我们听。这是下一代 safety 的底层逻辑之一,也是 24 种模式里,少数直接和 AGI 方向绑定的一种。

NEXT · 下期预告
03 · Sequential Pipeline
为什么 90% 企业 AI 生产,最后都走向了一条最朴素的串行流水线?

下期讲 04 Sequential Pipeline:Retrieve → Rerank → Generate → Validate 这条最常见的 RAG 链条,它的甜点长度是几步、每一步该不该调模型、什么时候应该升级成 17 Plan-and-Execute。带 2025-2026 年企业 RAG 案例。

你在生产里用过 debate 吗?我想问的是:用在哪个环节、有没有被“说服攻击”坑过?

我都想看 —— 踩过的坑、做过的优化,欢迎留言。有代表性的案例我会写进后续的勘误和复盘。

—— 让 AI 学会合作 · 02 / 24 ——
系列共 24 期,每周日晚 20:00 更新下期见:03 · Sequential Pipeline
AI 产品日志 · 深度专栏