短基准上的单步准确率提升看起来越来越小,但如果任务要求连续做对很多步,这些提升会复利。 论文把规划和知识都显式喂给模型,只留下 retrieve-then-compose 的执行,发现执行本身就会随步数崩掉; 进一步把长上下文与 self-conditioning 分开,并观察到 thinking 能修复后者。
如果每步独立、成功率为 p、出错就失败,长度 H 的任务成功率是 pH;把成功率固定为 s,可执行长度是 Hs(p) = ln(s) / ln(p)。
按这条公式,p 从 0.95 到 0.99 的变化,会让 H0.5 从约 13.5 轮变成约 69.0 轮——短基准上的「边际递减」因此可能只是尺子选错了。
论文把知识(上下文字典)和计划(每轮要查的 key)都给出,只测执行。即使这样,除 Gemma3-4B 和 Qwen3-4B 外,所有模型第一步都接近满分;但 Qwen3-32B 仍在 15 轮内跌破 50%。更大的模型能在更高准确率上维持更多回合,Figure 4(b) 给出清晰的规模趋势。
每步准确率不是常数:固定第 100 轮、只改变前 99 轮历史中的错误率,错误率越高,第 100 轮越容易错。这是 self-conditioning。r=0 时仍低于第一轮,是长上下文效应;两者可分离。扩大模型能大幅缓解长上下文退化,却缓解不了 self-conditioning——Figure 5 图注甚至写的是“increases”(§3.2)。
Qwen3 thinking 模型在同样设定下,第 100 轮准确率不随历史错误率下降(Figure 6)。单轮任务里,这个差别更直观:无 CoT 的最大执行步数是 2–6 步;thinking / CoT 组从 72 步到 2176 步(GPT-5),而 DeepSeek-V3 无 CoT 只有 4 步(Figure 7)。
先把两个量分开:单步准确率 p,和模型能连续做对的步数 H。
论文的起点是一个简单事实:如果每一步独立、每步成功率都是 p,且一次错误就让整个任务失败,那么长度 H 的任务成功率是 pH。
把目标成功率固定为 s,反解 H,就得到 Proposition 1:
p 恒定、无自我纠正。
这条曲线在 p 接近 1 时非常陡。按连续近似,p=0.95 时 H0.5 约为
13.5 轮;p=0.99 时约为 69.0 轮。
短基准上只是从 0.95 到 0.99 的变化,换成长度就是十几轮与近七十轮的区别——这就是标题里的 “illusion”。
但这条公式只是分析用的简化。论文在 §2.1 明确说,这两个假设只用于建立直觉;实测中模型的每步准确率并非常数,也可能自我纠正。 于是真正的问题变成:真实模型的单步准确率,会随着任务变长怎样变化?
要测这件事,得先把规划和执行分开。规划是决定查什么信息、用什么工具、按什么顺序做;执行是把这些步骤做出来。 现有基准往往把两者混在一起:模型答错时,你无法判断是没想到步骤,还是想到了却做错。论文要补的是后一种失败。
“Even if planning and world knowledge are perfected, LLMs will still make mistakes in execution over a long-horizon.”(§2)
这句话把「长任务失败」从一个笼统的能力问题,拆成了一个可单独测量的问题。
论文要排除两个竞争解释:模型不会规划,和模型只是被长上下文拖累。
一条常见叙事是:模型在复杂推理基准上进步,但任务一长就暴露「不会想」。论文引用 Shojaee et al. (2025) 的说法:thinking 模型可能只给出 “illusion of thinking”,因为任务变长后终究会失败(§1)。
这类解释把失败归给规划或推理;它预测模型从一开始就不知道下一步做什么。
另一条解释是:上下文越长,模型越容易丢信息或分心,和内容无关(Zhou et al., 2025a)。它预测只要历史变长,准确率就会下降。
问题在于,更长的历史不仅更长,还更可能包含模型自己的错误。长度和错误率被混在了一起。
论文的拆法很直接:把知识放进上下文(字典),把计划也显式给出(每轮要查的 key),这样规划和参数知识都被拿掉,剩下的就是执行。 在这个设定里,如果模型仍然随回合数变差,就不能再用「不会规划」解释。
对长上下文解释,论文做了一个反事实实验:固定第 100 轮这个位置,把前 99 轮的历史替换成不同错误率的人工输出。历史长度不变,只改变其中错误的比例。 如果错误率越高、第 100 轮越差,就说明模型在 self-condition,而不只是被长度拖累(§3.2)。
论文的定位不是否定规划和知识的重要性,而是说:在长程任务里,执行是一个独立的、可被单独测出的失败来源。这也是它和「长上下文基准」「规划基准」的分工。
任务简单到多数模型第一步就接近满分(两个 4B 模型例外);难点只在「连续做对很多步」。
论文设计了一个键值字典求和任务。字典 D: V → Z 的 key 是常见五字母英文单词,value 从 [−99, 99] 均匀采样。
初始状态 S0 = 0;第 t 轮,模型收到一个计划 Pt = {kt,1, …, kt,K},需要查值并更新运行和:
D[k],再把它组合进状态
任务长度有两条轴:回合数 T 和每轮复杂度 K。§3.1 固定 K=1,只增加回合数;§3.3 固定单轮,增加 K。
两个指标分别是 turn accuracy(该轮状态更新正确的比例,与前一轮状态是否正确无关)和 task accuracy at H(前 H 轮每一步都正确的样本比例);在论文独立、恒定 p 的分析假设下,后者等于 pH。Horizon Length H0.5 定义为 task accuracy 首次跌破 50% 的轮数(§2 Evaluation Metrics)。
下面的滑块只做一件事:按 Proposition 1 的连续近似,把 p 映射成 H0.5。
它假设 p 恒定、每步独立、无自我纠正——正是论文用来建立直觉的简化条件,不是论文对真实模型的实测结果。
log10(H) 标尺绘制,1–1000 轮。推断 以第一轮准确率代入这条曲线时,论文实测的 H0.5 会低于它,因为真实模型的每步准确率会随回合下降(§3.2)。
公式:H0.5 = ln(0.5) / ln(p),取自然对数,连续近似,不取整。
参数一:p = 0.95。ln(0.5) = −0.693147,ln(0.95) = −0.051293,H = 13.513 → 13.5。
参数二:p = 0.999。ln(0.5) = −0.693147,ln(0.999) = −0.0010005,H = 692.80 → 692.8。
JS 用 Math.log(自然对数),保留一位小数;该交互不做标准差计算。手算与 JS 在相同参数下逐位一致。
简化条件:每步独立、p 恒定、无自我纠正(§2.1 明确说这些条件只用于分析;§3.2 的实测显示 p 会随回合下降)。
论文固定「第 100 轮」这个位置,人为替换前 99 轮的输出历史,使其中错误答案的比例 r ∈ {0, 25, 50, 75, 100}%。
如果 r=0 时第 100 轮准确率仍低于第 1 轮,说明有长上下文效应;如果 r 越高、第 100 轮越差,说明模型在 self-condition。
这个设计把「历史长度」和「历史错误率」分开了(§3.2)。
论文没有提出新架构,也没有训练新策略;它做的是一套可程序化生成、可复现的评测协议。
多轮实验用 Qwen3(4B / 8B / 14B / 32B)和 Gemma3(4B / 12B / 27B)两个家族,§3.1 固定 K=1,只改变回合数。
单轮实验用二分搜索找最大 K,要求该 K 下准确率 ≥80%(§3.3)。
论文还报告了温度 0 下趋势不变(Appendix Figure 14),以及 CoT / thinking 下的趋势(Appendix Figure 13)。
Appendix G.1–G.5 · 实验设置(按小节转录)
| 项目 | 设置 | 出处 |
|---|---|---|
| 字典 | 100 个常见五字母单词;值从 [−99, 99] 均匀采样 | Appendix G.1 |
| rollout | 每条 50,000 步;Qwen/Gemma 100 条,frontier 模型 20–50 条 | Appendix G.1 |
| 轮复杂度 K | §3.1 固定 K=1;§3.3 二分搜索最大 K | §3.1 / §3.3 |
| 单轮成功阈值 | 准确率 ≥80% | §3.3 |
| 输出格式 | <answer> 标签内给整数;few-shot 示例固定格式 | Appendix G.2 |
| CoT / thinking token 上限 | 10,000 / 32,000 | Appendix G.4 |
| 采样 | Gemma 与 Qwen thinking:temperature 0.6,top-p 0.95;Qwen non-thinking:temperature 0.7,top-p 0.8 | Appendix G.4 |
| 计算 | 4× NVIDIA A100(40/80GB);frontier 模型通过 OpenRouter | Appendix G.5 |
多轮指标定义在 §2 Evaluation Metrics:task accuracy at H 要求前 H 轮全程无错;Horizon Length H0.5 是 task accuracy 首次跌破 0.5 的轮数。Appendix J 给出 Proposition 1 的推导:在独立、恒定 p、无自我纠正的假设下,task accuracy at H 为 pH。单轮指标则是「一次上下文内能连续执行多少步」的最大 K。
thinking 模型的评测有两个工程细节:其一,CoT 提示下,模型看到历史答案格式后会停止写 CoT,所以论文把 CoT trace 留在历史里,这会增加输入上下文;其二,thinking 模型的 <think> 标签内容会从历史中移除,这会减少上下文(Appendix G.3)。
论文保留 CoT trace 是权衡后的选择:代价是上下文变长,但不这样模型会忘记 CoT 指令(Appendix G.3)。
上面是多轮执行,下面是分离长上下文与 self-conditioning 的实验设计。
Pt+1)都由用户给定,模型只负责 retrieve 与 compose;自己的输出 answer 进入历史,历史中的错误会提高后续 retrieve/compose 的出错概率(红箭头),但下一轮计划不由 answer 生成。B 是反事实分支:把前 99 轮替换成指定错误率的人工历史,再测第 100 轮。
单轮版本把循环压成一次上下文:模型一次看到 K 个 key,要在同一个回答里完成 K 次 retrieve-then-compose。
论文用二分搜索找最大 K,所以这里的「步数」是单轮内的执行长度,不是多轮回合数(§3.3)。
两类能力分开看:多轮实验测「能撑多少回合」,单轮实验测「一次能走多少步」。
在 K=1 的多轮设定里,除 Gemma3-4B 和 Qwen3-4B 外,所有模型的第一步准确率都接近满分(§3.1)。这说明字典查找和单次加法不是瓶颈。
但 task accuracy 随回合数快速走低:Qwen3-32B 在 15 轮内跌破 50%(§3.1)。
更大的模型能在更高准确率上维持更多回合,Figure 4(b) 因此呈现清晰的 horizon length 规模趋势。论文没有拟合 scaling law:每个家族最多只有 4 个尺寸,作者只描述趋势,不下定律(§3.1)。
固定第 100 轮、替换前 99 轮历史:当诱导错误率 r=0 时,turn 100 准确率仍低于第 1 轮——这部分归因于长上下文;当 r 增大时,turn 100 准确率继续下降——这部分归因于 self-conditioning(§3.2, Figure 5)。
前沿非 thinking 模型(Kimi-K2、DeepSeek-V3、Qwen3-235B-Instruct-2507,均 200B+)在 healed history 上接近满分,说明长上下文退化可以被规模大幅缓解;但它们在 r 增大时仍然下降,说明 self-conditioning 没有被规模消除(§3.2)。
Qwen3 thinking 模型在 Figure 6 中表现出不同的模式:turn 100 准确率在 r 从 0% 到 100% 的变化中保持稳定(§3.2)。
论文给出两个可能原因:RL 训练降低了「续写上下文」的倾向;以及先前回合的 thinking trace 被移除,模型在新回合独立思考(§3.2)。
这不是说所有 CoT 都有效。Appendix I 的 CoT 实验仍观察到 self-conditioning;Appendix C.1 的 turn-wise self-verification 只带来混合结果,并明显增加每轮 token、提前耗尽上下文;Appendix C.2 的滑动窗口能缓解,但依赖任务的马尔可夫性质;Appendix D 的并行 majority voting 只带来边际改善。
§3.3 用二分搜索找最大 K,要求该 K 下准确率 ≥80%。Figure 7(a) 的无 CoT 组里,最大执行步数是 2–6 步;Figure 7(b) 的 thinking / CoT 组里,范围从 72 步到 2176 步。
§3.3 / Figure 7 · 单轮最大执行步数(按图中标注转录)
| 设定 | 模型 | 最大单轮步数 K |
|---|---|---|
| 无 CoT | Qwen3-32B | 2 |
| 无 CoT | Gemma3-27B | 2 |
| 无 CoT | DeepSeek-V3 | 4 |
| 无 CoT | Kimi-K2 | 6 |
| Thinking / CoT | Kimi-K2 | 72 |
| Thinking / CoT | Qwen3-235B-A22B | 80 |
| Thinking / CoT | DeepSeek-V3 | 112 |
| Thinking / CoT | Gemini-2.5-Pro | 120 |
| Thinking / CoT | DeepSeek-R1 | 120 |
| Thinking / CoT | Qwen3-Next | 352 |
| Thinking / CoT | Grok-4 | 384 |
| Thinking / CoT | Claude-4-Sonnet | 432 |
| Thinking / CoT | GPT-5 | 2176 |
每个数都是二分搜索得到的最大 K,要求该 K 下准确率 ≥80%;同一模型在两组的数值不能相加。
log10(K+1) 归一化,数字是原始 K;同一条对数刻度下,两组可直接比较长度。
在同样单轮、≥80% 的条件下,GPT-5 的 2176 步是 DeepSeek-V3 无 CoT 4 步的 544 倍,是 Claude-4 Sonnet 432 步的 5.04 倍,是 Gemini-2.5 Pro / DeepSeek-R1 120 步的 18.1 倍。 论文还指出,Qwen3-Next 把 Gated DeltaNet 与标准注意力混合,以 352 步高于一些更大的纯注意力模型,提示架构会影响长程执行(§3.3)。
Appendix A 人工分析 AgentErrorBench 的失败轨迹,估计 20% 的 GAIA、48% 的 ALFWorld、33% 的 WebShop 失败与 self-conditioning 相似。
错误类别包括 inefficient_plan(计划因先前错误变得过长或不合逻辑)、progress_misjudge(基于自己的先前输出误判进度)、causal_misattribution(正确发现失败但归因错误)。
ALFWorld 与 GAIA 的估计相差 28 个百分点(48 − 20)。作者也说明,这些任务里「哪一步算错」带主观性,难以做定量控制;这正是他们需要合成任务的原因(Appendix A)。
论文自己的 Limitations 已经划出三条边界:任务、可并行性、指标定义。
字典求和没有真实 agent 的动作空间、副作用和多种正确计划。论文的原话是:“Improvement on our task is necessary, but not sufficient for long-horizon execution on real-world tasks.”(§5 Limitations)
把一列数相加属于 TC0,transformer 可以用常数深度完成(Appendix B)。作者补了一个 2×2 矩阵连乘任务(一般属于 TC1),趋势相同;它仍是合成任务,用来补上单轮设定可并行性的缺口(Appendix B)。
task accuracy 要求前 H 轮全程无错;中途犯错即使后来改对也记为失败,因此不奖励自我纠正。论文的分析假设无自我纠正;真实任务里如果错误可撤销、可重试,结论可能不同(§5 Limitations)。
还有两条覆盖范围的限制。规模分析只覆盖 Qwen3 和 Gemma3 两个家族,每个家族最多 4 个尺寸;前沿模型通过 API 评测,rollout 数为 20–50,受成本限制(Appendix G.1)。 论文没有给出 scaling law,只描述趋势。真实 agent 的 self-conditioning 比例来自人工标注,步骤正确性带主观性(Appendix A)。
什么时候别用这套测量:如果你想测的是规划、知识或工具选择,这个任务会把它们拿掉;如果任务有副作用、允许多种正确计划、或错误可以撤销,这个任务的成功率不能直接外推。 推断(依据 §2.2 的任务设计与 §5 Limitations:论文只声称该任务是真实长程执行的必要条件)。
一句话:论文测的是执行这一层。它不能替代真实 agent 基准,但给出了一个可程序化生成、可复现的必要条件下界;在这个下界上,规模与 sequential test-time compute 的收益都能被单独看见。