Agent 经验持久化双路线精读:Self-Direction 与 TTME
题目区
论文一:Self-Direction(失败自蒸馏 LoRA 课程库)
论文链接:Don’t Forget What You Just Learned: Self-Directed Repair Turns Agent Mistakes Into Lasting Lessons 发表时间:2026年10月 机构:普林斯顿大学、Meta FAIR(一作为 FAIR 实习生工作,FAIR 主导资源与研究方向) 网站:https://self-direction.github.io/ 领域标签:cs.AI、agent 自我改进、持续学习
论文二:TTME(测试时记忆演化)
论文链接:Can Test-Time Memory Evolution Outperform Test-Time Training for Scientific Discovery? 代码仓库:github.com/yepengliu/TTME 发表时间:2026年10月 机构:UC Santa Barbara(4 人,含共同一作兼通讯 Yepeng Liu、通讯 Yuheng Bu)、UC Berkeley(Xuandong Zhao、Dawn Song);纯高校合作 领域标签:cs.AI、LLM 科学发现、测试时适应
一、论文背景(两篇共用)
1.1 Agent 为什么需要「经验持久化」
现代 LLM agent 已经能在单个会话里干不少活:上网查资料、写代码、操作终端、调用工具。但只要任务链条一长,出错几乎不可避免——每多一步就多一次犯错机会。即使是最前沿的 agent,在工具使用、编码、通用助理任务上都会犯错误(论文引用 Yuan et al., 2026; Bandi et al., 2026 的观察)。
更麻烦的是错误处理方式的「临时性」:agent 在当前会话里靠重试或多花算力把任务做对了,可这轮 episode 一结束,学到的东西什么都没留下。下次再遇到同类任务,它犯同样错误的概率和之前一模一样(Rabanser et al., 2026; Gonzalez-Pumariega et al., 2026 的可靠性研究都指出了这一点)。反复纠正同一个错误既浪费算力,又导致性能不稳定,让「持续改进」成为空谈。
用一个类比:这就像一个员工每次犯错后都能靠加班把活补完,但从不错题本、不写复盘——同样的坑下个月照踩。两篇论文的共同出发点,就是给 agent 配一本真正「写得进去、留得下来、取得出来」的错题本。
1.2 现有教训存储方式的三大流派与各自的坑
按教训存在哪里,现有方法分三类(Self-Direction 论文做了很清晰的划分):
| 存储位置 | 代表方法 | 优点 | 核心缺陷 |
|---|---|---|---|
| 上下文(context) | Reflexion、ExpeL、CLIN、Voyager:存文字反思/技能 | 快速适应、无需参数 | 会话结束即忘;检索进有限窗口后互相挤占;长上下文里模型用相关信息不可靠 |
| 模型权重(weights) | SFT、RL、TTT | 行为改变持久 | 需要单独训练流程、大量数据和优化;全参微调有灾难遗忘风险 |
| 外壳/脚手架(harness) | 改 prompt/工具/记忆的系统,如 Self-Harness、TTHE | 不动模型 | 只改变固定策略的调用方式,模型本身没有变强,收益留在脚手架里 |
上下文路线还有一个被论文量化证实的容量硬伤:Self-Direction 附录 E.2 算了一笔账——GAIA 101 次失败产生的 2,428 条指令-响应对约 36.2 万 token,加上格式与理由约 41 万 token,超出 Qwen3.6-27B 原生 262,144 token 窗口的 1.56 倍;若把失败轨迹也全存,需要约 313 万 token,相当于近 12 个原生窗口。不断成长的 agent 不可能把全部学习历史塞回每个任务的 prompt。
1.3 关键概念铺垫
- LoRA(Low-Rank Adaptation):低秩适配器。微调时不直接改模型权重,而是在旁边加两个小矩阵的乘积(秩 r 很低,如 16),只训这部分新增参数。类比:不改教科书正文,只在页边贴便签。
- 测试时训练(TTT, Test-Time Training):推理阶段在线更新模型权重以适应当前输入的范式。近年与搜索结合(TTT-Discover、ThetaEvolve 的测试时 RL),让开源模型在科学发现任务上打败了闭源前沿模型的推理系统,但在线权重更新计算昂贵、难扩展到更大模型——这正是 TTME 论文的出发点。
- in-weight vs in-context(in-memory):把经验「写进权重」(参数化)还是「放进上下文/外部记忆」(非参数化),是当前 agent 自我改进领域的核心分野。两篇论文恰好各站一条路线,且都给出了强有力的实证。
1.4 两篇论文的互补定位
- Self-Direction(Princeton+Meta FAIR):in-weight 路线的代表。失败后自反思 → 蒸馏成单个轻量 LoRA 适配器 → 存入可检索的课程库。核心卖点是「教训写入权重即刻可用来重试,基模型与旧适配器全程冻结所以互不干扰」。
- TTME(UCSB+UC Berkeley):in-memory 路线的代表。科学发现搜索中不更新权重,把经验蒸馏成「操作指南 + 策略族」双外部记忆喂给冻结模型。核心卖点是「同一框架下只换适应方式,五任务全部超过 TTT 且 FLOPs 降 82.8-84.6%」。
放在一起读,恰好构成「agent 经验持久化」这个问题的两面:什么时候值得把经验写进权重?什么时候外部记忆就够甚至更好?
二、论文定位和关联工作
2.1 Self-Direction 的研究谱系
谱系一:上下文反思线(前辈)
- Reflexion(Shinn et al., 2023):语言 agent 的口头强化学习,失败后写文字反思放进下一轮上下文。Self-Direction 认为其教训留在策略之外,复用需反复检索进有限窗口。
- ExpeL(Zhao et al., 2024):LLM agent 从经验中学习,积累经验性见解。
- CLIN(Majumder et al., 2024):持续学习的语言 agent,跨任务泛化。
- Voyager(Wang et al., 2024):具身 agent 的可执行技能库。
- 这条线证明了「反思有用」,但也暴露了外部存储的检索脆弱性与上下文竞争问题(Lu et al., 2022 的 prompt 敏感性;Liu et al., 2023 的 lost-in-the-middle)。
谱系二:外壳自进化线(近亲)
- Self-Harness(Zhang et al., 2026b):让固定模型挖掘自己的失败轨迹、提出最小化的经回归测试的外壳编辑——与 Self-Direction 同为「失败驱动、无教师触发」,但改动落在脚手架而非策略本身。
- Darwin Gödel Machine(Zhang et al., 2026c)、TTHE(Nie et al., 2026b)、JIT-Agent 等各自演化 prompt、工具或代码外壳。Self-Direction 指出:这些方法积累的是脚手架代码谱系,部署后底层模型并没有变强。
谱系三:权重线(同门)
- FailForge(Lv et al., 2026):把持续失败转化为训练信号,但依赖更强的教师模型、参考补丁等特权输入,最后做一次全局微调。
- SKILL0(Lu et al., 2026):上下文 agent RL 内化技能,依赖全局微调。
- TTT 系列(Sun et al., 2020; Akyürek et al., 2025):无条件地对当前输入做适应,episode 结束即丢弃。Self-Direction 严格以「已验证失败」为触发条件,且修复永久保留。
- Ren et al., 2026(在线参数记忆):Self-Direction 的 SVD 初始化 LoRA 直接沿用其初始化方案,但触发条件(上下文预算溢出 vs 验证失败)和存储形态(单一 episode 内状态 vs 可检索库)不同。
定位表:
| 维度 | 上下文反思 | Skills.md 累积 | 权全局微调(FailForge 等) | Self-Direction |
|---|---|---|---|---|
| 教训存储 | 当前会话上下文 | 跨会话文本文件 | 模型权重 | 每失败一个 LoRA 适配器(可检索库) |
| 持久性 | 会话内 | 跨会话 | 跨会话 | 跨会话 |
| 是否需要外部教师 | 否 | 否 | 是(GPT-4 等) | 否(自反思) |
| 对既有能力风险 | 无 | 无 | 灾难遗忘 | 无(基模型与旧适配器冻结) |
| 上下文占用 | 高 | 中 | 无 | 无 |
2.2 TTME 的研究谱系
谱系一:非参数发现线(前辈)
- FunSearch(Romera-Paredes et al., 2024, Nature):LLM 程序搜索做出数学发现的开山之作,固定权重反复生成-评估。
- AlphaEvolve(Novikov et al., 2025):Google 的编码 agent 版进化搜索,闭源前沿模型驱动。
- 这条线确立了「搜索组织方式决定发现质量」,但经验利用是隐式的(藏在归档与 prompt 里)。
谱系二:参数适应线(直接对照物)
- TTT-Discover(Yuksekgonul et al., 2026):迭代搜索+测试时 RL,把搜索经验内化进权重,让 Qwen3-8B 打败 AlphaEvolve 的推理系统。TTME 的第一评测框架。
- ThetaEvolve(Wang et al., 2025):把进化程序搜索变成动态 RL 环境。TTME 的第二评测框架。
- TTME 的立场:这两者证明了 TTT 强大,但在线权重更新贵——问题不是「要不要适应」而是「用什么方式适应」。
谱系三:经验记忆线(同门)
- Agentic Context Engineering(Zhang et al., ICLR 2026):演化上下文实现自我改进。
- Reflexion/ExpeL(同上):通用 agent 的文字反思。
- ε-MemEvo(Liu et al., 2026):跨任务记忆迁移用于 LLM 程序进化。
- ReEvo(Ye et al., NeurIPS 2024):反射式演化的超启发式。
- 区别:这些工作把经验利用嵌入各自搜索流程;TTME 把「经验积累」抽象为模块化、可插拔的适应机制,并在与 TTT 的严格对照下量化其效率优势。
定位表:
| 维度 | FunSearch/AlphaEvolve | TTT-Discover/ThetaEvolve | TTME |
|---|---|---|---|
| 权重更新 | 无 | 在线 RL(LoRA 等) | 无(全程冻结) |
| 经验利用 | 隐式(归档+prompt) | 内化进权重 | 双外部记忆(指南+策略族) |
| 计算成本 | 推理成本 | 推理+RL 训练成本 | 推理+轻量记忆维护调用 |
| 可插拔性 | 框架绑定 | 框架绑定 | 即插即用(保留原框架搜索/归档/验证器) |
2.3 两篇论文合起来的定位
两篇论文在 2026 年 10 月同一周出现,共同回应了同一个问题:「经验应该存在哪里?」。Self-Direction 证明 in-weight 的模块化形式(每课一个 LoRA+路由)能兼得持久性与安全性;TTME 证明 in-memory 的结构化形式(双记忆+策略引导生成)能以更低成本匹敌甚至超越 in-weight。它们互为对方的「另一条路线」,也共同宣告:无结构的「把反思塞 prompt」时代该结束了。
三、问题定义
3.1 Self-Direction 的问题抽象
具体场景:agent 在任务集 T 上执行,失败子集 T_fail 中的任务需要修复,且同类错误未来不能再犯。
核心洞察:论文发现「修复错误」和「记住教训」是两个被现有方法捆绑在一起却可以解耦的目标——重试(resampling)只修复不记忆;上下文反思记忆了但记在不牢靠的地方(会忘、挤窗口);全参微调记牢了但代价是既有能力受损。深层结构相似性在于:教训本质上是一个「行为修正程序」,而 LoRA 适配器恰好是行为修正的最小参数化单元。
形式化:给定初始策略 π₀ 和任务集 T,agent 失败于 T_fail。目标:对每个 t ∈ T_fail,(a) 修复当前错误;(b) 更新系统使未来相似错误被避免;(c) 保持基能力不受损。约束:无外部教师、教训需即刻可用来重试、存储开销小。
精妙之处:把「学习」拆成「每次失败一个独立小适配器」而非「全局微调一次学所有」,使 (b) 与 (c) 天然不冲突——新课程只写入新适配器,旧的一切冻结,结构上不可能覆盖。这相当于把持续学习的「稳定性-可塑性困境」用模块化物理隔离直接绕开。
3.2 TTME 的问题抽象
具体场景:科学发现搜索中,LLM 迭代生成候选程序、评估打分、更新归档。失败尝试暴露实现约束,成功改进提示可迁移的想法。
核心洞察:论文的假设是——当前 LLM 已经具备利用经验所需的基础知识、推理和编码能力,缺的只是把经验组织好、递送到生成上下文里。深层结构相似性在于:权重更新(θ_{t+1} ← U_RL(θ_t, D_t))与记忆更新(M_{t+1} ← U_mem(M_t, D_t), θ_t = θ₀)接收同样的评估数据 D_t,作用于同样的生成过程,那么二者是否可替换?
形式化:给定任务验证器 v(x) ∈ {0,1} 与得分 s(x),在搜索预算内最大化最优有效得分 s* = max_{x∈X_eval, v(x)=1} s(x)。两类适应机制的对比见上式——唯一变量是「更新的是 θ 还是 M」。
精妙之处:TTME 把「经验」按功能拆成两类——实现层教训(怎么把程序写对)与算法层想法(怎么让分数更高)——并让两类知识进入完全不同的记忆结构(平铺的指南列表 vs 聚类的策略族)。这个「关注点分离」使每种知识以最匹配的方式被复用:指南全量入 prompt 保底,策略按需选择改写成父代特定指令。
3.3 两篇的问题定义对照
| Self-Direction | TTME | |
|---|---|---|
| 失败信号 | 验证器判定的任务失败(触发适应) | 搜索中的评估反馈(含失败与改进两类) |
| 经验形态 | 程序性指令-响应对(≤24 条/失败) | 操作指南 + 算法想法笔记 |
| 经验去处 | rank-16 LoRA 适配器(每失败一个) | 双外部记忆(指南列表+策略族) |
| 复用方式 | 嵌入式路由按任务相似度检索 | 选择器挑策略+适配器改写 |
四、问题解法
4.1 Self-Direction:失败自蒸馏 LoRA 课程库
全景:失败发生 → 自反思合成训练数据 → 蒸馏成 SVD 初始化 LoRA → 存入课程库 → 未来相似任务路由复用。两种工作模式 + 一个兜底。
组件一:训练修复适配器(Training repair adapters)
类比:员工犯错后自己写「正确操作手册」,而且写完立刻照着再做一遍。
流程:agent 失败后,用同一个基模型(temperature 0.6)自我反思,合成至多 24 条程序性指令-响应示例(至少 8 条才启动训练;不需要完整 rollout,平均每适配器 3,622 token 训练数据)。这些示例教的是「该类任务缺失的流程」而非答案本身——prompt 中明确禁止复制任务特定答案、隐藏解法或验证器规则(防答案泄漏)。
蒸馏目标:rank-16 LoRA,SVD 初始化——A 矩阵取基模型目标权重的前导右奇异向量并冻结,B 矩阵零初始化后优化。类比 PiSSA:PiSSA 训练主成分本身并重构存储权重,Self-Direction 冻结谱因子、只训零初始化的系数矩阵,基权重完全不动,适配器随时可拆。SVD 子空间捕获的能量约为同维随机子空间的 16-22 倍,即修复发生在基模型已「熟悉」的高能量特征空间里。
失败类型决定注入位置(轻度定位先验):预算耗尽/执行异常 → 注意力投影 q_proj、v_proj(3.41M 可训练参数);答案错误/异常 → MLP down_proj(5.24M 可训练参数)。每个适配器至多训练约基模型 0.02% 的参数量,优化在单张 H200 上约 80.9 秒,端到端(反思+合成+训练)平均 8.16 分钟、30.4 Wh。
组件二:复用适配器(Reusing adapters)
句子嵌入路由器(all-MiniLM-L6-v2)比较当前任务描述与课程库中各教训的源任务描述,相似度高于阈值 τ 则加载对应适配器重试。τ=1 表示仅完全相同任务复用;τ<1 允许相似任务复用。论文测得三基准间的安全阈值为 0.55(低于此才会跨基准误取适配器)。
组件三:基模型重试兜底
适配器引导的重试若失败,卸载适配器,用干净基模型加一句「你之前试过一次且答错了,请再试一次」的提示做最后一次尝试。兜底用的是剩余 rollout 预算,保证失败后仍有立即恢复机会。
关键设计因果链:教训入权重 →(即刻)当前任务重试即可用 +(长期)课程库跨会话复用;基模型与已学适配器全程冻结 → 新课程在结构上不可能覆盖旧行为 → 持续学习不损害既有能力。
4.2 TTME:演化双外部记忆的即插即用适应
全景:搜索每 K=2 步 → 双记忆联合更新 → 生成时双分支(直接生成 + 策略引导生成)。全程固定权重,同一基模型完成生成与所有记忆操作。
组件一:Guideline Memory(操作指南记忆,实现层)
类比:车间墙上的操作规程——「遇到 X 情况 → 因为 Y 机制 → 执行 Z 动作」。
每 K 步汇总各父代的结果(有效解、得分、失败),同一基模型蒸馏出至多 3 条指南(其中至多 1 条失败规避类),每条必须包含触发条件、机制解释、具体动作,且「动作必须改变程序行为——若失败代码已满足该动作,重复它只会复现失败」。合并去重用 Jaccard 相似度 ≥0.5(小写词元集合),命中则递增计数并刷新「最后确认步」;超过 20 步未被确认则过期;容量上限 24 条,按计数排序、新近度破平。指南在两个生成分支的 prompt 中全量共享(每条展示至多 240 字符)。
组件二:Strategy Memory(策略记忆,算法层)
类比:研发部门的「方法卡片库」——同一方法的不同实现方式归成一张卡片,卡片记录方法机制、适用条件、已见变体。
筛选「子代有效且得分严格超过父代」的评估对;同一基模型读父子程序、diff 与评估结果,提取经验笔记(描述变更背后的算法想法及其应用条件,保留源案例引用;一个变更含多个独立想法可拆多条笔记)。共享底层想法的笔记聚成策略族,每族维护一个持久条目:共享想法、应用条件、不同实现方式。新笔记到来时由模型判定归入现有族还是新建族,并整合更新条目内容。
组件三:策略引导搜索与候选生成(双分支)
每个搜索步、每个父代:选择器(基模型)读父代上下文、各策略摘要及本步已分配给先前父代的策略,为该父代选至多 N=1 个策略(优先改进潜力,避免重复分配);适配器(基模型)读策略全文与父代完整代码,把它改写成父代特定的修改指令(至多 700 字符)——「方向是下一位作者唯一能看到的东西」,要求具体到在哪改、怎么算改成了。若无合适策略则基于记忆提出新想法。
生成分支:总预算 B 的 α=1/2 给直接生成(只用父代上下文+指南),(1-α)B/N 给策略引导生成(额外注入修改指令)。TTT-Discover 下每父代 64 候选(32+32);ThetaEvolve 下 16 候选(8+8)。
关键设计因果链:经验按「实现/算法」两层拆分 → 指南保底提升有效率、策略定向组合想法 → 生成在「探索新想法」与「复用已验证想法」间平衡 → 同预算下超越 TTT 的权重内化。
五、评估指标与实验证据
5.1 Self-Direction 的评估体系
指标:任务成功率(主指标);pass@k(k 次独立执行至少一次对,衡量覆盖面)与 pass_k(k 次全对,衡量一致性);重复遭遇修复保持率(pass_k/pass_1,一次修复后第 k 次遭遇仍成功的比例)。
基准:GAIA(165 个验证任务,三级难度,网页搜索/Python/shell/文件检查);Terminal-Bench 2.1(89 个终端任务,隐藏测试判分);Claw-Eval(161 个工具工作流任务,查全轨迹+审计日志+LLM 裁判);MiniWoB++(浏览器任务,附录)。主模型 Qwen3.6-27B(ReAct 循环),并在 Qwen3.8-27B、Qwen3.5-9B 上复验。
核心结果表:
| 基准 | Base | Self-Direction | 增益 | 关键对照 |
|---|---|---|---|---|
| GAIA | 38.8% | 55.8%(92/165) | +17.0pp | pass@3 49.7%、上下文反思 45.5%、Skills.md 53.3%;t 检验 t(164)=5.79, p=3.5e-8,95% CI [11.2, 22.8] |
| Terminal-Bench 2.1 | 51.7% | 65.5% | +13.8pp | 超 GLM-5.1(58.6%,约 30× 参数)、逼近 Opus 4.7(66.1%)/Gemini 3.1 Pro(65.6%) |
| Claw-Eval | 64.4% | 73.3% | +8.9pp | pass@3 73.9→80.7%、pass_3 51.6→64.6% |
| MiniWoB++(4 类) | 42/100 | 54/100 | +12 | 近似 base pass@3(55/100) |
可靠性证据(这是本文最独特的实验设计):
- 185 个历史错误上,三次遭遇全对率(pass_3)从基模型重试的 9.7% 升至 18.9%(近翻倍);修复保持率第 2/3 次遭遇 76.9%/67.3%(基模型仅 52.4%/42.9%)。
- Terminal-Bench 八次完整运行:每次都提升(+9.0~+18.0pp),pass_8 从 25.8% 到 48.3%(23/89 → 43/89),20 个任务从间歇成功变 8/8 全对,原有 23 个 8/8 任务无一丢失。
泛化证据:
- GAIA 部署流(165 任务随机交错、课程库限 3 个适配器/256MB):36.4% → 52.7%(+16.3pp)。
- 易到难迁移:Level-1 失败训练的 28 个适配器,在 86 个未见 Level-2 任务上 40.7% → 51.2%(+10.5pp)。
- 跨类别迁移:Claw-Eval 运维任务学的 3 个适配器,在 24 个未见工作流任务上 75.0% → 87.5%(+12.5pp)。
- 定性发现:同难度与跨难度检索成功率几乎相同(14.7% vs 14.5%)——「基准难度不是可复用教训的自然边界」。
效率证据:GAIA 55.8% 成功率仅用 2.10 rollouts/任务,匹敌基模型 pass@6;TB 66.3% 用 1.90 rollouts 超 pass@3 的 64.0%。
消融(GAIA 失败恢复率):完整 27.7% > 高斯初始化动态 LoRA 22.2% > 单池 LoRA r=16/64 的 16.7%/14.6% > 错配适配器 9.6%(低于 pass@2 重试)——证明收益来自「失败对齐的教训」而非任意参数更新或更大容量。移除任一记忆组件都变差;强模型 Qwen3.8-27B 同样获益(GAIA +16.4pp、TB +17.9pp)。
5.2 TTME 的评估体系
指标:各数学构造任务的 best-found score(方向不一:AC1/AC3/Erdős 越小越好,AC2/Hadamard 越大越好);有效率(候选程序可编译且获得评分的比例);想法组合占比(保留父代想法+引入父代谱系外想法的候选被选为父代的频率);运行时与 FLOPs。
设定:两大框架 × 三模型 × 五任务,保留原框架父代选择/归档/验证器,只替换适应机制——对照极干净。w/ TTT 用原论文报告值(TTT-Discover 50 步、ThetaEvolve 65 步)。
核心结果表:
| 框架/模型 | 任务 | w/ TTT | w/o TTT | w/ TTME | 结论 |
|---|---|---|---|---|---|
| TTT-Discover / Qwen3-8B | Erdős ↓ | 0.380932 | 0.380957 | 0.380927 | 全胜 |
| TTT-Discover / Qwen3-8B | AC1 ↓ | 1.50525 | 1.505242 | 1.504329 | 全胜 |
| TTT-Discover / Qwen3-8B | AC2 ↑ | 0.9472 | 0.944771 | 0.949248 | 全胜 |
| TTT-Discover / gpt-oss-120b | Erdős ↓ | 0.380876 | 0.380945 | 0.380862 | 全胜 |
| TTT-Discover / gpt-oss-120b | AC1 ↓ | 1.50287 | 1.505966 | 1.502745 | 全胜 |
| TTT-Discover / gpt-oss-120b | AC2 ↑ | 0.9591 | 0.953682 | 0.960784 | 全胜 |
| ThetaEvolve / Distill-Qwen3-8B | AC2 ↑ | 0.9469 | 0.947375 | 0.948148 | 全胜 |
| ThetaEvolve / Distill-Qwen3-8B | AC3 ↓ | 1.4930 | 1.519277 | 1.464224 | 全胜 |
| ThetaEvolve / Distill-Qwen3-8B | Hadamard ↑ | 0.5764 | 0.571085 | 0.579938 | 全胜 |
注意幅度:这些是小数点后第 3-5 位的竞赛级改善(如 AC1 1.504329 vs 1.50525),在数学构造问题领域即为有意义的界改进——AC1 的 1.504329 是对第一自相关常数上界的实际推进。
效率(TTT-Discover/Qwen3-8B,不含评估):运行时降 47.7-58.4%(AC1 11.76h→5.36h、AC2 12.73h→6.66h、Erdős 11.67h→4.85h);FLOPs 降 82.8-84.6%(AC1 29.47→4.53、AC2 33.09→5.69、Erdős 26.21→4.15 EFLOPs)。
收敛速度:TTT-Discover 下 TTME 在 ≤25 步内即超越 TTT 的最终分数(三任务两模型皆然)。
行为分析(证明「为什么赢」的机制证据):
- 平均有效率:AC2 上 TTME 95.42% vs TTT 78.02%(提升 17.4pp)——指南记忆直接减少实现层错误;AC1/Erdős 两者相近(68.71 vs 70.57、46.36 vs 46.62),此时策略记忆贡献最终分数差距。
- 想法组合:TTME 组合候选被选为父代占比 AC1 10.2% vs 8.2%、AC2 24.7% vs 18.6%;有效组合(增益>10⁻⁵)AC2 17.1% vs 13.3%——外部记忆让不同搜索分支的想法更频繁地被组合。
消融:
- TTME+TTT 组合反而劣于 TTME 单独(AC2 0.944141 vs 0.949248、Erdős 0.380944 vs 0.380927)——两种适应机制不是叠加关系,RL 更新后的模型做记忆操作反而劣于冻结模型。
- 去掉任一记忆组件均变差(gpt-oss-120b:Full TTME 三任务全优,w/o Guideline 与 w/o Strategy 均劣化,去 Strategy 对 AC2 伤害最大 0.960784→0.956493)。
六、效果优势的根源解释
6.1 Self-Direction 为什么赢
因果链 1:in-weight 反思 > in-context 反思(+10.3pp)
- baseline(上下文反思)为什么曾经有效:把失败原因写进 prompt,模型下一轮能看到,无需任何训练。
- baseline 的根本局限:教训的「读取」依赖注意力在长上下文中定位相关文字——而 lost-in-the-middle 现象(Liu et al., 2023)表明这不可靠;且每条教训都挤占任务本身的窗口预算。
- Self-Direction 的本质改变:教训从「每次推理时被读取的外部文本」变成「直接参与每一步前向计算的条件」——不依赖检索质量、不占窗口、对行为的影响是乘性而非提示性。
- 机制验证:论文实验支持(图 2 直接对比 +10.3pp;附录 E.2 容量分析显示文本路线根本不可扩展)。
因果链 2:模块化(每失败一适配器)> 池化(单适配器学所有)
- 单池 LoRA 的瓶颈:多个不相关失败的教训在同一低秩空间里互相干扰——消融显示单池恢复率 14.6-16.7% vs 模块化 27.7%,且 rank 从 16 提到 64 反而更差(14.6%),证明瓶颈不是容量而是干扰。
- 结构性改变:失败对齐的隔离更新让每个适配器的梯度只服务一个教训。
- 反事实验证:错配适配器(故意选最不相似的)恢复率跌至 9.6%,低于纯重试 pass@2——既证明「参数更新本身不够,必须教训对齐失败」,也提示路由器错误的代价(这就是论文加路由阈值与兜底的原因)。
因果链 3:冻结基模型+冻结 A 矩阵 → 零灾难遗忘
- 全参微调的困境:新教训的梯度会覆盖旧行为(Luo et al., 2023 的灾难遗忘实证)。
- 结构性改变:更新被限制在零初始化的 B 矩阵、且每个适配器独立加载——任何时刻只有一个教训处于激活态,任务首试永远用干净基模型。八次运行中 23 个 8/8 可靠任务零丢失是直接证据。
因果链 4:SVD 初始化 > 随机初始化(27.7% vs 22.2%)
- 高能量子空间先验:修复发生在基模型最「常用」的特征方向上,B 只需学「把这些熟悉特征路由到新行为」。论文附录 J 的分析(输入方向继承自基模型、输出方向 largely new)支持该解释,但「16-22 倍能量捕获 ⇒ 更好修复」的中间机制属阅读者推测,论文未做子空间消融。
因果链 5:路由复用带来跨任务泛化
- 教训编码的是程序性结构(分页、跨系统对账、精确验证)而非任务表面内容——定性转移案例(ORCID 适配器迁移到 Wikipedia 计数、表格适配器迁移到图像数值统计)支持;跨难度检索成功率相同(14.7%/14.5%)进一步支持「相似度的自然单位是流程而非难度」。
外部对照检索(基于已有知识,注明未联网核验):
| 研究 | 相似尝试 | 相关结论 | 与本文差异 | 对根源解释的影响 |
|---|---|---|---|---|
| Reflexion(Shinn et al., 2023, arXiv:2303.11366) | 上下文文字反思 | 短期有效但论文自示跨会话不保留 | 无参数化存储 | 支持「上下文反思易忘」的前提 |
| Back et al., 2026(Understanding LoRA as Knowledge Memory, ICML 2026) | LoRA 作知识记忆的实证分析 | 多适配器路由可仍劣于 oracle | 提供 LoRA 记忆视角 | 补充:模块化 LoRA 的路由有上限,与本文错配消融互证 |
| PiSSA(Meng et al., 2024, NeurIPS) | 主成分初始化 LoRA | 谱初始化优于随机 | 重构存储权重 vs 完全冻结 | 支持 SVD 初始化收益(但设定不同) |
| Ren et al., 2026(Scaling Self-Evolving Agents via Parametric Memory) | 在线参数记忆+SVD 初始化 | 触发条件为上下文预算溢出、单 episode 内演化 | 触发与形态不同 | 支持 SVD 初始化方案有效性;差异说明触发设计是本文增量 |
| Gupta et al., 2026(ReasonCache) | 无权重更新的推理适应 | 论证上下文拼接只是浅适应 | 理论论证 | 支持「in-weight 有表达力优势」的理论前提 |
| FailForge(Lv et al., 2026) | 失败→训练信号 | 有效但依赖更强教师+特权参考 | 教师/信息边界不同 | 支持 in-weight 路线整体;教师消融本文独有 |
| 灾难遗忘综述(van de Ven et al., 2025) | 持续学习理论 | 模块化隔离是抗遗忘手段之一 | 理论背景 | 支持因果链 3 的机制解释 |
诚实说明:上述对照基于本文引用与既有知识整理,本轮未联网逐一核验原文数值;「in-weight 优于 in-context」的结论在本文任务域(可验证失败、程序性技能)成立,对开放式创意任务未必成立(论文自己注明 in-weight 修复是模型特定的、不可跨模型族迁移,而文本教训可以)。
6.2 TTME 为什么赢
因果链 1:经验的结构化拆分 → 两类瓶颈分别被解决
- baseline(无适应搜索)的局限:同样犯实现错误、同样错过想法组合,但没有任何机制阻止重蹈覆辙。
- 结构性改变:实现层错误由指南记忆对症(AC2 有效率 95.42% vs 无适应 77.21%),算法层探索由策略记忆定向(有效率相近的任务上 TTME 仍靠 best-found score 胜出——AC1 有效率 68.71<70.57 但分数更优,说明胜利来自想法质量而非实现质量)。
- 消融直接支持:去指南记忆掉有效率相关指标,去策略记忆掉组合与分数(AC2 0.960784→0.956493)。
因果链 2:显式策略族 → 跨分支想法组合更频繁
- TTT 的权重内化是「隐式统计」:RL 把趋势写进参数,但模型无法显式「查表」某个已验证想法。
- TTME 的策略族是「显式编目」:选择器能看到所有已验证方法及本步已分配情况,跨谱系组合占比 24.7% vs 18.6%(AC2)、有效组合 17.1% vs 13.3% 是机制层面的直接证据。
- 科学发现史上组合式创新(交叉pollination)的价值是领域常识,此处被操作化度量——此联系属阅读者引申,论文未引用外部创新研究。
因果链 3:权重冻结 → 效率的数量级优势(82.8-84.6% FLOPs)
- TTT 的成本结构:每步 RL 更新需对基模型做反向传播(即便只训 LoRA rank 32),乘以数千候选的规模。
- TTME 的成本结构:只有前向推理 + 少量记忆维护调用(蒸馏/合并/选择/改写),无反向传播。
- 4ND vs 6ND 级别的训练-推理 FLOPs 差距是结构性常识,本文的实测数据(29.47 vs 4.53 EFLOPs)与之自洽。
因果链 4:为什么 TTME+TTT 组合反而更差
- 论文观察:RL 更新后的模型执行记忆操作(蒸馏、选择、改写)劣于冻结模型。
- 阅读者推测(论文未深挖):在线 RL 可能扰动模型遵循长指令、输出结构化内容(记忆操作恰好要求这些)的能力;或 RL 适应与记忆引导的生成分布相互干扰,两者叠加导致探索方向不一致。这是一个未决问题。
因果链 5:任务域的适用边界
- 数学构造任务的特点:验证器确定性、分数连续可比、改进局部可归因(diff 可读)。策略提取(读 diff 归因「哪个改动带来了提升」)在此域高度可靠。
- 推测(标注):在验证信号稀疏或延迟的领域(如长程 agent 任务),「子代超父代」的可归因改进对可能很少,策略记忆的原料会枯竭——TTME 论文未测试此类场景。
外部对照检索(基于已有知识,注明未联网核验):
| 研究 | 相似尝试 | 相关结论 | 与本文差异 | 对根源解释的影响 |
|---|---|---|---|---|
| TTT-Discover(Yuksekgonul et al., 2026, arXiv:2601.16175) | 测试时 RL 内化搜索经验 | 开源模型胜闭源推理系统 | 直接对照物 | 其成本被本文量化(TTME 省 83-85% FLOPs) |
| ThetaEvolve(Wang et al., 2025, arXiv:2511.23473) | 进化搜索+动态 RL 环境 | 同上 | 第二框架复验 | 支持结论跨框架稳健 |
| Agentic Context Engineering(Zhang et al., ICLR 2026, arXiv:2510.04618) | 演化上下文自我改进 | 上下文进化可匹敌 RL | 任务域为代码/推理 | 方法相似+结论相近:支持「记忆可替代权重更新」的普遍性 |
| GEPA(Agrawal et al., ICLR 2026) | 反射式 prompt 进化胜 RL | prompt 空间优化可超参数训练 | 优化对象是 prompt 模板 | 结论相近:非参数适应可在特定条件下超过参数适应 |
| Reflexion/ExpeL | 文字经验积累 | 有效但非结构化、域受限 | 无策略聚类/族维护 | 支持「记忆有用」前提;TTME 增量在结构化与对照严格性 |
| ε-MemEvo(Liu et al., 2026) | 跨任务记忆迁移用于程序进化 | 记忆迁移有效 | 无 TTT 对照 | 补充:记忆路线正在程序进化领域扩散 |
| AlphaEvolve(Novikov et al., 2025) | 闭源模型进化搜索 | 无适应机制时靠模型强度 | 背景参照 | 凸显「适应机制」是独立研究变量 |
综合判断与未决问题:
多项研究共同支持的机制:(a) 失败/经验信号可被蒸馏为可复用知识(两篇 + Reflexion/ExpeL/ACE 线);(b) 结构化/模块化组织优于无结构堆积(Self-Direction 模块化消融 + TTME 双记忆消融 + 两篇均胜过 Skills.md/朴素反思型 baseline);(c) 显式可检索的经验表示促进跨任务/跨分支复用(路由复用 + 策略组合数据)。
仍属合理猜测的机制:SVD 高能子空间与修复质量的因果细节;TTT+TTME 互斥的深层原因;策略归因在高噪声验证下的鲁棒性。
适用条件:Self-Direction 需要可验证的失败信号(grader/用户报告)与 GPU 资源;TTME 需要确定性验证器与可归因的分数改进。可能的失效条件:开放式任务无清晰失败定义(前者)、验证稀疏领域(后者)、教训冲突频繁的任务分布(两者)。特别值得强调的是两篇互相构成对方的边界:Self-Direction 每课需 8 分钟 GPU 训练,TTME 的记忆维护只需前向调用——经验获取频率越高、越需要即时性,外部记忆的效率优势越大;经验越需要深层行为改变(而非检索式指导),权重路线的表达力优势越大。
七、必要知识反推
7.1 Self-Direction 团队必须知道什么
领域知识层:
- Agent 执行范式:ReAct 循环、工具调用、rollout 预算的概念——不知道就无法设计失败检测与重试兜底。
- 三大基准的成功判定机制(GAIA 短答案匹配、TB 隐藏测试、Claw-Eval 全轨迹审计)——决定失败信号的可信度。
- 灾难遗忘现象与持续学习的稳定性-可塑性权衡——这是整个「冻结一切、只加不改进」设计的动机来源。
方法论知识层:
- LoRA 的数学结构(W + BA 分解)与 PiSSA/SVD 初始化先例——A 冻结 B 零初始化的设计直接站在 Ren et al. 与 PiSSA 肩上。
- in-context vs in-weight 适应的表达力差异理论(Gupta et al., 2026 的论证)——提供「为什么值得做权重蒸馏」的先验。
- 上下文窗口的 token 会计——附录 E.2 的容量分析需要知道如何估算(tokenizer 计数、格式开销)。
- 嵌入检索与句子编码器——路由器的选型与阈值标定方法。
工程知识层:
- 单卡 LoRA 训练流水线(超参:lr 5e-4、2 epochs、梯度累积、BF16)与延迟/能耗测量方法。
- 失败归一化协议设计——把五花八门的失败映射为 step_budget/wrong_answer/exception 等低带宽类别,并论证其不泄漏答案(信息边界证明)。
- pass@k/pass_k 统计与配对 t 检验——可靠性主张的度量学基础。
知识融合的关键节点:
- 洞察「教训 = 行为修正程序 = LoRA 的最小单元」,把持续学习问题转译为模块化存储问题。
- 用「失败类型 → 目标模块」的定位先验连接 agent 失败学与模型内部结构(注意力=规划、MLP=事实/输出)。
- 把「信息边界」从安全顾虑转化为设计资产:反思只见类别化失败原因,从根上排除答案泄漏质疑。
7.2 TTME 团队必须知道什么
领域知识层:
- LLM 程序搜索范式的完整图景(FunSearch→AlphaEvolve→ShinkaEvolve)与两大 TTT 框架的内部机制(PUCT 选择、MAP-Elites 归档、reuse buffer)——必须能精确复用其搜索规则才能做「只换适应方式」的干净对照。
- 五个数学构造问题的背景(自相关不等式、Erdős 最小重叠、Hadamard 最大行列式)——包括已知最好界,才能判断 1.504329 这类第六位数字的意义。
方法论知识层:
- 测试时 RL 的成本结构(反向传播 × 候选规模)——效率假设的量化基础。
- 经验学习/反思学习先例(Reflexion、ExpeL、ReEvo)——双记忆设计的参照系。
- 演化搜索中的想法组合与谱系概念——行为分析中「组合候选」的操作化定义需要它。
工程知识层:
- vLLM 部署细节(上下文 32,768、thinking 通道、强制续写)与两框架的 commit 级复现(TTT-Discover 6c40e82d、ThetaEvolve 7c12898f)。
- 记忆工程超参的标定(K=2、24 条上限、Jaccard 0.5、20 步过期、240 字符展示)。
- FLOPs 与运行时的受控测量协议(不含评估、含记忆调用)。
知识融合的关键节点:
- 把「权重更新 vs 记忆更新」统一为同签名 U(·, D_t) 的抽象——这个形式化是干净对照的前提。
- 按功能拆分经验(实现/算法)并匹配不同的记忆数据结构(平铺列表/聚类族)——数据结构选择与知识类型的对应是核心创造力。
- 把「想法组合率」从直觉变成可统计指标——让「记忆帮助组合创新」从叙事变成证据。
八、论文中可以提取的通用性灵感
灵感一:模块化隔离是持续学习冲突的零风险解
核心思想:当新知识以独立模块(而非合并更新)形式加入、旧模块与基座全部冻结时,「学新忘旧」在结构上不可能发生,无需任何正则化技巧。
论文证据:Self-Direction 八次运行 23 个 8/8 可靠任务零丢失;单池 LoRA(14.6-16.7%)vs 模块化(27.7%)消融;错配适配器实验显示模块化唯一的代价是路由错误(可用阈值控制)。
推广场景:个性化推荐系统的用户画像更新(每用户一模块);运维知识库的新故障模式累积;机器人新技能叠加不碰撞旧技能;法规合规系统的增量条款适配;多租户 SaaS 的定制层隔离。
灵感二:按知识功能拆分存储结构
核心思想:经验不是同质的——「怎么把事做对」(实现层)与「做什么事更好」(策略层)应存入不同数据结构:前者扁平列表+过期机制即可(保底全量注入),后者需要聚类成族+按需改写(定向注入)。
论文证据:TTME 去指南记忆损伤有效率,去策略记忆损伤最终分数——两类记忆解耦地服务两类指标;Self-Direction 的失败类型→目标模块路由是同一思想在权重内部的体现。
推广场景:软件团队的 postmortem(操作教训进 runbook 全员可见)与技术战略复盘(打法沉淀进决策框架);教育中「解题步骤规范」与「解题思想」分层教学;企业 SOP(操作规程)与最佳实践库(策略库)的双轨管理。
灵感三:失败是比成功更便宜的学习信号
核心思想:验证过的失败自带「这里有问题」的定位信息,且由当事者自己反思即可提取(无需外部教师)——前提是反思输入只含类别化失败原因,杜绝答案泄漏。
论文证据:Self-Direction 无教师蒸馏即达 +8.9~17.0pp;其信息边界证明(反思只见 step_budget/wrong_answer 等类别)表明增益不可能来自答案泄漏;TTME 的指南记忆同样从失败与改进中自助蒸馏。
推广场景:代码评审只标注「此处有 bug」让作者自查;学生错题本自己写解析而非抄答案;自动驾驶影子模式用失败片段训练;A/B 测试中失败变体的归因分析。
灵感四:非参数适应在「模型已具备底层能力」时优先于参数适应
核心思想:当模型已有所需基础能力、缺的只是「正确经验在正确时刻在场」,那么结构化外部记忆+检索递送可匹敌甚至超过权重更新,且成本数量级更低——适应方式的下限由「模型缺什么」决定,而非「什么更先进」。
论文证据:TTME 五任务全胜 TTT 且 FLOPs 降 82.8-84.6%、运行时降 47.7-58.4%;组合更频繁(24.7% vs 18.6%)表明记忆让能力「被用到」而非「被创造」。ACE(arXiv:2510.04618)与 GEPA 在不同任务域得出结论相近的对照。
推广场景:人类组织的知识管理(培训员工 vs 建检查清单,后者常更划算);临床决策支持系统(重训诊断模型 vs 维护鉴别诊断清单库);代码助手(微调 vs 精准检索项目约定);个人学习(深钻领域 vs 建立高质量笔记检索系统)。
灵感五:效率结论要用「同框架只换一个变量」的对照来建立
核心思想:主张「A 优于 B」时,保留 B 所在系统的其余全部组件、只替换 A↔B,是归因最干净的实验设计——差值全部归于被替换的机制。
论文证据:TTME 保留两框架的父代选择、归档更新、验证器甚至 prompt(SEARCH/REPLACE 规则、专家上下文),只换适应方式;TTT 数字直接引原论文,避免复现漂移。Self-Direction 的同 harness、同工具、同预算对比同属此类。
推广场景:AB 测试的单一变量原则的严格版;系统性能优化中一次只改一个组件;政策试点的对照组设计;算法竞赛的 controlled benchmark 协议。
灵感六:两种适应机制可能互斥而非叠加
核心思想:两种各自有效的改进机制组合后可能互相干扰——当机制 A 改变了机制 B 的工作对象(如 RL 更新后的模型执行记忆操作),组合的前提条件已被破坏。
论文证据:TTME+TTT 组合在 AC2/Erdős 上均劣于 TTME 单独(0.944141 vs 0.949248;0.380944 vs 0.380927)。
推广场景:药物相互作用的药物警戒思维;微服务中两个各自正确的中间件组合引发的语义冲突;团队里两个都有效的流程规范叠加导致的执行混乱;提示工程中多个各自有效的技巧互相抵消。
附录:两篇论文速览对照卡
| 维度 | Self-Direction | TTME |
|---|---|---|
| 一句话 | 失败 → 自反思 → rank-16 LoRA 错题本 → 路由复用 | 搜索经验 → 双外部记忆 → 冻结模型策略引导生成 |
| 路线 | in-weight(参数化) | in-memory(非参数化) |
| 触发 | 验证失败(每失败一课) | 每 K=2 步定期蒸馏 |
| 单课成本 | 8.16 分钟/30.4 Wh(H200)+ ~85MB 存储 | 少量前向调用(无反向传播) |
| 主战场 | 通用 agent 任务(研究/终端/工作流/浏览器) | 数学构造的科学发现搜索 |
| 核心数字 | GAIA +17.0pp / TB +13.8pp / Claw +8.9pp;pass_3 修复保持 67.3% vs 42.9% | 五任务全胜 TTT;FLOPs -82.8 |
| 对既有能力 | 零干扰(全冻结+模块化) | 零干扰(权重不动) |
| 泛化证据 | 跨难度/跨类别迁移(+10.5/+12.5pp) | 跨框架/跨模型规模复验 |
| 开源 | 网站 self-direction.github.io(代码未在正文确认) | github.com/yepengliu/TTME |
| 适用前提 | 可验证失败信号 + GPU 训练资源 | 确定性验证器 + 可归因改进对 |
(核心实验数据已纳入第五部分,本附录仅作速查。)