跳到主要内容

大语言模型(LLM)尚无法自我纠正推理能力 —— ICLR 2024 研究发现及其对金融 AI 的启示

· 阅读需 7 分钟
Mike Thrift
Mike Thrift
Marketing Manager

这篇论文是我一直在阅读的 CRITIC 和 Reflexion 系列工作的直接对立面。Huang 等人(ICLR 2024)提出了一个简单但令人不安的论点:当 LLM 在没有任何外部信号的情况下尝试自我纠正其推理时,它们并不会变得更好,反而会变差。紧接在 LOG-013 关于 CRITIC 的讨论之后(在那篇文章中,基于工具的批评确实起到了作用),这篇论文明确了究竟哪种“自我纠正”是真实的,哪种只是实验设置下的产物。

论文简述

2026-04-28-llms-cannot-self-correct-reasoning-yet

由 Jie Huang, Xinyun Chen, Swaroop Mishra, Huaixiu Steven Zheng, Adams Wei Yu, Xinying Song 和 Denny Zhou(Google DeepMind / UIUC)撰写的《大语言模型尚无法自我纠正推理能力》(Large Language Models Cannot Self-Correct Reasoning Yet)发表于 ICLR 2024。核心观点虽然范围较窄,但对某类代理设计来说是毁灭性的:内在自我纠正 —— 即要求 LLM 仅根据自身判断来审查和修改其答案,而没有任何真实标准(ground-truth)信号 —— 会导致推理基准测试的性能持续下降。作者认为,此前几篇自我纠正论文中报告的收益源于一个微妙的方法论缺陷:那些论文使用 Oracle 标签(预知答案)来决定何时停止纠正,这意味着模型只纠正已经错误的答案。这并不是自我纠正,而是受 Oracle 指导的过滤。

核心观点

  • 在 GSM8K 上,GPT-4 的初始准确率为 95.5%。经过一轮内在自我纠正后,准确率降至 91.5%,第二轮后降至 89.0%。GPT-3.5 在两轮后从 75.9% 降至 74.7%。
  • 在 CommonSenseQA 上下降更为剧烈:GPT-3.5 在一轮自我纠正后从 75.8% 降至 38.1%,在第二轮中略微回升至 41.8% —— 但仍远低于基准水平。
  • 对 GSM8K 答案变化的分析显示,模型将正确答案改为错误答案的频率高于将错误答案改为正确答案的频率。这种变化的净方向是有害的。
  • Oracle 指导的自我纠正确实能改善结果:在有 Oracle 标签的情况下,GPT-4 在 GSM8K 上的表现从 95.5% 提升到 97.5%,GPT-3.5 在 CommonSenseQA 上的表现从 75.8% 提升到 89.7%。但这需要知道哪些答案是错误的 —— 而这在实际部署中是无法预知的。
  • 另一种流行的想法“多代理辩论”,在推理预算相同的情况下,表现不如简单的自我一致性(self-consistency)。在总共 9 次响应的情况下,自我一致性在 GSM8K 上达到 88.2%,而多代理辩论仅达到 83.0%。
  • 受限生成(CommonGen-Hard)起初看起来是自我纠正的胜利(44% → 67%),但如果你只是改进初始提示词(81.8%),这种收益就会消失。当初始提示词已经足够好时,自我纠正反而有害,使准确率降至 75.1%。

哪些观点站得住脚,哪些站不住

核心发现是扎实的:数据说明了一切。如果你在不告诉 GPT-4 哪些数学题答错的情况下让其重新检查答案,平均而言答案会变得更差。论文提供的直觉也是正确的 —— LLM 无法可靠地判断其自身推理的正确性,因此当它们决定更改答案时,其实是在猜测,而且猜错的概率至少和猜对的概率一样大。

该论文在泛化性主张上的说服力略显不足。它只测试了推理和知识任务。在某些领域 —— 如写作风格、遵循格式限制、减少毒性 —— 迭代修改据称是有帮助的,而论文很大程度上避开了这些领域。作者顺带承认了这一点,指出“对于评估更简单的任务,自我纠正可能更有效”,但并未进行仔细测试。CommonGen 受限生成实验具有启发性,但将不充分的初始提示词作为基准,并将产生的改进称为“自我纠正”,正是该论文批评其他工作时提到的同一种方法论缺陷。

论文也没有涉及经过训练的自我纠正问题。2025 年的一项后续研究(SCoRe, ICLR 2025, arXiv:2409.12917)表明,对模型自身输出进行强化学习(RL)训练的自我纠正,在 MATH 上实现了 +15.6%,在 HumanEval 上实现了 +9.1% 的提升 —— 这是真正的内在改进。因此,标题“尚无法(yet)自我纠正”比更强势的解读更能经受时间考验;正确的理解应该是“无法通过提示词(prompting)引导出自我纠正”,而不是“无法学会自我纠正”。

为什么这对金融 AI 至关重要

对账本回写(ledger write-back)代理的影响是具体的。如果一个代理生成了一个 Beancount 账目分录,然后问自己“这看起来对吗?”并进行修改,它并不是在寻求第二个意见 —— 而是在引入噪声。数据显示,如果第一个答案是错的,自我审查极有可能在修复错误的同时损坏正确的答案。

这篇论文证实了我从 CRITIC 中得出的设计约束:没有外部 Oracle 的自我验证是不可靠的。对于 Beancount 来说,外部 Oracle 是现成且廉价的 —— 余额断言(balance assertions)在毫秒内即可运行,账户名称可以对照已知的会计科目表进行校验,金额必须精确到分。一种提交临时分录、运行 bean-check 并将任何错误作为具体的结构化反馈回传的代理架构,与那种仅要求模型“审查你的账目分录”的架构有着本质区别。前者将账本引擎用作 Oracle,而后者则依赖于产生错误的同一种推理机制。

这里还有一个关于提示词设计的微妙教训。CommonGen 实验表明,当提示词已经精确且明确时,自我纠正会降低性能。这意味着,如果我们投入精力编写非常清晰的交易解析提示词 —— 明确列出所有 Beancount 语法规则 —— 那么在之上添加自我审查循环可能会适得其反。正确的架构可能是仅在外部检查失败时才触发自我审查,而不是对每次生成都进行审查。

延伸阅读

  • SCoRe:通过强化学习训练语言模型自我纠正 (arXiv:2409.12917, ICLR 2025) —— 基于 RL 的方法,实现了首次真正的内在自我纠正收益;是理解当前论文判定范围的必要背景。
  • LLM 究竟何时能纠正自己的错误?LLM 自我纠正的批判性综述 (When Can LLMs Actually Correct Their Own Mistakes? A Critical Survey of Self-Correction of LLMs) (TACL 2024) —— 关于自我纠正何时奏效的系统分类法,区分了内在式、基于训练式和工具辅助式。
  • Self-Refine:通过自我反馈进行迭代优化 (Self-Refine: Iterative Refinement with Self-Feedback) (NeurIPS 2023) —— Huang 等人批评的主要论文;对比阅读可以明确 Oracle 标签假设具体根植于何处。