← 科研空间 首页
arXiv:2602.03094ICML 2026 投稿

Test-time Recursive Thinking: Self-Improvement without External Feedback

训练无关、单实例递归的自改进:用对比分析蒸馏可迁移的失败知识,用域自适应自生成验证在无 ground truth 下做选择。

原版 PDF
阅读依据:arXiv:2602.03094v1(2026-02-03 提交)的 TeX 源码与 PDF、官方 GitHub 仓库,以及通过 smart-search 对人类已知边界的外部核验(检索日期 2026-09-08)。本页为深度精读 Cheat-Sheet,非摘要翻译。

先讲一个故事

主角是一道 AtCoder 竞赛题:ABC 399-E「Replace」。给定两条长度为 \(N\) 的二进制序列 \(A\) 和 \(B\),每个位置 \(i\) 有翻转代价 \(C_i\)。一次翻转的代价是「\(C_i\) 乘上当前序列中 1 的个数」。目标是把 \(A\) 变成 \(B\),总代价最小。

这道题有个不起眼的陷阱:存在一些「中性位」(\(A_i = B_i = 1\) 的位置)。这些位最终不需要被改变,但临时翻转它们可以压低中间过程中「1 的个数」,从而降低其它必要翻转的代价。朴素贪心——按代价排序、先做所有 \(1{\to}0\) 再做 \(0{\to}1\)——会彻底错过这个机会。

把 o4-mini 放上去,让它独立采样 10 次(pass@10)。轨迹是 [X X X X O O O O]:前 4 次全错。它反复尝试「按代价贪心调度」和「参数化搜索」,这些方法在自己生成的测试上通过率很高,却在 ground truth 上失败——因为它从没意识到中性位可以被借用。10 次独立尝试彼此不知情,于是把同一个错误重复了 10 遍。

换一种玩法:不让每次尝试各自为战,而是让模型在每一轮之间留下「我刚才为什么错了」的笔记,并用这份笔记去指导下一轮换一个不同的策略。到第 4 轮,模型已经攒下三条教训:

① 朴素块贪心失败,因为它死板地「先做全部 \(1{\to}0\)、再做 \(0{\to}1\)」,从不借用中性位翻转来压低 running sum;最优调度应当交错中性位翻转。

② 死板的贪心顺序无法捕捉交错中性位带来的代价下降;必须「以中性位翻转次数为参数」,用前缀和在每步 \(O(1)\) 评估总代价函数。

③ 用 bisect_right 处理严格大于、bisect_left 处理严格小于,避免边界 off-by-one。

第 5 轮,模型据此切换到「双指针扫描」策略:显式追踪中性位、按降序排序、维护 running prefix sum、对每个中性位翻转次数 \(k\) 在 \(O(1)\) 内评估代价函数——找到真正最小值。突破。此后第 5–8 轮稳定保持正确。

这个故事提出了本文要回答的技术问题:在没有 ground truth 的情况下,一个模型如何仅凭「对比自己不同次尝试的成败」就学会换一种本质不同的解法?并行采样的 10 次失败说明,单纯多发几个互相不知情的采样无济于事;真正起作用的是跨轮的、可迁移的「失败知识」加上「自生成的验证信号」。

故事与技术如何对应

