让 AI 学会合作 · 02 · Debate
Debate
2023 年 5 月,Yilun Du 等人发了一篇后来被反复引用的 paper,标题很长但核心一句话:让两个 LLM 就同一问题辩论几轮,数学和事实性推理的准确率显著提升。几个月后,Anthropic 的研究员在内部放话:debate 有可能是 scalable oversight 的关键工具。
两年过去。其实我去年看到 2025 年 4 月,ICLR 的一篇 blogpost 把这个故事翻了过来 —— 在 9 个基准、5 个主流 debate 框架上做的系统评测显示:MAD(multi-agent debate)并不稳定优于 CoT 和 self-consistency 这些更简单的方法。我这期想讲清楚这场“被反转了的共识”里,哪一部分是真的,哪一部分是我们自己讲得太早。
持立场对抗,最后由裁判裁决
让两个(或多个)持对立观点的 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 论文里写得很直白的事。
两方对抗,中间 judge 裁决
我画这张图最想强调的是:双方 agent 用的是同一个底座模型。我说得具体一点:一个 Sonnet 实例被 prompt 为“支持 A”,另一个被 prompt 为“支持 B”。所谓“对抗”,来自 prompt 里的立场强制,而不是模型本身差异。我觉得这个设计选择既是优点也是陷阱 —— 后面案例 3 会讲为什么它容易出事。
布局上的最大性能优势,是 judge 能“旁观”整个论证过程。它不需要自己从头推一遍,只需要判断“哪方的 reasoning 更站得住”。这我去年开始追这条线 —— 在 AI safety 语境里叫 scalable oversight —— 当 agent 强到人类审不过来时,用两个 agent 辩论给你听,你只做裁判,心智负担反而下来了。Irving 2018 年提出这个构想时,就是这个意思。
什么时候你该让 agent 吵一架
落地场景上,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 更合理)。
同一个问题,三波研究给了三个答案
我把第一个绕不过的案例放最前。MIT + Google 研究员 Yilun Du 等人的 ICML 2024 论文(arXiv 2305.14325)是所有 debate 研究绕不开的起点。核心实验:让两个 LLM 实例就数学题、化学事实、人物传记等问题展开 2-3 轮辩论。
关键观察:
· 在 MMLU 数学、GSM8K 等基准上,debate 比单次回答的准确率提升明显
· 在 factuality 任务(传记信息、化学事实)上,hallucination 下降
· 论文最核心的框架很朴素:agent A 给出答案 → agent B 给出答案 → 都拿到对方答案后 revise → 多轮后收敛
当时的流行解读:debate 是通用方法,可以嫁接到任何任务上提升准确率。后来的两年里,这个解读被反复引用,也逐渐被质疑。
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 本身是个未解决问题。
有意思的是,在通用推理场景上 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 研究真正的阵地。
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)
我想挑几个关键取舍说说:
五维评分:准得高,但慢、贵、还不一定稳
我五维打分:最高分是准确率和可解释性 —— 在它擅长的任务上,debate 确实能逼出 reasoning 痕迹,让人能一步步看懂 agent 为什么得出最终答案。最低分是成本和延迟:两个 agent × 三轮 + 一个 judge,token 消耗至少是单次调用的 8-10 倍,响应时间也以秒计。可控性我打 3 分,是因为“对抗设置”这个环节设计得好坏,对结果的影响,我自己实验下来比想象大得多。
我看过的硬伤:① 延迟敏感的产品链路 —— 用户等不了 8-10 秒,把 debate 挪到后台评估环节。
② 我看过被滥用的场景:简单的事实性任务 —— self-consistency 多采样几次投票就够,省一大笔 token。
③ judge 资源受限 —— 其实如果裁判只能用和 debater 同一档的模型,别上 debate,准确率可能反而会掉。
我自己也踩过坑:④ 面对可能被“说服攻击”的场景 —— 老实讲,2026 Nature 那篇指出,对抗性 prompt 能把 debate 整体带偏,目前还没有稳的防御方案。
和 Ensemble / Round-Robin / Actor-Critic 的分界线
Debate:双方互相看到对方论点,彼此说服/反驳,judge 裁决。信息流是互通的。
Ensemble Voting:多个 agent 独立作答,不看彼此,最后投票。信息流完全隔离。
区别的本质:debate 利用“对抗”让问题被反复拷问;voting 利用“独立性”让误差彼此抵消。想提高上限用 debate,想压低方差用 voting。
Debate:两方对抗,立场预先被分配。结构是对立。
Round-Robin:我看 Round-Robin:多方(通常 4-5 个角色)按顺序发言,角色往往是职能型的(PM / Dev / QA)。结构是分工。
区别的本质:debate 靠摩擦出结论,round-robin 靠拼装出产物。MetaGPT 的 PM → 架构师 → 工程师是 round-robin,不是 debate;让“正方设计师”和“反方设计师”争论方案才是 debate。
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 方向绑定的一种。
下期讲 04 Sequential Pipeline:Retrieve → Rerank → Generate → Validate 这条最常见的 RAG 链条,它的甜点长度是几步、每一步该不该调模型、什么时候应该升级成 17 Plan-and-Execute。带 2025-2026 年企业 RAG 案例。
你在生产里用过 debate 吗?我想问的是:用在哪个环节、有没有被“说服攻击”坑过?
我都想看 —— 踩过的坑、做过的优化,欢迎留言。有代表性的案例我会写进后续的勘误和复盘。
夜雨聆风