The Illusion of Thinking: Understanding the Strengths and Limitations of Reasoning Models via the Lens of Problem Complexity
1. Motivation (研究动机)
这篇论文要解决的不是“某个模型在某个数学榜单上多拿几分”的问题,而是更基础的评估问题:Large Reasoning Models(LRMs)通过较长的 thinking / Chain-of-Thought 在很多 benchmark 上看起来更会推理,但这些改进究竟来自可泛化的问题求解能力,还是来自 benchmark 记忆、训练分布覆盖、格式化搜索、以及最终答案评分掩盖的过程性错误?作者认为,当前主流评测至少有三个盲点。第一,MATH、AIME、coding benchmark 等数据已经成为预训练和后训练生态的一部分,污染风险高;即使模型答对,也很难知道它是在现场推导还是调用了相似题型的模式。第二,许多评测只看 final answer accuracy,不检查中间推理轨迹是否真的保持约束、是否能自我纠错、是否在临界复杂度后仍然有效使用 token budget。第三,benchmark 的“难度”往往不是可控变量:AIME24、AIME25、MATH500 之间的差异混合了题型、发布时间、训练污染和人类难度,不能像科学实验那样只改变一个复杂度参数。
作者选择用“问题复杂度”作为透镜,是因为 LRMs 最常被宣传的优势正是:当问题需要多步组合、计划和校验时,模型可以先生成长思考,再给出答案。如果这个机制是真正的算法式推理,那么在规则明确、状态可机械验证、复杂度可连续增加的任务中,thinking 模型应当随着复杂度增加而投入更多有效计算,并且至少能在给定算法或充分 token budget 时稳定执行步骤。论文的核心动机就是把这个假设拆开验证:不仅问“最后答案对不对”,还问“模型在思考过程中找到过正确解吗、找到后是否保持、错误发生在第几步、为什么越难时反而想得更少”。

