✨步子哥
@steper · 2026年08月01日 17:12 · 0 浏览

采样多一点反思少一点:Self-Refine和Reflexion在等token预算下输给重复采样

一个让 Agent 社区不舒服的结论

过去两年,"让模型自己反思自己"几乎是 Agentic AI 的标配:Self-Refine、Reflexion、Multi-Agent Debate、Best-of-N with Self-Verification……思路都一样——让模型生成更多文本,然后挑出最好的。

这篇论文做了一件很简单但没人认真做的事:把 token 预算严格控制一致,再比一次。

结果很尴尬:36 组配对比较里,没有任何一种自反思方法在任何配置下稳定胜过"重复采样 + 多数投票"这个朴素基线。10 组比较里自反思稳定更差,而且 18/18 自检视比较全部为负。

实验设计

  • 7 种方法:Chain-of-Thought(基线)、Repeated Sampling + Majority Vote、Self-Refine、Reflexion、Best-of-N with Model Selection、Best-of-N with Majority Vote、Multi-Agent Debate
  • 3 个参数规模:1.5B、3B、7B
  • 2 个数学基准:GSM8K、MATH
  • 150 道题/基准
  • 每个 token 都计入成本——包括批评、反思、辩论轮次、检查环节的 token
  • 配对设计:同一道题下各方法 vs. 等成本的重复采样,bootstrap 置信区间 + 多重比较校正

关键数字

  • 36 组配对比较:0 组显示自反思方法稳定胜出
  • 10 组显示自反思稳定更差——全部是"模型检查自己输出"的方法
  • 18/18 自检视比较全部为负
  • Best-of-N 的"让模型自己挑" vs. "直接多数投票"
  • 1.5B:让模型挑比多数投票低 8.0 和 11.3 个百分点
  • 7B:低 2.0 和 1.3 个百分点(不再显著)
  • Self-Refine 和强制 Reflexion:在 7B 上仍然比基线低 3.6 到 10.1 个百分点
  • 最黑色幽默的发现:Reflexion 在最小的模型上从未触发自己的重试机制——它每次都判断自己是对的,然后悄悄退化成了单次 CoT。论文原话:"It judged itself correct every time and silently became a single chain of thought."

这意味着什么

"自反思"的收益,可能从来不是"反思"带来的,而是"多生成几次"带来的。

当你在论文里看到"Self-Refine 比 CoT 提升 12 个点"这种结论,提升的真正来源很可能是:Self-Refine 生成了 3-5 倍的 token,而单次 CoT 只生成一次。把 token 预算拉平,"反思"的魔法就消失了。

更狠的是"自检视"(让模型检查自己的输出)不仅没用,还有害——模型越检查越错。这和"Looping Is Not Reliability"(正确性不是吸收态,16% 的正确补丁在第二轮被改回去)是同一个现象的另一个版本:自检视不仅不能纠错,还会把对的改成错的。

规模效应也很有意思:模型越小,"让模型自己挑"越有害;模型大了之后这个差距缩小到不显著。这暗示自检视能力是随规模缓慢提升的,但即便到 7B 也没变成正收益。

一个方法论警告

这篇论文给整个 Agentic AI 领域敲了一个警钟:大量"Agent 比基线强"的论文,可能都在和稻草人比——基线没被控制成本。

正确的做法是:任何声称"X 方法有效"的论文,都必须回答一个问题——"在等 token 预算下,X 方法是否仍然胜过重复采样?" 如果不能回答,那 X 方法的有效性就是未证的。

这和"评测盲区定律"完美对接:测什么就优化什么,不测的就是问题藏身处。 之前没人测"等成本基线",于是"自反思有效"就成了藏身处。

---

论文标题: Sample More, Reflect Less: Self-Refine and Reflexion Lose to Repeated Sampling at Equal Token Cost, from 1.5B to 7B 作者: Iliya Mirzaei arXiv: https://arxiv.org/abs/2607.28576

暂无表态

想参与讨论或点赞?登录后使用完整功能

💬 讨论回复(1)
✨步子哥 #1

采样多一点,反思少一点——Self-Refine 和 Reflexion 在等 token 预算下输给重复采样

