REMORY:面向上下文压缩的残差记忆学习 REMORY: Learning Residual Memory for Context Compaction
在摘要后附加可学习软记忆向量,让冻结LLM逼近全上下文表现
前置知识
软提示(连续记忆向量)
不以词表 token 而以连续向量形式注入模型输入的信息表示。模型把这些向量当作普通输入位置处理,但由于它们是连续的,可以直接对上游模块做梯度反传来优化其内容。REMORY 生成的记忆就是冻结 LLM 输入空间中的向量序列 $M_i$,而非可读文本。
本文的核心产物就是 4,096 个软记忆槽位,理解软 token 与普通文本 token 的区别是理解方法的前提。
上下文压缩(context compaction)
长程智能体在上下文将满时把早期交互替换为摘要以腾出空间的做法,如 Claude Code 与 Codex CLI 的 /compact 命令。压缩后输入长度呈锯齿状:随交互增长、在压缩点骤降、再重新增长,摘要成为智能体恢复工作的检查点。
REMORY 要解决的正是在压缩检查点处摘要丢信息的问题,全文所有实验都围绕'压缩后 vs 全上下文'的差距展开。
反向 KL 散度蒸馏
$D_{\mathrm{KL}}(q \| p)$ 以学生分布 $q$ 为第一参数,重罚'教师高概率而学生低概率'的模式,倾向模式覆盖而非模式寻找。教师冻结时梯度只更新学生参数。本文用冻结 actor 分别以全上下文(教师)和摘要+记忆(学生)预测同一响应,以此训练记忆网络。
损失函数 $\mathcal{L}(\phi)=\sum_j w_j D_{\mathrm{KL}}(q_j\|p_j)/\sum_j w_j$ 是方法的技术核心,理解它才能明白记忆为何'对决策有用'而非仅会复述原文。
残差连接的序列维类比
经典残差连接 $y = x + f(x)$ 让网络只学增量修正而非完整映射。REMORY 把这一思想搬到序列维度:拼接 $[S_i; M_i]$ 中摘要 $S_i$ 是主干,软记忆 $M_i$ 是沿序列方向追加的增量补充,两者共同构成对完整历史的近似。
这是论文命名的由来,也解释了为何记忆允许与摘要内容重叠——它只需补偿摘要之后的预测差距。
长程智能体基准
BrowseComp 含 1,266 个深度研究型网页任务,Terminal-Bench 2.1 含 89 个命令行任务(带自动验证器),AutomationBench(600 任务)与 JobBench(65 任务)分别评测业务工作流和专业任务。这些任务需要数十至上百轮工具调用,必然触发多次上下文压缩。
读懂实验部分需要知道各基准的任务性质、评分方式(验证器或 GPT-5.6-Sol 评审)与运行次数(一次或五次)。
研究动机
长程智能体在有限上下文窗口内工作,随着观察、工具输出和决策不断累积,必须压缩历史才能继续运行。当前主流做法是把早期交互替换成一段文字摘要:Claude Code 与 Codex CLI 等编码智能体都提供 /compact 命令释放空间,输入长度因此呈锯齿状反复增长与骤降。但文字检查点改变了历史信息的可及性——保住主线并不保证摘要能支撑后续每一个决策,而早期上下文的相关性会随任务展开而变化,需要什么补充信息无法事先识别或枚举。论文用 SummHay 量化了这一损失:纯摘要的联合得分仅 39.84,比原始全上下文的 43.41 低 3.57 分;智能体实践中则表现为大量重复调用相同工具(如 Qwen 在 BrowseComp 上无残差时重复输出 25,801 次)与高频工具错误,说明文字压缩确实丢失了对归因和决策关键的信息。
本文的目标是本文的目标是让智能体在压缩历史之后仍能像拥有完整上下文一样行动,同时不把全部交互留在活动窗口里。具体而言,作者希望训练一个神经记忆网络:给定历史 $H_i$ 及其生成的摘要 $S_i$,网络生成一段有界的软记忆向量序列,附加在摘要之后输入冻结的 LLM,使其后续输出分布尽量逼近使用完整历史时的结果。角色分工上,摘要继续承担可读检查点,软记忆负责补充摘要遗漏的预测信息,精确记录仍通过普通归档与文件检索工具按需访问。评测目标包括:在 SummHay 溯源任务上以极小的输入预算逼近全上下文联合得分,并在 BrowseComp、Terminal-Bench 2.1、AutomationBench、JobBench 四个长程基准上取得一致提升,同时降低重复工具输出、工具错误与生成成本。
与已有工作不同的是,已有工作要么改进文字摘要本身(如 ReSum 的周期性摘要、AgentFold 的多尺度上下文管理),要么学习长文本的连续表示(AutoCompressors、Gist Tokens、ICAE),但这些连续压缩大多以重建源文本为目标,也不与摘要检查点协同。REMORY 的独特切入是把摘要视为已有检查点,训练一个以摘要为条件的补充通道:软记忆既以摘要 $S_i$ 为条件生成,又拼接在摘要之后,形成'沿序列维度的残差连接'——网络只需补偿摘要与全上下文之间的预测差距,不必重建全部信息。更关键的区别在训练准则:不用重建损失,而是通过冻结 actor 的下一 token 预测做学生-教师反向 KL 蒸馏,让记忆直接优化'对后续决策有用'的信息。等预算对照 Summary++(同样额外位置给生成文本)几乎无效,恰恰证明学习式残差通道承载的信息类型是文字无法替代的。
核心方法
直觉上,REMORY 在每个压缩边界为冻结 LLM 补上一段'残差':文字摘要提供可读主线,紧随其后的软记忆向量填补摘要造成的预测盲区。技术上,在压缩边界 $i$,记忆网络以历史 $H_i$(含上一轮摘要与记忆、以及其后的交互)和新摘要 $S_i$ 为输入,生成 $M_i = C_\phi(H_i; S_i)$,$|M_i| \le m$。$M_i$ 是冻结 actor 输入空间中的向量序列,拼接 $[S_i; M_i]$ 连同持久指令一起送入模型。网络使用冻结 actor 的特征与可学习查询并行预测记忆向量,并对摘要做门控交叉注意力;每 1,024 个源位置块产生 64 个软 token,再经分层压缩把最终记忆限制在 4,096 个槽位且保持源顺序。训练分两阶段——先重建、再摘要条件下的续写——均通过冻结 actor 的反向 KL 只更新记忆参数 $\phi$。Qwen3.8-27B 版本基于 DFlash 架构(1.94B 可训练参数),GLM-5.3-Flash 版本用带分组动态卷积的 DFlash-2(1.502B 参数)。
核心创新是把'压缩后缺什么'显式参数化为一个以摘要为条件的连续残差通道,并用冻结 actor 的续写行为定义损失。与 Gist Tokens、ICAE 等重建式压缩不同,REMORY 的记忆不需要恢复摘要遗漏的每一条事实——允许与摘要内容重叠,只需最小化学生(摘要+记忆)与教师(完整历史)在同一后续响应上的分布差异。对目标响应 $y$ 的位置 $j$,教师 $p_j = p_\theta(\cdot \mid C_{\mathrm{full}}, y_{<j})$,学生 $q_j = p_\theta(\cdot \mid C_{\mathrm{mem}}, y_{<j})$,损失 $\mathcal{L}(\phi) = \frac{\sum_j w_j\, D_{\mathrm{KL}}(q_j \| p_j)}{\sum_j w_j}$ 覆盖全部词表与完整响应,权重 $w_j$ 轻微偏重早期位置,只更新 $\phi$。'残差连接沿序列维度'的类比是点睛之笔:摘要保持主干,记忆只承载增量信息,且每次压缩时 $H_i$ 已含上一轮记忆,信息可跨 successive 边界递推传递。
方法步骤详情
完整流程分五步。第一步,智能体正常交互,到达压缩边界 $i$ 时触发 /compact 类摘要流程得到 $S_i$。第二步,记忆网络编码历史:把 $H_i$ 按 1,024 位置分块,每块经冻结 actor 特征与可学习查询产生 64 个软 token,再分层压缩至不超过 4,096 个槽位,计算 $M_i = C_\phi(H_i; S_i)$,其中对 $S_i$ 施加门控交叉注意力。第三步,推理时拼接 $[S_i; M_i]$ 连同持久指令输入冻结 actor,其后才是新交互;归档摘录仍通过普通工具结果进入。第四步,Stage I 重建训练:教师收到源段落并被指示复述,学生用软记忆替换段落收到相同指示,两者都预测源文本(数据来自 MMFineReason-Full-2.3M),教记忆保留源信息。第五步,Stage II 摘要条件续写:从 Stage I 初始化,教师收到原始交互历史,学生收到固定摘要和由该历史构造的记忆,两者预测同一后续回复(记忆编码器看不到未来回复),使用 Open-PerfectBlend 等轨迹,按前置上下文长度做课程排序,以反向 KL 优化 $\phi$。
技术新颖性
技术新颖性体现在四个层面。其一,问题重构:把上下文压缩从'如何更好总结'转为'摘要之外还缺什么',并用行为损失(冻结 actor 的续写分布)而非重建损失来定义'缺失',这与 Wingate 等的分布匹配提示压缩一脉相承但作用于压缩检查点。其二,结构设计:以摘要为条件的门控交叉注意力让记忆明确知道'摘要已说了什么',从而专注增量;分块 1,024→64 软 token 加分层压缩到 4,096 槽位的层级方案在固定预算下保持源顺序。其三,接口不变性:actor 完全冻结,记忆向量直接进入输入空间,1.94B/1.502B 的记忆网络通过 actor 反传训练,适配任意 API 模型而无需微调。其四,跨边界传递:$H_i$ 中包含上一轮的摘要与记忆,使神经记忆成为沿时间递推的状态,类似 Transformer-XL 的段间递推但以压缩检查点为单位。相比 MemGPT/ReadAgent 的检索增强方案,REMORY 不改变工具接口,是纯参数化的补充。
实验结果
五组核心实验。其一,SummHay 溯源(92 查询、Qwen3.8-27B):Citation F1 56.98→61.03,联合得分 39.84→43.39,逼近全上下文的 43.41,覆盖率仅 67.55→67.95,自助法 95% 区间 [+0.74, +6.21]。等预算文字补充 Summary++ 仅 39.78,证明收益来自学习向量而非额外位置。输入均值:全上下文 96,872、纯摘要 1,393、摘要+记忆 5,024(5.2%)。其二,Qwen 工作流五次运行均值:AutomationBench 35.5±1.3→45.3±1.0(+9.8),成本 $0.59→$0.53;JobBench 33.4±1.25→41.0±1.41(+7.6)。其三,单次运行:Terminal-Bench 上 Qwen +4.5、GLM +3.3(84.3→87.6);BrowseComp 上 Qwen +3.0、GLM +4.1(84.9→89.0)。其四,重复工具输出降 17.9–29.8%,工具错误降 25.3–49.7%。其五,488 对压缩后首个动作中残差版胜 345(70.7%)。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| SummHay 溯源与洞见恢复(92 查询) | Citation F1 / 联合得分 / 覆盖率 | 摘要+REMORY:61.03 / 43.39 / 67.95(输入仅 5,024 位置,为全上下文 5.2%) | 纯摘要:56.98 / 39.84 / 67.55;全上下文:56.60 / 43.41 / 72.46 | Citation F1 +4.04,联合得分 +3.55(95% CI [+0.74, +6.21]),覆盖率几乎不变 |
| AutomationBench 工作流(600 任务,Qwen,五次运行) | 任务得分 / 每任务成本 | 45.3 ± 1.0,$0.53 | 无残差 35.5 ± 1.3,$0.59 | +9.8 分,成本降 $0.06 |
| JobBench 专业任务(65 任务,Qwen,五次运行) | 任务得分 / 每任务成本 | 41.0 ± 1.41,$3.21 | 无残差 33.4 ± 1.25,$3.09 | +7.6 分(成本上升 $0.12) |
| Terminal-Bench 2.1(89 任务,单次运行) | 验证器通过率 | Qwen3.8-27B 76.4;GLM-5.3-Flash 87.6 | Qwen 71.9;GLM 84.3 | Qwen +4.5,GLM +3.3;重复输出降约 17.9–28.1%,错误降 25.3–39.2% |
| BrowseComp(1,266 任务,单次运行) | 评审得分 | Qwen3.8-27B 77.0;GLM-5.3-Flash 89.0 | Qwen 74.0;GLM 84.9(前沿参照:Gemini 3.1 Pro 89.0) | Qwen +3.0,GLM +4.1;重复输出降 29.8–29.8%,错误降 49.7–27.8% |
| 压缩后首个动作评估(100 条 Qwen BrowseComp 轨迹,488 对) | GPT-5.6-Sol 匿名偏好(胜/平/负) | 残差版 345 胜(70.7%)/ 21 平(4.3%)/ 122 负(25.0%) | 同一摘要下无记忆的替代动作 | 70.7% 胜率,说明记忆通道直接改善压缩边界处的决策质量 |
局限与改进
作者坦承若干限制:SummHay 的自助区间下界仅 +0.74,且结论条件于已生成与已评判的输出;Live Trading 两条轨迹的市场选择与时点不同,ROI 对比(-11.86% vs +5.11%)只能算例证而非受控结论,且每千次响应的压缩次数反而从 10.5 升至 14.9;压缩后首个动作的偏好评估只判断提议动作本身,未执行反事实动作度量真实结果;成本估算按 2026 年 9 月未缓存费率计,不含源特征编码、记忆网络执行与工具开销。我的补充观察:BrowseComp 与 Terminal-Bench 只跑一次,方差未知;记忆上限 4,096 槽位对超长历史是否够用缺乏消融;细胞分割案例的成功无法定位关键遗漏信息究竟来自记忆还是重新读文件;前沿模型得分(Gemini 3.1 Pro 89.0 等)来自不同 harness,灰柱参照不构成受控对比。
独立分析的弱点
第一,方法与具体 actor 强绑定:记忆网络以冻结 actor 的特征构建、经其反传训练,换一个基座就要重训 1.5–2B 参数的网络,两阶段课程与数据管道的冷启动成本高,论文也未报告训练时长与 GPU 用量;改进方向是训练 actor 无关的通用记忆编码器,或用轻量适配器把多个 actor 的特征空间对齐到共享记忆骨干。第二,反向 KL 需要教师与学生的完整输出分布,Stage II 依赖预计算摘要和 Qwen 生成的回复,管道复杂且可能引入 Qwen 风格偏差;可探索在线采样或序列级无参考目标。第三,4,096 槽位是固定预算,缺乏按任务复杂度或摘要质量动态分配的机制,摘要写得差时记忆可能超载;可引入不确定性驱动的槽位分配。第四,机制解释缺位:SummHay 归因提升 4.04 分说明记忆保留了证据线索,但论文没有解码或可视化记忆内容,无法回答'记忆到底记住了什么';可对软 token 做属性归因或解码探针。第五,JobBench 成本上升($3.09→$3.21)提示记忆并非在所有任务类型上都省算力,需要更细粒度的成本-收益分析。
未来方向
作者将摘要、软记忆、检索定位为三个互补通道,自然延伸是学习三者的动态路由:何时写摘要、何时依赖记忆、何时去归档检索,甚至让策略本身可学习。基于成果可延伸的方向包括:其一,多智能体共享记忆——多个 actor 复用同一压缩检查点与残差记忆,形成团队级状态;其二,记忆可解释性——将软槽位解码回文本或属性到源位置,回答 SummHay 归因提升的机制问题;其三,与 KV cache 压缩结合,把记忆向量直接写入缓存层以省去对这 4,096 位置的重复注意力计算;其四,在线持续学习——任务进行中用当前 actor 的反馈更新记忆网络,而非固定两阶段训练;其五,多模态扩展——软记忆天然可承载视觉 token,可迁移到长程视觉智能体;其六,压缩比 $m$ 的缩放规律研究,给出槽位预算随历史长度与任务类型变化的经验准则或理论界。
复现评估
论文未提供代码、模型权重或训练配置的开源声明,正文的超参数披露有限(学习率、batch size、$w_j$ 的具体形式、分层压缩细节、门控注意力实现均未给出),从零复现难度较高。可复现的部分较充分:基准全部是公开任务集(BrowseComp 1,266 题、Terminal-Bench 2.1 共 89 题、AutomationBench 600 题、JobBench 65 题),SummHay 是公开基准,评测协议描述详细(GPT-5.6-Sol 评审、固定解码与预算、等预算 Summary++ 对照);架构依赖公开的 DFlash/DFlash-2,基座为公开的 Qwen3.8-27B 与 GLM-5.3-Flash。主要障碍是两阶段训练数据的重建(MMFineReason-Full-2.3M 文本字段、Open-PerfectBlend 提示、预计算摘要与 Qwen 生成回复)以及训练 1.94B/1.502B 记忆网络的算力,估计需多卡 A100/H100 级别运行数天。务实的路径是先在小规模 actor 上复现 SummHay 的归因实验和重复工具输出指标作为代理验证。
论文图表
(a) 展示一次智能体运行中输入长度随请求数的锯齿形曲线:随交互增长至约 100k+ token,在压缩点骤降,反复多次;(b) 用 Harvard-Oxford 脑图谱展示人类记忆系统——前额叶(工作记忆,蓝)、海马(索引,青)、联合皮层(长期存储,紫)。
图(a)直观定义了要解决的问题(/compact 的锯齿模式),图(b)给出'显式检查点+神经索引 reinstatement'的核心设计类比,是理解论文动机和命名的关键。