Figure 1 解读:这张总览图把论文的评测逻辑讲清楚。上半部分强调作者不是只判最终答案,而是用 puzzle simulator 同时检查 final solution 和 intermediate reasoning traces;下半部分概括三类现象:低复杂度时 non-thinking 模型更省 token 且常常更准,中等复杂度时 thinking 带来优势,高复杂度时两类模型都崩溃;更反直觉的是,接近崩溃点后 LRMs 的 thinking tokens 不是继续上升,而是下降。右侧还展示了“正确答案在思考轨迹中的位置”:模型经常早早找到正确解,但后来继续探索并偏离,这就是论文所谓 overthinking / limited self-correction 的核心证据之一。
这个问题值得研究,是因为 LRMs 正在被用于需要可靠多步推理的场景:代码、规划、工具调用、科学发现、数学证明、工作流自动化。如果模型的长思考只是让中等难度问题更稳,却在高复杂度时出现近零准确率、早期错误固化、无法执行显式算法,那么部署者不能简单地把“开更高 reasoning effort / 给更多 token”当成可靠补救。论文因此把“思考是否有效”从一个主观解释问题转成了可控实验问题:同一规则、同一 simulator、同一复杂度参数 ,比较 thinking 与 non-thinking 的准确率、pass@k、token 消耗、first failure move 和思考轨迹位置。
这篇论文还回应了一个常见误读:作者并不是说所有 LRM 能力都是假的,也不是否认 thinking 在中等复杂度任务上有用。它更精确的论点是:现有 LRMs 的 thinking 机制有明显的复杂度依赖边界。它们可以在某些区间提供优势,但这种优势不像算法那样可组合地外推;当任务超过临界复杂度,模型不只是“慢慢变差”,而是出现 collapse,并伴随 reasoning effort 的反向下降。这种现象使得“看起来在想”与“能够稳定执行可验证推理”之间出现了裂缝,也解释了标题中的 illusion:幻觉不在于模型没有任何推理行为,而在于我们容易把长文本 thinking 误读为可扩展的算法式能力。
2. Idea (核心思想)
核心思想可以概括为:用可程序化生成、可精确验证、复杂度可控的 puzzle environments,替代只看最终分数的传统数学/代码 benchmark,从而把 LRM 的推理能力拆解成 final accuracy、inference compute、intermediate solution dynamics 和 failure localization。真正新颖的地方不是提出一个新模型,而是提出一个更像“复杂度扫描实验”的评估框架:保持逻辑规则不变,只改变 ,观察 thinking 模型与同 backbone non-thinking 模型在不同复杂度区间的行为转变。
与常规 benchmark evaluation 的根本差异在于,传统评测通常只给一组题目和一个最终正确率;即使比较不同 token budget,也难以知道模型是否在过程中自我纠错。本文的 controlled puzzles 允许作者构造一条复杂度轴,并用 simulator 逐步执行模型输出的 moves。因此每个回答都能被拆成:格式是否可解析、每一步是否满足规则、最终状态是否达到目标、第一次失败发生在哪一步、思考轨迹中是否出现过正确或错误的中间 solution、这些 solution 位于 thought 的前段还是后段。这个设计让“reasoning”从自然语言解释变成了可检验的状态转移过程。
Figure 3 解读:四个 puzzle 分别覆盖不同的组合结构。Tower of Hanoi 强调递归式迁移和指数级最短步数;Checker Jumping 是一维 token 交换,规则简单但步数随 checker 数量增长;River Crossing 是约束满足式 planning,关键在于 actor 与 agent 的安全约束;Blocks World 是经典 block-stacking rearrangement。图中每列从 initial state 到 middle state 再到 target state,说明这些任务都可由一系列离散 moves 表示,因此可以用 simulator 精确执行与验证。
这篇论文的创新不是“拼图任务很难”,而是把拼图任务用作复杂度显微镜。以 Tower of Hanoi 为例, 个 disks 的最短步数是 ,但论文并不要求模型输出最优解,而是检查每个 move 是否合法以及是否到达目标。Checker Jumping 中有 个 checkers 和一个 empty space,最短步数为 。River Crossing 用 个 actors 和 个 agents,以及容量为 的 boat,要求所有 个个体过河且不能出现 actor 被非对应 agent 单独威胁的状态;论文对 使用 ,更大 使用 。Blocks World 则改变 blocks 数量,要求把 initial stack configuration 重排到 goal configuration,只能移动每个 stack 顶部的 block。这些任务的共同点是:规则可在 prompt 中完整给出,状态空间复杂度可调,输出可被程序逐步验证。
因此,论文的核心洞察有两层。第一层是性能层:thinking 并非单调有益,而是出现 low / mid / high 三个 regime。第二层是机制层:当复杂度上升时,LRMs 的失败不只是最终答案错,而是思考轨迹中的搜索、校验和纠错都发生结构性变化。低复杂度时它们常常先找到正确答案又继续想歪;中等复杂度时正确解往往在较晚阶段出现,说明 thinking 有时确实承担探索作用;高复杂度时模型会在早期错误上固着,即使后续还有 token budget,也难以恢复。这个机制解释比单一 accuracy 曲线更重要,因为它告诉我们“长思考”的收益来自哪里、边界在哪里。
3. Method (方法)
3.1 整体评测框架
论文的方法可以看成一个五步评测管线:生成一组复杂度为 的 puzzle instance;用标准化 prompt 要求模型输出 moves 和 reasoning;从 final answer 与 thinking trace 中抽取候选 solution;用对应 puzzle simulator 逐步执行 moves;最后汇总 accuracy、pass@k、thinking tokens、intermediate solution position、first failure move 等指标。这个框架的关键约束是“同一逻辑结构、不同复杂度”:作者不希望比较不同题型造成混杂,而是希望看到同一任务随着 增加时,模型能力在哪里发生相变。
方法上的直觉是:如果 LRM 的 thinking 真正实现了可扩展的搜索与校验,那么随着 增加,模型应该至少表现出两种迹象。其一,它会在更难问题上使用更多 reasoning effort,直到接近上下文或生成上限;其二,如果给出显式算法,它应该能把“发现策略”的难题降级为“执行步骤”的任务,从而延后崩溃。但论文观察到相反现象:许多模型在临界点后 token 使用反而下降;即使提供 Tower of Hanoi 和 Checker Jumping 的算法,崩溃点也大致不变。这说明当前 thinking 不等价于稳定的符号执行器,也不等价于可任意外推的搜索程序。
3.2 Puzzle simulator 与复杂度参数
四个环境都被设计成可由 simulator 接收 move list 并执行。Tower of Hanoi 的状态由三个 pegs 上的 ordered disks 表示,合法 move 必须取某个 peg 顶部 disk,并且不能把大 disk 放到小 disk 上。Checker Jumping 的状态是一条包含 red checkers、blue checkers 和空位的线,move 要么滑入相邻空位,要么跳过一个相反颜色 checker 到空位,且 checker 不能后退。River Crossing 的状态包含左右岸人员和 boat 位置,move 必须满足 boat 容量、非空航行以及 actor-agent 保护约束。Blocks World 的状态是若干 stack,合法 move 只能移动某个 stack 顶部 block 到空 stack 或另一个 block 顶部。
这种 simulator 设计有两个重要好处。第一,它能把最终正确率拆成更细的错误定位:模型可能输出了格式正确但第 3 步非法的 move,也可能所有 move 合法但最终状态不对;这些错误在普通 benchmark 中都会被压缩成一个 0。第二,它能分析 intermediate traces:如果模型在 thinking 中列出过多个候选 move sequences,评测器可以记录每个 unique solution 的 token position、correctness 和 failure move。论文特别强调 token position 用同一 tokenizer(cl100k_base)计数,并归一化到 thought length,从而可以比较不同样本中“正确解出现得早还是晚”。
3.3 模型比较与等价 inference compute
主要实验比较 reasoning / non-reasoning 的 matched pairs:Claude 3.7 Sonnet with extended thinking 对 Claude 3.7 Sonnet without thinking,DeepSeek-R1 对 DeepSeek-V3。因为这些模型能提供 thinking traces,作者可以分析中间推理过程。对于只关注 final accuracy 的实验,还加入 OpenAI o3-mini;扩展实验还包含 DeepSeek-R1-Distill-Qwen-32B,以及 QwQ-32B 对 Qwen2.5-32B 的 backbone pair。Claude 3.7 Sonnet 的生成预算设为 64k tokens;DeepSeek-R1/V3 在 local servers 上最大生成长度也设为 64k tokens;API run 默认 temperature 为 1.0,DeepSeek 本地实验 temperature 也设为 1.0。每个 puzzle instance 与 complexity level 对每个模型分析 25 samples,并过滤掉不符合指定 response format 的样本,例如没有按要求给出 move sequence 或 reasoning steps。
等价 compute 比较是论文避免“thinking 模型只是拿了更多 token”的关键。作者不仅比较 raw accuracy,还看 pass@k 与相同 inference token budget 下的表现。这样可以区分两种解释:如果 non-thinking 模型在同等 token 预算下通过采样多次也能达到类似效果,那么 thinking 的优势可能只是 token 分配方式;如果 thinking 在中等复杂度仍有优势,说明长 CoT 在该区间确实提供了某种搜索或自我修正能力。论文最终发现两者都成立:数学 benchmark 上 matched compute 的差异并不一致;controlled puzzles 上则出现三阶段行为。
3.4 Solution extraction、evaluation 与 trace analysis
论文的 extraction pipeline 先用 regex-based extractors 在 final response 和 thinking trace 中寻找候选解,既包括显式 moves = 模式,也包括 bracket-based solution。抽取后会清理候选序列,例如移除 # 后的注释、归一化 move format、过滤结构不合法的 matches。对 thinking trace 中的候选解,系统还记录 token position,并把位置除以总 thought length 得到 normalized position。重复的 move sequence 会去重,只保留第一次出现的位置,以免一个模型反复抄写同一答案造成统计偏差。
Evaluation 阶段则把每个 candidate solution 交给对应 puzzle simulator。Simulator 按前序 moves 和 puzzle rules 顺序执行每一步,最后比较 resulting state 与 goal state。如果 solution 不正确,系统还收集 first failure move 和 failure type。这一点非常重要,因为它让作者能区分“模型已经走了很长一段正确路径后出错”和“模型一开始就走错但继续编下去”。后者是高复杂度 collapse 中很常见的模式:模型可能输出很长的 thinking,但第一处不可恢复错误发生得很早。
3.5 论文描述级伪代码(非官方实现)
代码搜索状态:代码搜索未找到开源实现。已检查 arXiv / Apple Machine Learning Research 页面、作者主页链接、Web 搜索 The Illusion of Thinking github、2506.06941 code、Parshin Shojaee Illusion of Thinking GitHub,以及 GitHub repo/code search。搜索结果只发现第三方讲解、复现或反驳仓库,例如 taisazero/illusion_of_thinking、aygp-dr/illusion-of-thinking、attilammagyar/illusion-of-thinking-collapse,未发现 Apple / 作者发布的官方实验代码或数据仓库。因此下面伪代码只反映论文方法描述,不是 source-code-grounded implementation,也不设置 github_ref。
def evaluate_model_on_puzzles(model, puzzle_family, complexity_values, samples_per_level=25):
rows = []
for N in complexity_values:
instances = generate_puzzle_instances(puzzle_family, N)
for instance in instances:
prompt = render_prompt_with_rules_and_output_format(instance)
for sample_id in range(samples_per_level):
response = model.generate(prompt, max_tokens=64000, temperature=1.0)
final_candidates = extract_move_sequences(response.final_answer)
thought_candidates = extract_move_sequences(response.thinking_trace)
final_eval = [simulate_and_score(puzzle_family, instance, c) for c in final_candidates]
thought_eval = []
for cand in deduplicate(thought_candidates):
pos = normalized_token_position(cand, response.thinking_trace, tokenizer="cl100k_base")
score = simulate_and_score(puzzle_family, instance, cand)
thought_eval.append({"position": pos, "score": score})
rows.append(aggregate_metrics(N, sample_id, final_eval, thought_eval, response.token_usage))
return summarize_by_complexity(rows)3.6 Figures 与方法阅读重点
Figure 4 解读:pass@k 图用于比较 thinking 与 non-thinking 在相近 inference compute 下的上界能力。它支持论文的三阶段叙事:低复杂度区域 non-thinking 已足够好,thinking 反而可能更低效;中等复杂度区域 thinking 的多步探索产生优势;高复杂度区域二者一起接近崩溃。pass@k 的意义在于,它不是只看单次输出,而是问“如果给同等采样/计算机会,模型家族能否找到正确解”,因此更能区分 token budget 与推理机制本身。
Figure 5 解读:accuracy 图把三阶段现象展开到四个 puzzle environments。它说明 collapse 不是某个单一任务的偶然,而是在 Tower of Hanoi、Checker Jumping、River Crossing、Blocks World 中都能看到。注意这里的复杂度轴 在不同任务中的含义不同,因此不能直接把不同 puzzle 的 当作同一计算复杂度;作者也承认主观 complexity 与实际 computational complexity 不完全一致,但每个任务内部的复杂度扫描仍然有效。
4. Experimental Setup (实验设置)
4.1 数据集 / 任务规模
本文没有使用传统固定数据集,而是使用程序化 puzzle environments 作为 evaluation testbed。四类任务分别是 Tower of Hanoi、Checker Jumping、River Crossing、Blocks World。每类任务通过复杂度参数 生成不同 instance:Tower of Hanoi 的 是 disk count,Checker Jumping 的 对应每种颜色 checker 的数量,River Crossing 的 是 actor-agent pair 数量,Blocks World 的 是 blocks 数量。每个 puzzle instance 和 complexity level 对每个模型报告 25 samples;样本需要满足指定输出格式,包含 move sequence 和 reasoning steps,否则会被 filtering process 排除。
数学 benchmark 只作为动机性对比。作者比较 MATH500、AIME24、AIME25 上 thinking 与 non-thinking 的 matched model variants,发现 MATH500 上同等 token budget 下 thinking / non-thinking 差距较小,但 AIME24 差距扩大,AIME25 更大。作者没有把这个现象直接解释为“题更难”,因为 AIME25 的人类表现反而高于 AIME24;这促使他们转向 controllable puzzles,以避免数据污染和复杂度不可控的混杂。
4.2 Baselines / 模型
主要比较对象包括:Claude 3.7 Sonnet with extended thinking vs Claude 3.7 Sonnet without thinking;DeepSeek-R1 vs DeepSeek-V3;用于 final accuracy 的 o3-mini medium / high variants;扩展实验中的 DeepSeek-R1-Distill-Qwen-32B;以及 QwQ-32B vs Qwen2.5-32B。选择 Claude 与 DeepSeek pairs 的原因是作者能访问 thinking traces,从而分析中间解的出现位置和正确性。OpenAI o-series 等模型因为不一定暴露完整思考轨迹,主要用于最终准确率和 token effort 的比较。
4.3 指标
核心指标包括四类。第一是 final task accuracy,即最终 move sequence 是否经过 simulator 验证到达目标状态。第二是 pass@k,用于衡量在等价 inference compute 或多次采样情况下模型找到正确解的上界。第三是 reasoning effort,主要用 thinking token count / inference token usage 表示,关注它是否随着复杂度单调增加。第四是 trace-level metrics:unique intermediate solutions 的 normalized position、correctness、first failure move 和 failure type。Figure 7 的中间轨迹分析主要聚焦 Claude-3.7-Sonnet-Thinking,因为它提供可分析的 reasoning traces。
4.4 生成与硬件 / 配置
Claude 3.7 Sonnet with / without extended thinking 通过 API 访问,最大 generation budget 为 64,000 tokens,temperature 使用 API 默认 1.0。DeepSeek-R1、DeepSeek-V3、DeepSeek-R1-Distill-Qwen-32B 在 local servers 上运行,最大 generation length 也是 64,000 tokens,temperature 设为 1.0。论文没有详细说明 GPU 型号、GPU 数量、推理 serving 配置或具体硬件吞吐,因此这些 reproducibility 细节应记为“论文未详细说明”。
4.5 Prompt 与 algorithm-guided execution
除了 open-ended problem solving,作者还做了 prescribed algorithm 实验:把 Tower of Hanoi 与 Checker Jumping 的显式求解算法附加到标准 prompt 中,让模型不需要自己发明策略,只需要执行算法步骤。这个设计用于区分“策略发现失败”和“步骤执行 / logical verification 失败”。如果模型只是不会想出算法,给算法应显著提高表现;但论文发现 collapse 仍然出现在大致相同的复杂度点,说明瓶颈还包括精确执行和逐步验证。
5. Experimental Results (实验结果)
5.1 数学 benchmark 的动机性观察
在 MATH500、AIME24、AIME25 上,thinking 与 non-thinking 的比较呈现不一致模式。MATH500 中,在等价 inference token budget 下,thinking models 的 pass@k 与 non-thinking counterparts 大致可比;AIME24 上 gap 略微扩大;AIME25 上 gap 进一步扩大。作者指出,这个结果有两种解释:一是 AIME25 更需要复杂 reasoning,因此 thinking 模型显示出真实优势;二是 AIME25 更新、更少被训练数据污染,所以 non-thinking 的记忆式优势下降。由于人类在 AIME25 上反而比 AIME24 表现更高,作者认为不能简单把 AIME25 解释为更复杂。因此,数学 benchmark 不能提供足够干净的复杂度轴。
5.2 三个 complexity regimes
controlled puzzles 的主结果是三个阶段。低复杂度阶段,standard non-thinking LLMs 往往更准确或同样准确,同时更 token-efficient;这说明对简单组合任务,长 thinking 可能引入额外搜索噪声,甚至 overthinking。中等复杂度阶段,LRMs 的长思考开始带来优势,Claude thinking、DeepSeek-R1 等相对 non-thinking counterpart 取得更好 accuracy / pass@k,说明 RL-enabled long CoT 不是完全无用。高复杂度阶段,二者都出现 complete collapse,准确率接近零;这不是平滑下降,而是超过模型特定阈值后快速失效。
Figure 6 解读:这张图同时画 accuracy 与 thinking tokens,是全文最关键的证据之一。随着 上升,模型准确率逐渐下降直至崩溃;与此同时,thinking tokens 起初随复杂度上升,但接近临界点后反而下降。这个下降发生在 64k generation budget 仍然足够的情况下,因此不能简单归因于上下文长度耗尽。论文指出该现象在 o3-mini variants 上最明显,在 Claude-3.7-Sonnet thinking 上较弱但仍存在。
这个结果直接挑战“多给 token / 提高 reasoning effort 就能解决复杂任务”的直觉。如果模型有可扩展的 internal search,应当在更难时至少尝试更多步骤;但它们在最需要计算时减少了思考。这可能意味着当前 LRM 的 token allocation policy 学到的是某种训练分布内的启发式,而不是根据真实组合复杂度自适应扩展的算法。
5.3 思考轨迹内部:overthinking、late correction 与 fixation

