先给结论
这篇论文的核心想法很朴素:不要让模型每道题都从零开始。给它一个外部 `cheatsheet`,让它在测试时把成功经验、代码片段、错误修正和可迁移 heuristics 记录下来,后续题目再读这个记忆。
Game of 24 和 Math Equation Balancer 这种结构高度重复、可被代码求解的任务,收益非常大。
小模型收益弱且不稳定。DC 需要底座模型先能产生足够高质量的解法,才能把好经验写进记忆。
适合长期连续任务、benchmark stream、agent 工具使用、代码/数学问题套路沉淀。不适合作为“万能推理增强器”。
研究动机
作者抓住的是一个部署态 LLM 的常见低效:模型每次调用都是孤立事件。它之前刚刚发现过一个技巧,下一题仍可能重新摸索;刚刚犯过一个错误,下一题仍可能重复犯。人类做题会形成笔记、模板、套路和工具习惯,但多数黑盒 LLM API 默认没有这种持续学习机制。
已有路线的问题
- Fine-tuning / dynamic evaluation:需要改参数,成本高,也不适合多数商用黑盒模型。
- 传统 RAG:检索的是预先固定的外部知识库,不会自然记录模型自己刚刚学到的解法。
- Full history:把所有历史对话原样塞回上下文,容易膨胀、噪声大、成本高。
- Majority voting:对同一道题多采样,但经验不会跨题保留。
本文切入点
把“连续测试样本”看成一个在线学习过程:虽然模型权重固定,但外部记忆 \(M_i\) 可以更新。每个新题 \(x_i\) 既是被求解对象,也是一次更新未来记忆的机会。
数学表示及建模
本文的形式化很轻量,但足够表达 test-time memory 的状态转移。关键变量只有三个:输入序列、外部记忆、生成器/整理器。
| 符号 | 含义 | 在系统里的角色 |
|---|---|---|
| \(x_i\) | 第 \(i\) 个测试输入,来自未知测试分布 \(\mathcal{D}_{\text{test}}\) | 当前要解决的问题。 |
| \( ilde{y}_i\) | 模型生成的候选答案 | 会被 evaluator 评分,也会被 curator 用来更新记忆。 |
| \(M_i\) | 第 \(i\) 步可用的外部记忆 / cheatsheet | 存储可迁移策略、代码片段、错误修正、公式或主题指南。 |
| \( exttt{Gen}\) | solution generator | 读取 \(x_i\) 与 \(M_i\),输出 \( ilde{y}_i\)。 |
| \( exttt{Cur}\) | memory curator | 压缩、筛选、改写和更新 \(M_i\)。 |
| \( exttt{Retr}\) | retriever | 在 DC-RS 中检索历史相似输入输出对。 |
DC-Cu:生成后再更新记忆
DC-Cu 的生成步骤是:
然后 curator 在没有 ground-truth label 的情况下,根据当前输入、模型答案和旧记忆整理出下一步记忆:
这意味着 DC-Cu 更像“做完一题写笔记”:当前题的笔记不会帮助当前答案,但会影响后续答案。
DC-RS:先检索和综合,再答题
DC-RS 解决 DC-Cu 的两个短板:一是当前题生成前无法利用当前相似历史,二是累积记忆可能不保留原始输入输出对。它先检索 top-\(k\) 个历史相似样例,再让 curator 综合出当前题可用的记忆:
算法流程 / 方法
DC-Cu 流程
DC-RS 流程
作者比较的 baseline
| 方法 | 是否有记忆 | 是否检索 | 关键区别 |
|---|---|---|---|
| BL | 否 | 否 | 普通一次性 prompt,最弱但最接近日常调用。 |
| DC-\(\emptyset\) | 否 | 否 | 使用更强的结构化 generator prompt,但 cheatsheet 始终为空,用于隔离 prompt 本身的收益。 |
| Full History | 原样历史 | 否 | 把过去输入输出全部拼接,不做摘要、去噪、压缩。 |
| Dynamic Retrieval | 历史样例 | 是 | 只检索相似历史输入输出,不做抽象化 memory synthesis。 |
| DC-Cu | 累积式 | 否 | 做完一题后把经验写进统一 cheatsheet。 |
| DC-RS | 综合式 | 是 | 先检索相似历史,再由 curator 为当前题综合记忆。 |
实验方法与实验设计
这篇论文的实验设计围绕一个问题展开:当测试样本按序到来,而且样本之间存在某种结构相似性时,外部记忆能不能让模型越做越稳。
任务与数据集
| 任务 | 规模 / 来源 | 为什么适合测试 DC | 指标 |
|---|---|---|---|
| AIME 2024 / 2025 | 各 30 题 | 高难数学题,可能复用代数、组合、几何策略。 | Functionally Correct |
| AIME 2020-2024 | 133 题 | 更长的数学题流,更能测试累积记忆。 | Functionally Correct |
| GPQA-Diamond | 198 个专家级科学问题 | 知识密集且跨领域,检索和记忆可能有帮助,也可能带入噪声。 | Soft Match |
| Game of 24 | 100 个算术 puzzle | 结构重复,容易出现“发现 brute-force 代码后一劳永逸”的模式。 | Functionally Correct |
| Math Equation Balancer | 250 个算式补全题 | 适合用程序化搜索替代手算。 | Functionally Correct |
| MMLU-Pro Engineering / Physics | 各采样 250 题 | 专业多选题,测试公式/主题 reference guide 是否可迁移。 | Soft Match |
模型与提示词
主表重点比较 Claude 3.5 Sonnet 与 GPT-4o;扩展分析还测试 Claude 3.5 Haiku、GPT-4o-mini、DeepSeek R1 / o1 类 reasoning models。所有模型最终答案都要求包在 XML 风格的 `<answer>...</answer>` 中,方便解析。
实验结果及核心结论
主表:Claude 3.5 Sonnet 与 GPT-4o
| 任务 | Claude 3.5 Sonnet | GPT-4o | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| BL | DC-\(\emptyset\) | DR | DC-Cu | DC-RS | BL | DC-\(\emptyset\) | DR | DC-Cu | DC-RS | |
| AIME 2024 | 23.3 | 36.7 | 43.3 | 50.0 | 46.7 | 20.0 | 36.7 | 26.7 | 36.7 | 40.0 |
| AIME 2025 | 6.7 | 23.3 | 23.3 | 36.7 | 30.0 | 6.7 | 10.0 | 10.0 | 16.7 | 20.0 |
| AIME 2020-24 | 6.7 | 30.1 | 39.1 | 38.4 | 40.6 | 9.8 | 24.1 | 24.1 | 20.3 | 24.8 |
| Game of 24 | 12.0 | 10.0 | 11.0 | 14.0 | 14.0 | 10.0 | 19.0 | 6.0 | 93.0 | 99.0 |
| GPQA-Diamond | 59.6 | 60.1 | 63.6 | 61.1 | 68.7 | 57.1 | 57.1 | 55.1 | 58.1 | 57.1 |
| Math Eqn. Balancer | 44.8 | 56.4 | 60.4 | 100 | 97.8 | 50.0 | 88.0 | 100 | 100 | 99.2 |
| MMLU-Pro Eng. | 61.2 | 57.2 | 65.2 | 66.8 | 67.6 | 53.2 | 51.6 | 48.8 | 44.0 | 51.2 |
| MMLU-Pro Physics | 74.0 | 75.6 | 80.4 | 77.6 | 82.0 | 75.6 | 70.8 | 75.6 | 70.4 | 75.2 |
Game of 24 和 Math Equation Balancer 的提升最戏剧化,因为模型一旦把 brute-force / search 代码写进 memory,后续题目就不需要反复手算。
Claude 在 GPQA-Diamond 和 MMLU-Pro 上明显受益,GPT-4o 在这些任务上没有稳定提升,说明 retrieval/memory 也可能引入噪声。
Game of 24:为什么会从 10% 到 99%
这部分是本文最像 agent workflow 的地方:DC 不是只让模型“想得更久”,而是让模型学会“以后遇到这种题,直接用代码搜索”。这比手写 CoT 更稳定,因为它把 arithmetic guesswork 转成可验证程序。
Full History 不是答案
| 任务 | Claude BL | Claude FH | Claude DC-Cu | GPT-4o BL | GPT-4o FH | GPT-4o DC-RS |
|---|---|---|---|---|---|---|
| AIME 2024 | 23.3 | 26.7 | 50.0 | 20.0 | 13.3 | 40.0 |
| AIME 2025 | 6.7 | 6.7 | 36.7 | 6.7 | 3.3 | 20.0 |
这张表给出的信号非常重要:不是“历史越多越好”,而是“压缩后的可执行经验更好”。FH 把历史原样塞回 prompt,既贵又脏;DC 的优势来自选择、压缩、组织和抽象。
小模型不稳定
| 模型 | 任务 | BL | DC-\(\emptyset\) | DC-Cu | DC-RS | 读法 |
|---|---|---|---|---|---|---|
| Claude 3.5 Haiku | AIME 2024 | 10.0 | 26.7 | 36.7 | 30.0 | 有收益,但远弱于 Sonnet。 |
| Claude 3.5 Haiku | GPQA-Diamond | 43.4 | 41.9 | 43.7 | 49.0 | 检索综合有一定帮助。 |
| GPT-4o-mini | AIME 2024 | 16.7 | 20.0 | 13.3 | 13.3 | memory 反而可能拖累。 |
| GPT-4o-mini | GPQA-Diamond | 34.3 | 34.3 | 33.8 | 32.3 | 几乎没有利用好记忆。 |
累积曲线与记忆稳定性
我的评论
我认为它强在哪里
- 问题抓得准:部署态 LLM 的确缺少跨请求经验积累,尤其在连续任务和 agent 场景里很明显。
- 方法低摩擦:黑盒 API 可用,不需要训练,不需要访问权重。
- baseline 设计有区分度:DC-empty、Dynamic Retrieval、Full History 分别隔离了 prompt、检索和原样历史的影响。
- 结果有机制感:Game of 24 的代码化策略复用,是非常清楚的行为转变。
我会追问的问题
- 顺序敏感性:test stream 的样本顺序很关键。如果先遇到“代表性问题”,DC 很赚;如果先写入错误模式,也可能污染后续。
- 自我验证不足:curator 没有 ground truth。论文承认可以用多工具验证,但主实验仍主要依赖模型自我整理。
- 成本账没有完全展开:DC 需要额外 curator call、embedding、检索和更长上下文;论文给了一些 token 统计,但还不足以判断生产场景 ROI。
- 记忆结构偏文本:让模型每次重写 2000-2500 words cheatsheet,本质上很脆;更合理的系统可能是结构化数据库 + schema-level patch。
One More Thing:它和我们自己的 workflow 很近
这篇论文其实很适合作为 `paper2html` skill 的反身案例。它说的是:不要每次从零开始,应该把高价值经验压缩成可复用 memory。我们现在做论文 HTML 也是同一个问题:每次都有重复的 source boundary、TeX extraction、figure map、KaTeX validation、publish guard、部署路径。
Source Boundary Note、TeX inventory、figure/table map、public leak guard、KaTeX/browser validation 都应由脚本生成初稿。
章节结构、claim/evidence block、实验表格样式、Reference policy 不应该每次重新设计。
真正不能全自动的是 reviewer 评论、证据边界、图表是否被过度解读、以及哪些细节值得展开。
所以我对 `paper2html` 的下一步判断很明确:不要继续把 skill 写成越来越长的规则文件,而是把重复动作沉到脚本里,让 skill 只保留流程边界和质量门。快点进化我。
Reference / Evidence
用于标题、作者、摘要、版本、TeX source 与 arXiv PDF。
用于公开出版元数据、PDF 链接、DOI 与页码信息。
用于代码结构、prompt、runner 参数、数据缓存、embedding 与结果文件。
用于交叉核对公开 PDF 版本。