故事里的元素 论文里的技术对应 属类比还是事实
10 次彼此不知情的独立采样 并行采样 / self-consistency(baseline) 事实(实验设置)
每轮留下的「为什么错了」笔记 知识列表 \(\mathcal{K}\),以负向约束(don'ts)蒸馏失败模式 事实(方法核心)
第 5 轮换「双指针扫描」 rollout-specific 策略 \(s_k\),基于 \(\mathcal{K}\) 合成互补策略 事实(Strategy Design)
挑出双指针解为最佳 Select 阶段,代码域用「自生成单测 + 执行」做无 ground truth 选择 事实(Domain-Specific Design)
笔记指导下一轮换策略 Reflect 阶段,对非最佳 rollout 与最佳 \(r^*\) 做对比分析 事实(Reflect)
「中性位」这个洞察本身 可迁移的失败知识——RSA/Matryoshka 聚合答案但不聚这类知识 事实(论文论证的增量)

说明:ABC 399-E「Replace」是论文附录 A.1 的真实突破案例(breakthrough problem),不是教学杜撰;其策略演化轨迹与知识条目均来自论文原文。

先给结论

100%AIME-25/24,开源模型 gpt-oss-120b 与 Qwen3-235B(64 轮 K=1)
+10.4 ppo4-mini 在 LiveCodeBench v6 hard:63.5% → 73.9%(超 RSA 70.4%)
+14.8 ppo3 在 LiveCodeBench v6 hard:57.1% → 71.9%(超 RSA 69.7%)

TRT 是什么。一个训练无关、在单个问题实例内递归自改进的框架。每轮三件事:Generate(带知识列表 \(\mathcal{K}\) 和 rollout 专属策略 \(s_k\) 生成 \(K\) 个候选)→ Select(无 ground truth,靠域自适应自验证挑出最佳 \(r^*\))→ Reflect(把非最佳 rollout 与 \(r^*\) 对比,蒸馏可迁移失败知识写回 \(\mathcal{K}\)),循环 \(T\) 轮。

真正的增量在哪。与 RSA / Matryoshka 这类递归聚合相比,TRT 聚合的不是「最终答案」或「解的合并」,而是「为什么某些路径会失败」的可迁移知识;与 self-consistency 这类并行采样相比,TRT 的后续尝试感知先前失败;与 STaR / RISE / ReVISE / TT-SI 这类自改进相比,TRT 不需要任何权重更新。

几个支撑性发现。深度胜于广度(\(K{=}2/4/8\) 的 cumulative best 收敛到 78–82%);知识列表极省(数学 <1.5%、代码 <0.35% 上下文);记「不该做什么」(Don'ts)比记「该做什么」(Dos)更有效;17.7% 的题是 pass@10 都解不出的「突破题」,靠策略探索找到本质不同的解法。

证据边界(先说清楚)。据外部核验,AIME-25 已在前沿闭源模型上饱和(GPT-5.2 / Gemini 3 / Claude Opus 4.6 / Grok-4 等常打 99–100%),因此「100% on AIME」应理解为「开源 + 训练无关方法的 demonstration」,而非 benchmark-level 的 SOTA 声明;真正承载增量证据的是未饱和的 LiveCodeBench hard。

研究动机

LLM 推理能力的提升主要靠「可验证奖励的强化学习(RLVR)」,但这类范式依赖外部监督。核心问题是:模型能否在测试时、不访问 ground-truth 奖励的情况下自我改进推理?

论文把有效测试时自改进拆成两个互补挑战,并强调「缺一不可」:

(1) Strategic exploration 战略性探索
扩展解空间、避免重复犯错。没有探索,验证无东西可选。
(2) Self-guided verification 自引导验证
在无 ground truth 下可靠选出正确答案。没有验证,探索只产生噪声。

既有路线为何不够:

缺口很清楚:缺一个训练无关 + 递归 + 跨轮积累可迁移知识 + 自生成验证的完整闭环。TRT 填的就是这个缺口。

数学表示及建模

TRT 在单个问题 \(P\) 上迭代 \(T\) 轮,每轮三阶段。状态是知识列表 \(\mathcal{K}\)(初始为空)和解池 \(\mathcal{S}\)。

Generate(生成)

给定问题 \(P\)、累积知识 \(\mathcal{K}\) 和 rollout 专属策略 \(\{s_1,\ldots,s_K\}\),生成 \(K\) 个 rollout:

\[ r_k = \mathrm{LLM}(P,\; \mathcal{K},\; s_k), \quad k \in \{1,\ldots,K\} \]

知识约束搜索空间,策略引导探索方向——产出的是互补而非冗余的候选解。

Select(选择)

模型评估本轮 \(K\) 个 rollout,在无 ground truth 下挑出最佳 \(r^*\)。选择靠自评估:一致性检查、逻辑错误识别、或生成验证测试。

Reflect(反思)

把每个非最佳 rollout 与 \(r^*\) 做对比,抽取「失败洞察」追加到知识列表:

\[ \mathcal{K}_{t+1} = \mathcal{K}_t \;\cup\; \{\text{insights from round } t\} \]

随后合成新一轮互补策略。为管理上下文,每轮最多剔除一条过时知识,保持 \(\mathcal{K}\) 紧凑。

知识表示

\(\mathcal{K}\) 存的是域特定的失败模式(bug 模式、边界情况、逻辑谬误),以负向约束(don'ts)表述,约束已知坏路径而不过拟合到具体解题步骤。论文实验表明记 Don'ts 比记 Dos 更有效。

策略设计

每轮模型分析 \(\mathcal{K}\),设计 \(K\) 个互补策略:代码域指定算法范式(动态规划 vs 贪心 vs 分治)、实现优先级(省内存 vs 省时间)、结构选择(迭代 vs 递归);数学域强调证明技巧(代数操作 vs 几何直觉)或分解方式(倒推 vs 分情况)。策略基于「什么失败过」生成,这是 TRT 与「固定策略池 / 随机扰动」方法的关键区别。

算法流程 / 方法

figure: meta-grpo-pipeline
TRT 总览。三阶段迭代:(1) 基于当前知识列表和 rollout 专属策略生成一批候选;(2) 自排序并选出本轮最佳;(3) 把其余解与最佳做对比分析,把「该避免什么」蒸馏进更新后的知识列表,并合成下一轮的新策略。
输入:问题 P,轮数 T,每轮 rollout 数 K 输出:选中解 r* 1 K ← ∅ ; S ← ∅ 2 for t = 1 to T do 3 ── Generate ── 4 for k = 1 to K do 5 基于 K 设计策略 s_k 6 r_k ← LLM(P, K, s_k) 7 S ← S ∪ {r_k} 8 ── Select ── 9 r* ← Select(S) 10 ── Reflect ── 11 for 每个 r ∈ 当前轮, r ≠ r* do 12 对比 r 与 r* 抽取 insight 13 K ← K ∪ {insight} 14 return r*

域自适应设计(Select 的关键)

因为 TRT 没有 ground truth,Select 必须利用域的结构性质

数学推理:互斥性(Mutual Exclusivity)
答案空间 \(\mathcal{A}\) 恰好有一个正确整数 \(a^*\)。错误答案散布在剩余空间,正确推理者收敛于 \(a^*\)。把先前被自我拒绝的答案记进 \(\mathcal{K}\),帮助模型在每轮自评新解的正确性。
代码生成:执行式自验证
代码允许多种合法实现,互斥性失效。但代码可以执行:模型按对题意的理解生成单测(典型 / 边界 / edge case),把候选解跑在这些测试上,通过率高的排名靠前。多解全过时,用「逻辑更清晰、边界处理更好、与 \(\mathcal{K}\) 一致」做次级判据。
诚实的边界。自验证不完美——模型生成的测试可能漏掉 ground truth 测试才能抓到的边界。论文消融显示执行式测试贡献 7.4pp,证明它确有判别力,但 selection gap 仍未归零(见实验),说明验证还有改进空间。
figure: fig-rollout-analysis
Rollout 探索效率。等样本量下,TRT 的战略规划在 pass@k 上比独立采样稳定高出 2–7pp(两模型皆是),说明累积知识与 per-rollout 策略确实扩大了模型在解空间中的覆盖。

实验设计

数据集

论文把数学实验定位为 preliminary / proof-of-concept(数据集小、且 AIME 已饱和),把更深的分析放在代码生成上。

模型

Baseline 与公平算力

度量

AIME 报 accuracy。LiveCodeBench 报三种:accuracy(每轮选中解的正确率)、Cumulative Best(所有轮的 oracle 最佳)、pass@k(累积 \(k=K\times t\) 个 rollout 的通过率)。Cumulative Best 与每轮 accuracy 之差 = 「靠更好选择可挽回的部分」;pass@k = 「探索了多少」。

figure: fig-analysis-combined
问题级与策略分析(o4-mini + 测试执行)。(a) 按第 8 轮状态给 203 题分类:Baseline Correct 46%、TRT New Solve 28%、TRT Unstable 15%、Never Solved 11%。(b) 策略切换:失败后切换更频繁(82%)高于成功后(74%)。(c) 探索深度:尝试的独特技术簇越多,解决率越高。

实验结果

数学推理(AIME):开源模型达 100%

figure: fig-aime25-main
AIME-25 结果。TRT 让 gpt-oss-120b 和 Qwen3-235B 都达到 100%。滚动多数投票(Majority@Prev)单调提升,超过 Parallel Thinking baseline(Majority@64)。

两个开源模型在 64 轮(K=1)下都达到 100%(30/30)。性能随轮数单调提升,证实累积知识把探索引向正确方向。关键是实例级稳定:到 64 轮末,每个问题在多轮上都稳定收敛到 100%,且跨 3 次独立运行低方差(gpt-oss-120b:100/96.7/100;Qwen3-235B:100/100/96.7),都超过各自 Majority@64 baseline(96.7% / 93.3%)。AIME-24 上有相似轨迹(见完整图谱)。

审稿人视角。100% 是真实的,但要放在「AIME 已饱和」的背景下读:闭源前沿模型在 AIME-25 上 99–100% 已是常态(外部核验,2026-09)。因此这里的贡献是「开源 + 训练无关递归方法首次达到 100%」,是 method-level 的 demonstration,不是 benchmark-level 的 SOTA。论文用「for the first time」指开源模型,措辞成立但需读者知此限定。

代码生成(LiveCodeBench hard):+10.4 ~ +14.8pp

figure: fig-test-execution-trajectory
LiveCodeBench 结果。TRT 8 轮(带测试执行)在 v6 hard 上的 accuracy,对比 RSA 8 轮。o4-mini 63.5%→73.9%(+10.4pp)超 RSA 70.4%;o3 57.1%→71.9%(+14.8pp)超 RSA 69.7%。

两模型都单调提升。代码比数学难得多:多合法实现、无 majority voting、要推理算法正确性与边界。这里的 +10~15pp 在未饱和基准上是实质增量,且超过等算力的 RSA。这是承载论文增量的核心证据。

关键设计的验证

探索效率:等样本量下,战略规划把 pass@k 提升 2–7pp。

深度 vs 广度:对 o4-mini,K=2/4/8 的 cumulative best 都收敛到 78–82%。说明深度胜于广度——跨轮的迭代精炼比单轮内的并行 breadth 更重要。

figure: fig-rollout-scaling
轮数 vs 每轮 rollout 数(o4-mini)。不同 K(2/4/8)的 cumulative best 收敛到相近上界,说明性能增益主要来自迭代知识积累,而非并行采样广度。

消融(选择需 grounding):把增益拆解——baseline 63.5% → +策略 66.5%(+3.0pp,靠发现随机采样到不了的解)→ +测试执行 73.9%(+7.4pp,靠更好选择)。执行式自验证把 selection gap 从 11.8% 压到 4.9%(o4-mini),o3 从 16.3% 压到 3.5%。探索和验证是互补的两个机制。

LiveCodeBench 消融(论文 Table 1)
模型 配置 Acc. Cumul. Best Gap
o4-mini Baseline (pass@1) 63.5%
o4-mini + Strategy 66.5% 78.3% 11.8%
o4-mini + Strategy + Test Exec 73.9% 78.8% 4.9%
o3 Baseline (pass@1) 57.1%
o3 + Strategy 61.6% 77.8% 16.3%
o3 + Strategy + Test Exec 71.9% 75.4% 3.5%

分析(支撑性发现)

知识列表极省上下文

figure: fig-knowledge-list-length-combined
知识列表长度占最大上下文的比例。(a) 数学:64 轮后 gpt-oss-120b 均 1.00%(max 1.07%)、Qwen3-235B 均 0.47%。(b) 代码:8 轮后 o4-mini 均 0.16%、o3 均 0.09%。只存蒸馏过的高层 insight,不存冗长轨迹。

数学任务 64 轮后知识列表不超过上下文的 1.5%;代码 8 轮后不超过 0.35%。这是只存「蒸馏过的高层 insight」而非「冗长解题轨迹」的直接结果,使 TRT 能在不撑爆上下文的前提下做长程迭代。

记 Don'ts 优于记 Dos

figure: fig-knowledge-type-comparison
AIME-25 上的知识类型对比。记「不该做什么」(Don'ts)比记「该做什么」(Dos)在两模型上都带来更高 accuracy。

这支撑了「以负向约束存失败模式」的设计选择,也是 TRT 区别于「聚合并保留成功解」方法的一个点。

策略动力学:失败后更倾向换策略

用 SoftTFIDF 量策略相似度:策略切换在失败后(82%)比成功后(74%)更频繁——模型能感知自己的进展并相应调整探索。且尝试的独特技术簇越多,解决率越高,说明策略多样性改善结果。

知识类别分布

figure: fig-knowledge-analysis
代码生成中的知识类别。性能优化与边界情况占主导,反映竞赛编程的常见失败模式。

LiveCodeBench 累积知识的类别分布:Performance 23%、Edge Cases 19%、Indexing 18%、Bug Fixes 10%、I/O Format 7%、Algorithmic 6%、Numerical 3%。改进主要由高层执行洞察驱动,而非低层语法修正。

vs Markovian Thinking:压缩知识 vs 堆 CoT

figure: fig-markovian-comparison
与 Markovian Thinking 对比(AIME-25)。TRT(绿)靠结构化知识积累单调提升。Markovian 把先前答案 append 进上下文:32K 有限上下文(紫)恢复近 baseline;全上下文(红)随累积答案稀释推理信号而退化。

Markovian Thinking 在 32K 上下文下恢复近 baseline(说明迭代范式本身没错),但在全上下文(128K–256K)下停在约 93%——累积 CoT 稀释了推理信号。TRT 用压缩知识(<1.5% 上下文)提供定向引导,在上下文极限之外仍稳定提升。这正面论证了「压缩 vs 堆叠」的差异。

突破题:17.7%

在 203 题中,36 题(17.7%)是 baseline 在 pass@10 都解不出、却被 TRT 最终解出的「突破题」。这些题靠独立采样在实用预算内够不着——策略探索找到了与随机采样本质不同的解(ABC 399-E 即一例)。

我的评论

先回到 grounding anchor 锚定的「真实增量」:TRT 的真正新东西是用对比分析蒸馏可迁移的失败知识(而非 RSA/Matryoshka 那样聚合答案或合并解),配以域自适应的自生成验证在无 ground truth 下做选择。我据此独立评估增量是否成立。

增量成立的部分

需要打折的部分

综合判断

方法层面的增量是真的、且定位清晰(训练无关 + 对比蒸馏失败知识 + 域自适应自验证)。但贡献强度被两点拉低:AIME 已饱和使头号数字失色,单实例不跨问题使「self-improvement」的范围比直觉窄。把它放在 ICML 投稿里,合理的预期是「方法有新意、实验在未饱和基准上够强、但卖点措辞需校准」。LiveCodeBench hard 的 +10~15pp 超过 RSA 是最硬的证据。

One More Thing

论文 Discussion 里有一句容易被略过的话:因为累积知识是以人类可读文本(或代码)存的,「这些知识本身可能对科学发现任务有吸引力」。这是一个有界的研究洞察,不是论文已验证的结论。

如果未来把 TRT 的蒸馏知识跨问题聚合(作者明确列为 future work),TRT 就从「单题答案改进器」变成「无标注的可迁移启发式挖掘器」——测试时计算不再只产出更好的答案,而产出可复用的问题求解知识(「这类题要警惕中性位」「这类边界要用 bisect 而非线性扫」)。这些知识本身可成为训练信号,教会模型通用求解启发式而无需人工标注。

但这是当前的推测:TRT 现在只在单实例内积累、解完即弃,跨问题聚合尚未实现。这个方向的真正门槛在于如何避免跨问题知识退化成「记住具体题」而非「学到通用模式」——这恰恰是 TRT 现在用「负向约束 + 不过拟合具体步骤」在单实例内规避的问题,放大到跨实例时只会更难。

Other Discussion Roles / 其他讨论角色

以下七个角色使用 MIT MAS.S60 课程原始 prompt,从不同责任位置审视同一篇论文。

Scientific Peer Reviewer

The paper has not been published yet and is currently submitted to a top conference where you’ve been assigned as a peer reviewer. Complete a full review of the paper answering all prompts of the official review form of the top venue in this research area (e.g., NeurIPS). This includes recommending whether to accept or reject the paper.

venue:ICML 2026(源码用 icml2026 样式)。按 ICML 审稿维度评审。

Summary:本文提出 Test-time Recursive Thinking (TRT),一个训练无关、单问题实例内递归自改进的框架。每轮 Generate(带知识列表 \(\mathcal{K}\) 和 rollout 专属策略生成候选)→ Select(无 ground truth,域自适应自验证挑最佳)→ Reflect(对比蒸馏失败知识写回 \(\mathcal{K}\))。在 AIME-25/24 上让开源 gpt-oss-120b、Qwen3-235B 达 100%;在 LiveCodeBench v6 hard 上让 o4-mini +10.4pp、o3 +14.8pp,超 RSA。

Contributions:(1) 用对比分析蒸馏可迁移失败知识,区别于 RSA/Matryoshka 的答案聚合;(2) 域自适应自验证(数学互斥性 / 代码执行自验证);(3) 在未饱和的代码基准上有实质增益。

Strengths:方法干净、动机清晰;消融诚实(把增益拆成策略 +3.0pp 与测试执行 +7.4pp,并报告 selection gap);可复现性好(开源代码、3 次独立运行低方差);「深度胜于广度」「知识 <1.5% 上下文」「Don'ts>Dos」是有用的支撑性发现;ABC 399-E 突破案例有说服力。

Weaknesses:① 头号卖点 AIME 100% 在已饱和基准上(外部核验:闭源前沿 99–100% 常态),benchmark-level 区分度低,应降级为 method-level demonstration;abstract/标题措辞偏强。② 知识单实例不跨问题,与「self-improvement」直觉有落差,作者列为 future work 但正文未充分强调其局限。③ 自生成测试验证不完美,selection gap 未归零(4.9%/3.5%),是方法固有局限。④ 算力随轮数线性增长,仅给等样本量对比,缺 wall-clock/成本对账。⑤ 仅 2 个域,泛化性证据不足。

Soundness:4/5——主声明基本有实验支撑,但 AIME 声明需校准。Presentation 4/5——写作清晰、图齐全。Significance 3/5——方法新但头号证据弱、范围窄。

Rating:Weak Accept(6/10)。Confidence:4/5。建议:接收但要求修改——把 AIME 重新定位为「开源 + 训练无关方法的 demonstration」、把 LiveCodeBench 提为头号证据、明确「单实例自改进」的范围限定、补成本对账。若作者不做这些校准,降到 Borderline。

Archaeologist

This paper was found buried under ground in the desert. You’re an archeologist who must determine where this paper sits in the context of previous and subsequent work. Find and report on one older paper cited within the current paper that substantially influenced the current paper and one newer paper that cites this current paper.

更老的、实质影响本文的工作:Reflexion(Shinn et al., NeurIPS 2023)。Reflexion 提出「verbal reinforcement learning」——agent 把对任务反馈的反思以文本形式存进 episodic memory,用于改进后续尝试。TRT 与它在「以文本反思驱动跨尝试改进」上是直接血脉:Reflexion 的 reflect 步骤 → TRT 的 Reflect 阶段,Reflexion 的 episodic memory → TRT 的知识列表 \(\mathcal{K}\)。但 TRT 做了两个关键推进:(1) 去掉外部反馈依赖——Reflexion 仍靠环境/任务反馈触发反思,TRT 在无 ground truth 下用自生成验证信号;(2) 从存原始反思到存蒸馏过的负向约束——Reflexion 存冗长反思文本,TRT 存压缩的「don'ts」并显式管理上下文(<1.5%)。所以 TRT 不是 Reflexion 的增量改进,而是把「反思式自改进」从「需要外部反馈」推进到「完全自包含」的范式跳跃。

更新的、引用本文的工作搜索边界声明——TRT 于 2026-02-03 提交,截至本次检索(2026-09-08,smart-search 默认路由)仅约 7 个月。我检索了「cites Test-time Recursive Thinking / TRT Zhuang 2026」等查询,未能找到一个经核验的、明确引用 TRT 的新论文。检索中浮现一个主题相邻的工作「Test-Time Learning with an Evolving Library / EvoLib」(arXiv:2605.14477, 2026-05;Microsoft Research blog),它在「测试时学习 + 演化的知识库」上与 TRT 主题共振,但我未能核验它正式引用了 arXiv:2602.03094(arXiv 摘要页为 JS 渲染,抓取不到正文)。按 Archaeologist 契约,我不臆造一个引用论文。结论:TRT 太新,尚无经核验的引用后继;EvoLib 是值得后续跟踪的候选相邻工作,但不在此作为「已证实引用」陈述。

Academic Researcher

You’re a researcher who is working on a new project in this area. Propose an imaginary follow-up project not just based on the current but only possible due to the existence and success of the current paper.

项目名FailureKB — 跨问题的可检索失败知识库,让 TRT 的「单实例自改进」升级为「问题类级自改进」

为什么只有 TRT 成功后才可能。TRT 验证了两件此前未被证实的事:(1) 可迁移的失败知识能被蒸馏成紧凑文本(<1.5% 上下文,且是高层执行洞察而非语法修正);(2) 这些知识以人类可读文本/代码形式存在。正是这两点让「跨问题检索复用知识」第一次有物质载体——Reflexion 的冗长反思、RSA 的答案聚合都不构成可检索的可迁移知识。没有 TRT 的成功,这个项目没有可信的知识源。

做法:维护一个持久化、嵌入可检索的 FailureKB,存的是 TRT 在大量问题上蒸馏出的负向约束(按域/题型/算法范式打标)。解新题时,先按题面嵌入检索 top-k 相关「don'ts」作为 \(\mathcal{K}\) 的热启动,再跑 TRT。关键研究问题:① 检索回来的知识是否会过拟合到具体题(TRT 在单实例内用「负向约束 + 不过拟合步骤」规避,跨实例时更难);② 知识的「粒度」——太具体无用、太抽象失真,如何自适应控制;③ 跨域是否迁移(数学的 Don'ts 对代码有用吗)。

评估:在一个问题族(如动态规划族、图算法族)上,看热启动 TRT 相比冷启动 TRT 的首轮 accuracy、收敛轮数、最终 accuracy。若热启动能在更少轮数内达到同性能,说明失败知识确实跨问题迁移了——这就把 TRT 从「单题答案改进器」变成「无标注的可迁移启发式挖掘器」,对应论文 Discussion 里那句被略过的 future hint。这不是 TRT future-work 里点名的「跨问题聚合」的小延伸,而是把它做成一个可度量、可证伪的研究议程。

Industry Practitioner

You work at a company or organization developing an application or product of your choice (that has not already been suggested in a prior session). Bring a convincing pitch for why you should be paid to implement the method in the paper, and discuss at least one positive and negative impact of this application.

产品CodeBreaker Copilot —— 无 hidden test 时的竞赛编程 / 技术面试自适应陪练。定位是面向 AtCoder / Codeforces 选手和求职者的 coding copilot。核心痛点:选手在训练时没有官方 hidden test,面试中更没有 ground truth,现有 copilot 给一版解就停,对边界和 edge case无能为力。TRT 正好契合——自生成单测、跨轮积累「这类题别犯什么错」、靠执行反馈自选最佳。

为什么值得付钱给我实现:① TRT 的代码域 Select(自生成单测 + 执行)在无 ground truth 下工作,这正是训练/面试场景的现实约束;② 论文已证明 +10.4~14.8pp 的实质增益且开源代码可作 backbone;③ 知识列表是人类可读的失败洞察,可直接渲染成「这道题你常踩的坑」教学面板,把推理时改进转化为可解释的教学价值——这是纯答案聚合方法给不了的产品差异化;④ 单实例自改进天然适合「一道题一个 session」的产品形态。

正向影响:让无法负担人工导师的学习者获得「会主动找边界、会解释为什么错」的高质量编程陪练,降低竞赛/面试准备的资源门槛;产出的人类可读知识库可反哺教学。

负向影响:① 评估诚信风险——TRT 的自验证能力使它恰好擅长攻破 coding 面试 / 在线竞赛的评测(这些评测本就靠 hidden test 区分人),若被用于实时作弊,会系统性削弱这些评估的效度;这是产品上线必须前置解决的红线(如仅限离线训练模式、禁实时比赛接入)。② 算力门槛的不平等——多轮递归推理把单题成本放大数倍,富裕用户能用得起「16 采样 + 8 反思」,普通用户不能,可能加剧而非缓解资源不平等。产品定价与配额设计需显式处理。

Hacker

You’re a hacker who needs a demo of this paper ASAP. Implement a small part or simplified version of the paper on a small dataset or toy problem. Prepare to share the core code of the algorithm to the class and demo your implementation. Do not simply download and run an existing implementation – though you are welcome to use (and give credit to) an existing implementation for “backbone” code.

下面是一个最小可运行的 TRT 玩具实现,跑在一个 toy 数学题上(单整数答案,走「互斥性」选择路径)。backbone 信用:LLM 调用走 OpenAI 兼容 API(任意 chat 模型均可),这部分不是本文工作;原创部分是 TRT 的三阶段编排——知识列表管理、per-rollout 策略合成、对比反思蒸馏。我提供完整可运行脚本,但未在本页内实际执行(需 API key);它是给你拿去 demo 的起点。

# trt_toy.py — 最小 TRT,toy 数学题,互斥性选择 # backbone: 任意 OpenAI 兼容 chat API( credited ) # 原创部分: Generate/Select/Reflect 编排 + 知识列表 + 策略合成 import json, re from openai import OpenAI # backbone client = OpenAI() LLM = "gpt-oss-20b" # 或任意可用模型 def llm(messages, temperature=1.0): r = client.chat.completions.create(model=LLM, messages=messages, temperature=temperature, max_tokens=1024) return r.choices[0].message.content PROBLEM = "求所有满足 n^2 - 19n + 99 是完全平方数的正整数 n 之和。" # toy def extract_answer(text): m = re.findall(r"\\boxed\{(-?\d+)\}", text) return int(m[-1]) if m else None def generate(P, K, strategy, k_idx): # rollout-specific 策略让 K 个 rollout 互补(论文 Strategy Design) msg = [{"role":"system","content": f"你是解题专家。策略提示(尝试 #{k_idx}):{strategy}。" f"已积累的失败教训(仅供参考,别重蹈):{K or '(暂无)'}。" "按 [Summary] 然后 [Answer]: \\boxed{{整数}} 的格式输出。"}] return llm(msg) def select(rollouts): # 数学域:互斥性 —— 收敛于同一答案的视为更可信(论文 mutual exclusivity) from collections import Counter ans = [extract_answer(r) for r in rollouts if extract_answer(r) is not None] if not ans: return rollouts[0], None best = Counter(ans).most_common(1)[0][0] for r in rollouts: if extract_answer(r) == best: return r, best return rollouts[0], best def reflect(P, best, others): # 对比蒸馏失败洞察为负向约束(论文 Reflect:don'ts) msg = [{"role":"system","content": "你是技术评审。对比最佳解与其余解,抽出【可迁移的失败教训】" "(为什么其它解错了 / 该避免什么),以负向约束形式列出。不要自己解题。"}] msg.append({"role":"user","content": f"题目:{P}\n最佳解:{best}\n其余解:{others}\n输出 1-3 条 don'ts。"}) return llm(msg, temperature=0.3) def trt(P, T=4, K=2): knowledge = [] best_sol = None for t in range(T): # 每轮合成 K 个互补策略(论文:基于 K 设计互补 s_k) strat = llm([{"role":"system","content": f"已有教训:{knowledge}。为这道题设计 {K} 个互补解题策略" "(如代数法/枚举法/配方法),JSON 数组返回。"}], temperature=0.5) try: strats = json.loads(re.search(r"\[.*\]", strat, re.S).group()) except: strats = ["直接求解"]*K rollouts = [generate(P, knowledge, strats[i%len(strats)], i) for i in range(K)] best_sol, best_ans = select(rollouts) others = [r for r in rollouts if r != best_sol] if others: knowledge.append(reflect(P, best_sol, others)) print(f"轮 {t+1}: 答案={best_ans}, 知识条目数={len(knowledge)}") return best_ans, knowledge if __name__ == "__main__": ans, K = trt(PROBLEM) print("最终答案:", ans); print("积累的 don'ts:", K)

demo 要点:跑 python trt_toy.py,观察每轮答案是否收敛、知识条目如何增长。要变成论文完整版,还需补:MCP 风格的持久化知识、代码域的执行式自验证(把 select 换成「生成单测→执行→按通过率排序」)、以及策略相似度监控。这个小版本暴露的是循环骨架与知识蒸馏,正是 TRT 区别于纯采样的核心。

Private Investigator

You are a detective who needs to run a background check on one of the paper’s authors. Where have they worked? What did they study? What previous projects might have led to working on this one? What motivated them to work on this project? Feel free to contact the authors, but remember to be courteous, polite, and on-topic.

对第一作者 Yufan Zhuang(庄宇凡,亦 Evan Zhuang)做背景调查。仅用公开职业/学术来源;按 paper2html 契约,未联系作者。

求学:UC San Diego(UCSD)博士,2026 年,导师 Jingbo Shang(也是本文共同作者)。博士论文题目 「Learning to Learn with Language Models」,研究 meta-learning、算法模拟(如学习决策树)、连续表示、以及 agent 式自精炼。来源:个人主页 evanzhuang.github.io、eScholarship 论文库。

现在职位:Google Cloud AI Research 的 Research Scientist,主攻让 LLM 推理更好、行为更 agentic——测试时自改进、突破上下文窗口的推理扩展、连续向量表示、meta-learning/算法模拟、长上下文理解的 agent 工作流。

过往经历:① IBM T.J. Watson Research Center 的 research engineer(AI for software engineering / 漏洞检测);② Apple AIML(Siri, Agents)实习(2025);③ Microsoft CoreAI 的 Post-training / LLM Reasoning 团队实习(2025-09)——这条线解释了为何本文共同作者多为 Microsoft 系(Chandan Singh、Liyuan Liu、Yelong Shen、Dinghuai Zhang、Jianfeng Gao、Weizhu Chen)。

什么驱动他做 TRT:博士论文「Learning to Learn with Language Models」就是关于模型如何学会学习——meta-learning 与算法模拟。TRT 正是这条研究主线在「推理时、训练无关」设定下的落地:把「learning to learn」从「需要训练」推到「单实例内自包含自改进」。GitHub 用户名 EvanZhuang 与论文给出的代码仓库 owner 一致,闭环可信。

原始 prompt 含「可联系作者」的邀请,但 paper2html 规则要求除非用户明确批准否则不联系任何人——故此处仅做公开档案梳理。

Social Impact Assessor

Identify how this paper self-assesses its (likely positive) impact on the world. Have any additional positive social impacts left out? What are possible negative social impacts that were overlooked or omitted?

论文自己的影响陈述(Impact Statement):相当简略——目标是推进 LLM 推理时性能;潜在社会后果提了两点:① 计算与能源成本增加;② 被 nefarious 使用时 LLM 能力提升。作者明确说「没有哪一条需要特别强调」。这是 ICML 模板式的最小陈述。

被漏掉的正面影响:① 开源推理民主化——TRT 让开源模型(gpt-oss、Qwen3)在测试时打超过自身量级的表现,使无法访问闭源前沿模型的用户/研究者也能获得强推理,缩小开源-闭源的可用性差距;② 降低对标注/验证器的依赖——在 ground truth 昂贵或不可得的领域(科学计算、长尾任务),「自生成验证」让推理时改进成为可能;③ 可解释的知识副产品——蒸馏出的人类可读「don'ts」可用于教学和调试透明化,比纯黑盒答案聚合更可审计。

被忽视/省略的负面影响:① 评估诚信——TRT 的自验证能力恰好擅长攻破靠 hidden test 区分人的 coding 面试/在线竞赛评测,若被用于实时作弊会系统性损害这些评估的效度(论文完全没提);② 能源/碳足迹被低估——论文提了「计算成本」但只从样本效率角度论证,未提多轮递归推理在规模化部署下的能耗与碳成本;③ 「自验证」的虚假安全感——selection gap 未归零(4.9%/3.5%),若把 TRT 自验证通过的代码部署到安全攸关场景(基础设施、医疗),残余错误可能因「模型自测通过」而被放行;④ 算力不平等——线性增长的推理成本使「递归自改进」成为富裕用户/大公司的特权,可能加剧而非缓解 AI 能力的资源鸿沟。论文的 Impact Statement 把这些一笔带过,是本文在伦理审视上的明显短板。

Reference / Evidence

公开在线来源。本页正文与讨论角色引用的链接均在此列出。