Figure 7 解读:左侧展示 intermediate solutions 在 thought 中的位置和正确性,右侧以 Tower of Hanoi 为例展示不同复杂度下 thinking progression 的准确率变化。低复杂度时,模型常常早期就找到正确解,但后续继续探索导致正确率下降或振荡,这就是 overthinking。中等复杂度时,正确解更多出现在思考后段,说明长 thinking 确实帮助模型从错误路径中恢复。高复杂度时,模型几乎不再恢复正确解,而是早早固定在错误 solution 上,后续 token 只是延续错误。
这一节是论文比普通 benchmark 更有价值的部分,因为它揭示了 final answer 背后的过程差异。两个样本最终都错时,一个可能从未接近正确解,另一个可能中途找到正确解但没有保留;这两者对模型改进的启示完全不同。论文的结论是,现有 LRMs 有有限的 self-correction:它在中等复杂度有用,但在低复杂度可能浪费,在高复杂度不足以突破早期错误。
5.4 给出显式算法仍然不能解决 collapse

Figure 8 解读:作者在 Tower of Hanoi 和 Checker Jumping 中把求解算法直接给到模型,理论上把任务从“发明策略”降级为“按步骤执行”。如果 LRM 的主要瓶颈是找不到算法,显式算法应显著延后崩溃;但图中显示默认求解与 algorithm-guided execution 在相近复杂度处失败。这个结果说明模型的问题不只是 planning search,也包括 exact computation、symbolic manipulation、逐步 rule following 和 verification。
这也是标题“illusion”的重要证据:模型能用自然语言复述递归算法,并不代表它能在长序列中无误执行该算法。尤其 Tower of Hanoi 的递归规则非常简单,互联网上也有大量实现;但当 增加,模型仍然无法可靠维持合法 move sequence。对实际应用而言,这意味着“把算法写进 prompt”并不一定让 LRM 变成可靠执行器;还需要外部工具、程序验证器、search controller 或状态机约束。
5.5 Failure move 与 compositional depth
论文进一步分析 first failure move,发现错误通常发生得远早于最终所需 move 数。作者在结论中给出一个醒目的对比:模型在 Tower of Hanoi 中可以执行多达约 100 个正确 moves,但在 River Crossing 中可能只到 4 个 error-free moves。这说明 failure 不只是序列长度问题,也与问题表示、约束类型和状态更新形式有关。Tower of Hanoi 虽然最短步数指数增长,但局部规则明确、递归结构常见;River Crossing 的安全约束更依赖全局状态一致性,模型更容易在早期违反约束。
Figure 9 解读:failure distribution 图展示不同 puzzle 和模型的第一处失败位置。它支持一个关键观点:高复杂度 collapse 并不是因为模型“差一点做完”,而是经常在早期就偏离合法轨迹。后续长 thinking 可能只是让错误输出更长、更像推理,而不是修正状态。
5.6 附录扩展:QwQ / sampling ablation
扩展实验用 QwQ-32B vs Qwen2.5-32B 验证三阶段行为的普遍性。论文报告 QwQ-32B 的 collapse points 大约出现在 Tower of Hanoi 、Checker Jumping 、Blocks World 、River Crossing ;同时也观察到接近或超过 collapse point 后 token count 下降。这说明现象不只属于 Claude 或 DeepSeek pair。