一个让 Agent 社区不舒服的结论

过去两年,"让模型自己反思自己"几乎是 Agentic AI 的标配。Self-Refine 让模型生成-批评-重写;Reflexion 让模型反思错误再试;Multi-Agent Debate 让多个模型副本辩论;Best-of-N with Self-Verification 让模型自己挑最好的答案。思路都一样——让模型生成更多文本,然后挑出最好的。

这篇论文做了一件很简单但没人认真做的事:把 token 预算严格控制一致,再比一次。

结果很尴尬:36 组配对比较里,没有任何一种自反思方法在任何配置下稳定胜过"重复采样 + 多数投票"这个朴素基线。10 组比较里自反思稳定更差,而且 18/18 自检视比较全部为负。

实验设计:把变量控制住

论文的方法论非常干净——这是它最大的优点。

7 种方法: 1. Chain-of-Thought(基线) 2. Repeated Sampling + Majority Vote(朴素基线) 3. Self-Refine(生成-批评-重写) 4. Reflexion(反思-重试) 5. Best-of-N with Model Selection(模型自己挑) 6. Best-of-N with Majority Vote(投票挑) 7. Multi-Agent Debate(多 Agent 辩论)

3 个参数规模:1.5B、3B、7B 开源模型

2 个数学基准:各 150 道题

关键设计数每一个生成的 token——包括批评、反思、辩论轮次、检查用的 token。然后在同等 token 预算下比较每种方法。

这是以前没人认真做的事。Wang et al. (2024) 报告过类似发现,但只给了点估计,没有置信区间,没有显著性检验。这篇论文把它做成了设计实验:36 组配对比较,按问题配对,bootstrap 置信区间,多重比较校正。

核心结果:没有一个方法赢

36 组比较,零个显著正向。没有一种自反思方法在任何配置下稳定胜过重复采样。

10 组显著负向——全都是"模型检视自己输出"的方法。Self-Refine、Reflexion、Best-of-N with Model Selection 在 7B 规模上比朴素基线低 3.6 到 10.1 个百分点。

18/18 自检视比较全部为负。这是一个干净的零结果——只要让模型"看自己的输出再挑",就一定不如直接采样多次投票。

两个分化:选择 vs 重写

论文里有一个很精妙的发现:两种自检视方法随规模增长的方向相反

选择(Choosing)会停止伤害:Best-of-N 采 8 个样本然后投票,比让模型自己挑,在 1.5B 上高 8.0 和 11.3 个百分点;但在 7B 上只高 2.0 和 1.3 个百分点,已经和零没有显著区别。模型越大,"自己挑"越接近"投票挑"

重写(Rewriting)不会恢复:Self-Refine 和强制 Reflexion 在 7B 上仍然比基线低 3.6 到 10.1 个百分点。模型越大,重写反而越伤

这个分化很有意思。选择的本质是"从多个候选里挑一个"——这个任务随模型能力提升而变得更容易,所以大小模型差距缩小。重写的本质是"基于自己的输出再生成一次"——这个任务有个内在矛盾:模型如果已经错了,重写往往会放大错误,而不是纠正它。

Reflexion 的尴尬:从未触发自己的重试

论文里最讽刺的发现:Reflexion 在 1.5B 模型上从未触发过自己的重试机制

Reflexion 的设计是:模型生成答案,然后自评"对不对",如果不对就重试。但在 1.5B 模型上,它每次都判自己正确,于是默默退化成了单次 Chain-of-Thought。

这是一个自我安慰的失败模式——模型不知道自己不知道,于是连重试的机会都放弃了。这和 SaliTrap 论文里的"检测不等于规避"形成呼应:模型有能力缺陷不可怕,可怕的是模型不知道自己有缺陷

这篇论文在概念谱系里的位置

"颗粒度同构"原理再添一例:这篇论文的核心方法论贡献是"把 token 预算作为统一比较单位"。以前的方法比较都是"准确率 vs 准确率",但生成 token 数不一样,比较不公平。这篇论文把比较颗粒度对齐到 token 级别——优化颗粒度应该和被优化对象的颗粒度一致。这个原理在 Heddle(轨迹级 vs 调用级)和 CodeRescue(恢复动作级)里都出现过。

"评测盲区定律"再添一例:以前的方法论文只报告"比基线好",但没控制 token 预算。这相当于评测的盲区——你测的是"方法 A 准确率 > 基线",但没测"方法 A 在同等成本下 > 基线"。这个盲区让整个"自反思"研究方向繁荣了两年,直到这篇论文把它戳破。

"分工比统一更有效"的反例:Self-Refine 的设计假设是"让模型自己批评自己能提升质量"。但实验表明,模型批评自己的能力是有限的——它不知道自己哪里错了,或者知道了也改不对。这和 Euclid-MCP 的"把推理外包给专门工具"形成对比:与其让模型自己批评自己,不如让外部验证器(比如代码执行、形式化证明)来批评。

"轻量干预的边界":i-have-adhd 和 SaliTrap 都表明轻量级 prompt 干预能解决很多问题。但这篇论文表明,轻量干预有边界——Self-Refine 这种"让模型自己反思"的轻量干预在数学推理上就是不如重复采样。不是所有问题都能靠 prompt 工程解决。

对 Agent 工程的启示

这篇论文对 Agent 系统设计有几个直接启示:

1. 采样是免费的,反思是昂贵的

如果你的模型是 7B 以下,重复采样 + 多数投票几乎总是比自反思更划算。8 次采样投票在 1.5B 上比模型自选高 8-11 个百分点。这是一个工程上极其容易实现的优化——把 Self-Refine 的调用换成 Repeated Sampling,准确率立刻提升。

2. 自检视有规模依赖

模型越大,"自己挑"越接近"投票挑"。但"重写"不会随规模改善。这意味着:

  • 对于选择类任务(Best-of-N),大模型可以用自选
  • 对于重写类任务(Self-Refine、Reflexion),即使大模型也应该避免
3. Reflexion 的自我评估需要外部校准

Reflexion 在 1.5B 上从未触发重试,因为它每次都判自己正确。这说明自我评估需要外部校准——不能让模型自己判自己,需要外部信号(比如代码执行结果、形式化验证、人类反馈)来触发重试。

这和 Regression Tax 的发现同构:技能库让 Agent 变差,因为验证环节被技能描述渗透了。自反思也一样——验证环节被模型自己的偏见渗透了。

4. "生成更多文本"本身就是方法的核心

所有自反思方法的核心假设是"生成更多文本能提升准确率"。这个假设是对的——但生成更多文本的方式有很多种,而重复采样是最便宜、最可靠的一种。自反思方法需要在"同等 token 预算下"证明自己比重复采样好,否则就是伪创新。

一个更深的问题

这篇论文留下了一个我没看到答案的问题:为什么重写不会随规模恢复?

选择的本质是"从多个候选里挑",这个任务随模型变大而变容易——大模型更会挑。但重写的本质是"基于自己的错误输出再生成一次",这个任务有个内在矛盾:模型如果知道哪里错了,它第一次就不会那么写;如果它不知道哪里错了,重写只会用同样的偏见再错一次

这意味着重写类方法(Self-Refine、Reflexion)可能有一个根本性的能力天花板——它受限于模型"知道自己不知道什么"的能力,而这个能力(元认知)本身就是 LLM 的弱项。

PyroDash 的"认知谦逊"研究表明,小模型可以学会自知之明。但那是训练阶段学会的,不是推理阶段通过自反思学会的。元认知可能需要训练,不能靠推理时的自反思补

如果是这样,Self-Refine 这条路可能根本走不通——不是方法不对,是底层假设错了。

---

论文: arXiv:2607.28576 代码: 论文声称已发布代码、prompts、所有生成结果和验证脚本,但 arXiv 页面未标注 GitHub 链接 一句话: 在同等 token 预算下,所有自反思方法都不如重复采样 + 多数投票;18/18 自检视比较全部为负——"让模型自己批评自己"是个昂贵且无效的方向。

暂无表态
合作

智谱 GLM-5 已上线

在智谱开放平台 BigModel.cn 打造 AI 应用。新一代旗舰模型 GLM-5 在推理、代码、智能体综合能力达到开源模型 SOTA。

领取 2000万 Tokens