# 谈谈推理模型的局限 (April 21, 2025)

想象一下，现在有一位**拿着纸笔**的小学生和一个大学牲，站在 LLM（**L**ots-of **L**earning **M**ankind） Evaluation 的舞台上。

> 第一题，背诵快速矩阵运算 [Strassen algorithm](https://en.wikipedia.org/wiki/Strassen_algorithm) 的时间复杂度
>

小学生学过奥数，知道矩阵乘法是什么，推理说，矩阵乘法乘 n² 次，加 n 次，那时间复杂度就是 O(n³)

大学生学计算机的，背出了正确答案 O(N^{log₂(7)}) ≈ O(N^2.8074)

> 第二题，以下是两个 10×10 的矩阵，请手算其点积 ……
>

小学生拿起笔就一行行算了起来，写了几张纸，最后给出了正确答案

大学牲只能心算，奈何 Attention 不够，最后只好放弃，说“对不起，我不能帮你计算矩阵乘法，您可以使用 numpy 进行计算，首先如果没有安装 numpy，先在终端中输入 `pip install numpy`……”

---

上面是引入 🤣 但大概就是这个意思。

三月下旬，Anthropic 的 AI 心理学文章 [Tracing the thoughts of a large language model](https://www.anthropic.com/research/tracing-thoughts-language-model) 出来之后，大家开始反思推理模型（reasoning models）的推理内容，是否真的有用

从 benchmark 上看是非常有用的，小的推理模型能比大得多的非推理模型提高数倍的分数。加上震惊世界的 R1 告诉大家训练推理模型只要 RL 就可以了，大家对 test-time scaling 的热情一直高居不下。

[QwQ 32b](https://huggingface.co/Qwen/QwQ-32B) 自称在多项任务上超越 R1，我也很心动。但是使用下来看，其实差远了。但当时只觉得很费解，还没能解，就先把这个问题搁置了

几天前收到 GitHub Copilot 收到一封广告邮件 [Which AI model should I use with GitHub Copilot](https://github.blog/ai-and-ml/github-copilot/which-ai-model-should-i-use-with-github-copilot/)，就又开始思考这个问题。回想起前段时间 Grok 3 终于上 API 了，文档里提到：

> [**When to Use Reasoning**](https://docs.x.ai/docs/guides/reasoning#reasoning)
>
> Use `grok-3-mini` for tasks that can benefit from logical reasoning (such as meeting scheduling or math problems). Also great for tasks that don't require deep domain knowledge about a specific subject (eg basic customer support bot).
>
> Use `grok-3` for queries requiring **deep domain expertise** or **world knowledge** (eg healthcare, legal, finance).
>

忽然想通了。推理模型增强模型能力的方法，其中真正提高模型表现的部分，直白来说就是 **按格式打草稿**。举例来说，

+ 乘法计算的时候，列竖式就是按格式打草稿
+ 做遗传题的时候，把每个亲本和子代的基因型一个个推出来就是按格式打草稿
+ 高中数学导数题，有的题要靠逆向去凑的，这种就要猜，然后去否定各种可能性来得到答案，这些猜的 hypotheses 就是草稿
+ 做编程算法题的时候，确定有哪些状态，每一步状态之间怎么转换，这就是打草稿

推理模型在 `<think>` 的时候，真正有用的部分就是这个过程。所谓 强制模型说“Wait, ...”就能提高性能 的奇技淫巧，也就是“验算”。本质上跟上面的这几个例子是一个道理。

这种需要形式化多步推理的东西，是模型本身能力再强也只是背题。看我博客的人应该至少都上过高中，知道背题是没用的。有用的是学会什么题要用什么“格式化草稿”来推。**所以高中老师经常说高考靠努力，就是因为这不管你是 671b 基座的 **[**DeepSeek R1**](https://huggingface.co/deepseek-ai/DeepSeek-R1)** 还是 9b 基座的 **[**GLM Z1**](https://huggingface.co/THUDM/GLM-Z1-9B-0414)**，只要你愿意学怎么打草稿，你们就都在同一个起跑线上**

<img src="/nlark/yuque/0/2025/png/26070246/1745235825966-111d3852-c353-469e-94a2-a4d15e6ddda4.png" width="820" title="" crop="0,0,1,1" id="ue46a3bda" class="ne-image">

Grok 3 系列 有一个便宜 30 倍的小的版本，更快、更便宜、更会做题。这就是小学生。小学生固然有用，**但大家不能只吹小学生分多高，也要看到小学生不擅长做什么。**

现在看来，小学生尤其擅长做 逻辑题、数学题、编程 这些方面，但我觉得其实还是少的。很多别的场景，其实也可以“打草稿”，但是现在模型并没有学会这些草稿。我认为这些草稿很关键。

---

一些进一步的猜测：

R1 论文里说，他们去 RL 的时候就用了 答案正确与否、CoT 长度 这两个 reward 函数。按照我上面的比喻来看，推理内容（也就是草稿）是否**按格式**，是一个更好的 reward。但恐怕我这两个月没那么多时间自己推进这些了（我有毕设和比赛，还有各种活😭）