Figure 13 解读:sampling ablation 用 DeepSeek-R1 比较 temperature=0 的 greedy generation 与默认 sampling。结果显示去掉 sampling 并不能消除 collapse:失败大致仍在相同复杂度附近发生。论文给出两个具体数值:Tower of Hanoi 中,temperature=0 的 R1 在 collapse,而 sampling 在 仍有 18.2% accuracy,并把 collapse 延后到 ;Blocks World 中,temperature=0 在 collapse,而 sampling 在 仍有 44.1% accuracy,并延后到 。因此 collapse 不能简单归咎于 stochastic decoding;sampling 有时反而略微延后 collapse。
5.7 结论、局限与实践含义
综合来看,论文证明了一个更细粒度的结论:LRMs 的 thinking 机制在中等复杂度区间有实际收益,但它不是可无限外推的算法推理。低复杂度时,它可能引起 overthinking;高复杂度时,它会出现 accuracy collapse、reasoning effort 下降、早期错误固化、显式算法无法救回等现象。对评测范式而言,这说明只看 final answer accuracy 会误导我们:一个模型可能答对但过程低效,也可能答错但中途找到过正确解,还可能消耗大量 token 却没有任何有效校验。
局限也需要明确。第一,puzzle environments 虽然干净可控,但不等价于所有真实任务;真实代码和科学问题有工具、外部记忆、交互式执行和更丰富反馈。第二,论文未开源官方代码与数据,复现者需要自己实现 simulators、prompts、filtering 和 trace extraction,细节差异可能影响曲线。第三,每个 instance / complexity level 的 25 samples 提供了趋势,但对临界点附近的统计稳定性仍可能有限。第四,不同模型暴露 thinking traces 的程度不同,o-series 等模型只能做较有限的过程分析。第五,prompt 格式过滤可能排除一部分自然但不合格式的答案,因此评测的是“在指定输出协议下的可验证 move reasoning”。
实践启示是:如果要把 LRMs 用在高可靠多步任务中,应避免单纯依赖更长 CoT。更稳妥的做法是把 LRM 放在可验证执行框架中:让模型提出候选步骤,但用程序 simulator、unit tests、symbolic checker、state machine 或 tool feedback 逐步校验;在错误早期发生时立刻回滚,而不是让模型继续生成长篇自我解释。本文最有价值的贡献正是把“看起来会思考”拆成可测量的过程指标,迫使我们区分中等复杂度的 reasoning benefit 与高复杂度下的 scaling limit。