给自己写笔记的AI:当小模型从自己的错题里提炼经验手册竟能媲美老师提炼的
给自己写笔记的AI:当小模型从自己的错题里提炼"经验手册"竟能媲美老师提炼的
一个关于"学习如何学习"的实验
你做错了一道数学题。老师走过来,帮你分析:"这道题你卡在三角换元上,下次看到根号下二次式,先想想能不能换元。"你把这条经验记在错题本上。下次遇到类似的题,你翻看错题本,果然用上了。
这是人类学习的经典模式:从失败中提炼抽象经验,存进可检索的记忆,在未来类似场景里调用。心理学家管这叫"经验抽象"(experiential abstraction),Polya在1945年的《怎样解题》里就讨论过这种认知工具。
现在问一个有意思的问题:大语言模型能不能也这么干?
不是让一个强模型(老师)帮小模型(学生)提炼经验——这是传统的知识蒸馏。而是让小模型从自己的解题轨迹里自己给自己提炼经验笔记,然后在未来遇到类似题时检索出来用。
Chang Liu等人在2026年的论文(arXiv:2607.20372,代码在GitHub上)给出了肯定答案:小模型自己提炼的经验抽象,效果竟然媲美强模型(老师)提炼的。这个发现比"模型能从经验里学习"更强——它意味着小模型具备某种"元认知"能力,能从自己的推理过程中识别出可复用的策略和需要警惕的陷阱。
流程概览:从解题轨迹到经验库再到推理增强
整个pipeline分三步:
第一步:生成解题轨迹
给目标模型πθ一批训练题,让它解题(不管对错)。每道题的完整推理过程都被记录下来,形成"解题轨迹"y ~ πθ(·|q)。
第二步:从轨迹中提炼经验抽象
用一个"抽取器LLM"分析每条轨迹:
- 如果解题成功,提炼"策略抽象"(strategy abstraction)——这道题的关键思路是什么,可以复用什么。
- 如果解题失败,提炼"警示抽象"(caution abstraction)——这道题卡在哪里,下次要警惕什么。
提炼出的抽象用all-MiniLM-L6-v2编码成384维向量,用cosine相似度并查集去重(阈值0.85),策略和警示分开存储。去重后库的大小平均缩减30%。
第三步:两种使用模式
抽象库可以通过两种方式使用:
模式一:推理时检索。给一道测试题,用cosine相似度从库里检索top-k(k=6)条最相关的抽象,插入到prompt的块里,放在问题之后。模型带着这些"笔记"解题。
模式二:抽象增强的GRPO训练。在GRPO(Group Relative Policy Optimization)训练时,训练prompt里也插入检索到的抽象。模型在训练过程中学会利用这些抽象来改进自己的推理。
两种模式可以叠加:先训练抽象增强的checkpoint,再在测试时也检索抽象。
核心结果:自己提炼的笔记和老师提炼的一样好
论文的主表(Table 1)在MATH-500上对比了五种配置:
| 模型 | 抽取器 | Baseline | Inference_abs | GRPO | GRPO_train | GRPO_train+test |
|---|---|---|---|---|---|---|
| Llama-3.2-3B | Teacher | 43.11 | 46.42 | 46.89 | 49.45 | 47.65 |
| Llama-3.2-3B | Self | - | 46.30 | - | 49.07 | 47.67 |
| Qwen-2.5-1.5B | Teacher | 50.23 | 49.14 | 52.55 | 53.44 | 52.66 |
| Qwen-2.5-1.5B | Self | - | 49.44 | - | 53.77 | 52.72 |
1. 抽象增强的GRPO训练(GRPO_train)稳定提升。Llama从43.11提升到49.45(+6.34),Qwen从50.23提升到53.44(+3.21)。这是"训练时用抽象"的效果——模型在GRPO训练过程中学会了利用抽象来改进推理。
2. 自抽取媲美教师抽取。这是最震撼的结果。Llama自抽取GRPO_train=49.07,教师抽取GRPO_train=49.45,差距只有0.38。Qwen自抽取GRPO_train=53.77,甚至超过教师抽取的53.44。
这意味着小模型从自己的解题轨迹里提炼的经验,和强教师模型帮它提炼的经验,效果一样好(甚至更好)。小模型不需要一个"老师"来帮它总结错题——它自己就能总结。
3. 推理时检索(Inference_abs)单独也有效。Llama从43.11提升到46.42(+3.31),Qwen从50.23到49.14(-1.09,略降)。不训练,只在测试时给模型塞几张"小抄",对Llama有效,对Qwen效果不稳定。
4. 训练+测试叠加(GRPO_train+test)不如只训练(GRPO_train)。Llama从49.45降到47.65,Qwen从53.44降到52.66。训练时用抽象已经把抽象"内化"了,测试时再塞小抄反而干扰。
诚实对照:空白笔记的控制实验
一个关键的质疑:提升是来自抽象本身,还是来自prompt结构的变化? 也许只是因为给模型加了一个块,让它更认真地解题,和块里有没有内容无关。
论文用Table 2回答了这个质疑。三种配置对比:
| 模式 | No notes | Blank notes | + Abstractions |
|---|---|---|---|
| 推理时 | Baseline 43.11 | Inference_blank 46.02 | Inference_abs 46.42 |
| RL(GRPO) | GRPO 46.89 | GRPO_blank 48.55 | GRPO_train 49.45 |
块是空的。结果:空白笔记比无笔记有提升(prompt结构效应),但加抽象比空白笔记还有提升(抽象内容效应)。抽象的"独特优势"在两种模式下都成立。跨域迁移:数学经验能帮逻辑推理
抽象能不能跨域迁移?Table 3测了MATH-derived抽象在其他基准上的效果:
| 测试集 | Baseline | GRPO | GRPO_blank | GRPO_train |
|---|---|---|---|---|
| GSM8K(简单数学) | 54.82 | 77.34 | 81.30 | 80.48 |
| OlympiadBench(奥赛数学) | 13.91 | 16.04 | 16.36 | 17.34 |
| MuSR-MATH(逻辑推理) | 40.94 | 47.06 | 45.21 | 46.20 |
| MuSR-FOLIO(逻辑推理) | 44.58 | 44.82 | 45.54 | 45.54 |
但GSM8K(简单数学)上GRPO_train(80.48)反而不如GRPO_blank(81.30)。这指向一个重要模式:抽象帮难题,不帮简单题。
难度分层:抽象是"扰动",帮扩散的分布,害集中的分布
论文做了一个更精细的难度分层分析(Table 6)。按预注入准确率把MATH-500的题分成三个桶:
| 准确率桶 | Baseline | GRPO | GRPO_train |
|---|---|---|---|
| 0–50%(难) | +6.31 | +3.62 | +0.83 |
| 50–100%(中) | +2.46 | -5.22 | -3.61 |
| 100%(易) | -2.32 | -5.29 | -1.12 |
抽象在难题上帮,在简单题上害。而且越训练过的模型,在简单题上被害得越厉害(Baseline -2.32,GRPO -5.29,GRPO_train -1.12)。
论文给了一个精准的解释:抽象是对模型输出分布的扰动。
- 未训练的base模型输出分布比较"弥散"(diffuse),扰动能拓宽搜索范围,帮它找到正确答案。
- RL训练后的模型输出分布比较"集中"(sharpened),扰动反而把它从最优解附近推开。
跨模型迁移:经验能借给别的模型用吗?
Table 4测了Llama-3.2-3B提炼的抽象,注入到其他模型家族里:
| 目标模型 | Baseline | Inference_blank | Inference_abs |
|---|---|---|---|
| gemma-2-2B-it | 21.77 | 13.08 | 13.75 |
| gemma-3-3B-it | 44.88 | 42.02 | 40.15 |
| Phi-3.5-mini-instruct | 40.62 | 42.30 | 43.60 |
论文没有深入解释为什么Gemma受害,但从Inference_blank也大幅下降看,Gemma对prompt结构变化本身就敏感。抽象的注入改变了prompt格式,Gemma可能对这种格式变化不鲁棒。
失败模式分析:不是抽象的锅,是格式和检索的锅
Qwen在推理时检索(Inference_abs)上略降(-1.09)。论文做了精细的失败模式分析,排除了一个自然假设并确认了两个真凶。
被排除的假设:警示笔记过度约束。一个自然的想法是——检索到的"警示"(caution)笔记会过度约束Qwen的推理,抑制它的正常思路。如果真是这样,检索到越多警示的题应该降得越厉害。
但数据说相反:警示数量和降分不相关(Pearson ρ=+0.069, p=0.13),甚至检索到越多警示的题反而降得越少(Table 7)。警示不是"负约束",它不会因为"别犯X错"就让模型不敢做X。
真凶一:格式敏感。Qwen对块的格式敏感。注入抽象后,Qwen漏写\boxed{}答案的比例从3.8%升到4.6%。在Qwen降分最厉害的那道题(id 1332)上,24/32个采样样本算出了正确答案但没写\boxed{}格式,被判错(Baseline只有11/32犯这个错)。思路没错,格式错了。
真凶二:检索拟合差。有时检索到的抽象和问题相关性低,反而误导模型。论文给了一个例子:一道求"最小正整数和"的题,检索到的抽象是关于"最大公约数"的,完全不相关,模型被带偏。
这两个失败模式都不是抽象本身的锅,而是"抽象注入"这个工程实现的问题。改进检索质量、让模型对格式更鲁棒,应该能缓解这些失败。
诚实评价:局限和未解问题
论文的局限讨论很坦诚:
1. 只在数学和逻辑推理上测了。抽象对开放式生成、代码、对话的效果未知。数学推理有明确的正确答案,RL奖励清晰;其他领域奖励设计更难。 2. 设计选择固定。教师模型、句子编码器、检索top-k(k=6)、去重阈值(0.85)都是固定的,没做敏感性分析。这些超参数的影响未知。 3. 跨模型迁移有限。只在Phi-3.5上有效,Gemma上反效果。迁移性是模型特定的,不能假设"一个模型的错题本通用"。 4. 计算预算有限。RL后训练只跑了一轮,每题8个rollout。更大规模训练可能改变效果量级。 5. 简单题上的退化。抽象在已掌握的题上反而有害。实际部署时需要判断什么时候该用抽象、什么时候不该用——这个判断本身就是一个未解问题。
更深的启示:经验抽象作为"自我改进信号"
这篇论文最让我觉得有意思的不是具体数字,而是它揭示的一个深层可能性:经验抽象是一种可行的"自我改进信号"。
当前LLM的自我改进主要有两条路:
- 自我训练(self-training):模型生成数据,筛选正确的,再训练。但这是在"题"层面循环——模型从自己做对的题里学,做错的题就被丢弃了。
- 反思式方法(reflection):模型在测试时多次生成、反馈、再生成。但这是测试时计算扩展,不把经验沉淀到模型里。
这种"策略层面"的循环有两个优点:
1. 可迁移。具体题目不可迁移(做对MATH的某道题不能帮做OlympiadBench),但策略可迁移("根号下二次式先换元"这种策略跨题通用)。论文证实MATH-derived抽象在OlympiadBench和MuSR上都有效。 2. 可审计。抽象是自然语言的,人可读。你可以打开模型的"错题本"看它学到了什么策略,判断哪些是好的、哪些是误导的。这比检查模型参数变化直观得多。
自抽取媲美教师抽取这个发现还有一个更深的含义:小模型已经具备某种"元认知"能力——它能从自己的推理过程中识别出哪些是可复用的策略、哪些是需要警惕的陷阱。这种元认知不是被训练出来的(抽取器用的是instruct模型,没有专门训练),而是预训练阶段就学到的能力。模型在阅读人类文本时,不仅学到了"知识",还学到了"如何从经验中提炼策略"这种元认知模式。
这和人类的元认知发展有惊人的相似。孩子从小被教"从错题里总结经验",但这种能力的种子似乎在更早的语言学习阶段就埋下了——孩子听大人说"上次我犯了个错,以后要警惕X",就学会了这种"从经验中提炼可复用教训"的叙事模式。LLM可能也是在预训练数据里学到了这种叙事模式,所以能自己生成"经验笔记"。
从"有老师"到"没老师":自我改进的下一站
如果自抽取真的媲美教师抽取,那LLM的自我改进路径就少了一个关键依赖:不再需要强教师模型来帮小模型提炼经验。小模型可以自己生成经验库,自己用,自己训。
这指向一个可能的未来:模型在使用过程中不断生成解题轨迹,定期从轨迹里提炼新抽象加入经验库,用经验库做RL后训练,然后部署改进后的模型。整个循环不需要人类标注,不需要强教师模型,只需要模型自己 + outcome reward(做题对错)。
当然,这个循环有几个还没解决的问题:
- 抽象库会越来越大,检索效率怎么保证?
- 抽象会不会"退化"——模型从自己的(可能错误的)抽象里学,会不会放大错误?
- 简单题上的退化怎么处理?需要某种"难度感知"的抽象注入策略。
给自己写笔记,是人类学习的标志。现在AI也会了。
---
论文链接:https://arxiv.org/abs/2607.20372 HTML版本:https://arxiv.org/html/2607.20372v1 开源代码:https://github.com/ChangLiu-DrPatient/Notes-to-self
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens