记忆不该是静态档案柜:Icml 用在线 RL 让"存什么、何时取"边聊边进化
先讲个真问题。做记忆系统的人都熟悉这个套路:写规则决定存什么(比如"包含偏好关键词就入库")、写规则决定何时取(比如"相似度超过阈值就检索")。规则是死的,用户是活的——用户说"今晚有 deadline,给我来杯咖啡"时存的"喜欢咖啡",三个月后用户说"喝咖啡心跳加速",这条旧记忆就成了地雷。静态启发式的记忆管线不会自己更新这个认知,除非你手动去改规则。
昨天聊的 ThinkFlow 是在表示层解决这个问题(把记忆搬进潜在空间),同一个团队同日挂出的这篇 Icml(Interactive Memory Learning,arXiv: 2609.17088,EMNLP 2026 Findings)则是在策略层下手:把"存不存"和"取哪条"都变成可学习的策略,用在线 RL 让两个 Agent 在真实交互里边聊边进化。说实话,把记忆管理显式建模成 POMDP 然后用 PPO 训 Actor-Critic 的做法,在对话记忆这个细分方向我还是第一次见到做得这么完整的——更难得的是它把"记忆的效用要延迟到未来被使用的那一刻才能验证"这个信用分配难题,用一个跨 session 的回溯奖励机制干净地解决了。
核心摘要:现有长期对话记忆是"被动存档"——静态规则决定存取,部署后不会进化。Icml 把记忆管理变成两个可学习的 Actor-Critic 智能体:Planner 决定每轮交互值不值得存(二值动作),Trigger 决定当前 query 要不要检索、取哪条(分类动作);用"回溯式 session 合成"造专家数据做监督热身解决冷启动,再用跨 session 真实奖励把未来的回复质量信号回传给当初的存储决策,双 Agent 用 PPO 协同进化。效果:插到 Gemini2.5 上 CC 数据集 Mauve 80.33(最强 baseline THEANINE 75.42,纯长上下文 72.04);人工评测对最强 baseline 生成胜率 66.0%、记忆检索胜率 70.0%(p<0.01);10 个 session 内 Planner 精度和 Trigger 召回持续爬坡。我的判断:这是记忆管理从"规则工程"走向"策略学习"的标志性工作,延迟奖励设计是全文精华;但评估全部集中在开放域闲聊生成,对事实型记忆问答(LME 那类)是否有效完全没验证,且在线 RL 的训练成本论文说得轻描淡写。
论文信息 - 标题:Interactive Memory Learning for Long-Term Conversations - 作者:Cai Ke, Jiangyue Yan, Han Zhang, Xin Liu, Zike Yuan, Yue Yu, Hui Wang, Ruifeng Xu - 机构:哈尔滨工业大学(深圳)、鹏城实验室 - arXiv:https://arxiv.org/abs/2609.17088 (2026 年 9 月 15 日提交,EMNLP 2026 Findings)
🎯 问题:记忆的"价值"在存储那一刻是未知的
人类记忆从来不是一个被动档案馆。认知心理学早就告诉我们:人有选择地编码对未来决策有高价值的信息,丢弃无关噪声,并且持续根据反馈更新记忆。论文 Figure 1 的例子很贴切——用户先说"咖啡帮我保持清醒"(存:喜欢咖啡),后来又说"喝咖啡让我心跳加速"(更新:不喜欢咖啡了),最后问"同事拿铁好香,给我推荐个提神的东西",一个好 Agent 应该推荐茶。静态系统做不到中间的"更新"这一步。

图 1:长期开放域交互中的记忆进化。注意第二个 session 才是关键——新约束必须覆盖旧偏好
这里有个常被忽视的本质困难:一条记忆的真实价值,只有在未来某个时刻被检索并帮助生成了好回复,才能被验证。存储那一刻你是不知道的。这就是典型的延迟信用分配问题,也是为什么"该不该存"没法用规则写死——规则只能看当下的表面特征,看不到未来的效用。
Icml 的应对是把整个问题形式化为 POMDP:用户真实意图是不可观测的隐状态,Agent 只能看到观测 \(o_k\)(当前 query \(u_k\)、近期对话上下文 \(H_k\)、外部记忆状态 \(\mathcal{M}_k\)),动作是联合动作 \(a_k = (a_k^p, a_k^t)\)——Planner 的二值"存/弃"和 Trigger 的"取第 0~N 条"(取 0 表示不检索)。
🏗️ 方法:数据合成热身 + 双 Agent 在线 RL

图 2:方法全景。中间红色的 Cross-Session Truth Reward 箭头是整个系统的灵魂——把 Trigger 未来的使用反馈回传给 Planner 过去的存储决策
回溯式 session 合成:倒着写故事解决冷启动
在线 RL 一上来就面对真实用户会死得很惨——策略随机、奖励稀疏、冷启动期全是烂回复。Icml 的解法挺聪明:反向生成。
取一个"用户首次暴露特定约束"的 session 作为种子 \(S_{seed}\)(比如用户第一次说"我是素食主义者"),然后用 LLM 当用户模拟器,递归地往前倒推生成前置 session——比如倒推出"三个月前用户聚餐时解释过为什么吃素"这样的历史。反向因果保证整条故事线 \(\mathbb{H}_{gen} = \{S_{prev}^{(L)}, \dots, S_{prev}^{(1)}, S_{seed}\}\) 逻辑自洽。
故事线有了之后,再正向遍历做依赖标注:对 Planner,评估每轮的信息增益打 0/1 标签(值不值得存);对 Trigger,标注解决种子 session 里的 query 到底需要哪几条历史片段,并混入 hard negatives(同 session 的无关轮次)和 soft negatives(全局随机记忆)增强判别力。这套专家数据用来做监督热身(SFT 初始化策略),然后再上线做 on-policy RL。
这个"倒着写"的思路值得记下来:正向生成的对话历史,记忆依赖关系是隐式的、要靠猜;反向从"这条记忆未来会被用到"出发生成,因果关系是构造出来的、显式的。做合成数据的同学可以直接抄这个思路。
Planner:记忆的守门员
Planner 每轮看用户 query,输出二值分布:Save(把当前交互浓缩成记忆片段 \(m_{new}\) 入库)或 Discard。奖励是即时的 proxy reward \(r_k^{proxy} \in [0,1]\)——让基座 LLM 当评委,给这一轮的内在信息价值打分。另外有个 miss-penalty:如果 Planner 把高价值轮次给丢了,吃 \(-\alpha r_k^{proxy}\) 的负奖励,防止探索期把重要信息全过滤掉。
Trigger:按需检索,而不是按相似度检索
Trigger 看当前 query + 对话历史 + 候选记忆集,输出一个分类分布——注意动作空间是记忆索引 \(\{0, 1, \dots, |\mathcal{M}_k|\}\),取 0 就是不检索。这个"允许不取"的设计很关键,传统 dense retrieval 是强制取 top-k 的,经常把噪声拽进来。奖励是 quality reward \(r_k^{qual} \in [0,1]\),由 LLM 多维度给最终回复打分。
跨 session 真实奖励:全文最值钱的设计
存储决策的真实效用要等未来才知道,怎么办?Icml 维护一个 Pending Reward Buffer,存着 Planner 已入库但还没被验证的记忆。当未来某一轮 Trigger 真的触发了记忆 \(m_i\) 并拿到质量分 \(r_{k_{future}}^{qual}\),系统回溯到 \(m_i\) 的创建轮 \(k_{past}\),把这个未来信号回传:
proxy 奖励管"当下看起来有没有价值",truth 奖励管"未来实际有没有用"。Planner 存了一条记忆但从来没被 Trigger 用过,就拿不到第二项——存储策略被逼着向"会被用到的记忆"对齐。两个 Agent 的策略就这样互相塑造、协同收敛。
说实话,这个机制和 ContextPilot 那篇(用分支采样估计动作级优势)解决的是同一类问题——记忆系统的粗粒度信用分配——但思路完全不同:ContextPilot 靠轨迹分叉做统计估计,Icml 靠真实的未来使用事件做回溯赋值。Icml 的信号更"真"(真实交互而非采样估计),但前提是记忆真的会被再次用到,对于"存了但永远没机会用"的记忆,估值就永远是缺失的。这个 bias 论文没讨论。
PPO 联合优化
两个 Agent 共享 Actor-Critic 框架,用标准 PPO 更新——clipped surrogate + 熵奖励,Critic 用 MSE 拟合回报。实现在线 rollout:Agent 在真实场景中跑轨迹 \(\tau = \{(o_k, a_k, r_k)\}\),攒经验、更新、再继续聊。整套是 on-policy 的。
🧪 实验:即插即用挂在闭源模型上,人评也赢了
实验设计有个很聪明的地方:Icml 的 Planner/Trigger 是小模型(1B~12B 开源 LLM),回复生成器是 GPT-4o(128K)或 Gemini2.5(1M)——记忆策略模块即插即用,不需要碰闭源模型的权重。数据集是 CC、MSC、GC 三个真人对聊的长期开放域对话集。基线:Long Context、Mem0、A-Mem、MemoryOS、MemoryBank、LD-Agent、THEANINE。
主实验(Table 1),Gemini2.5 做生成器 + Qwen3 系列做记忆 Agent,CC 数据集:
| 配置 | BLEU-4 | ROUGE-L | BertScore | Mauve |
|---|---|---|---|---|
| Long Context (1M) | 1.57 | 17.50 | 47.50 | 72.04 |
| Mem0 | 1.09 | 15.88 | 44.73 | 52.94 |
| THEANINE(最强 baseline) | 1.64 | 17.02 | 45.23 | 75.42 |
| Icml-Qwen3-8B | 2.21 | 18.22 | 47.82 | 80.33 |
GPT-4o 做生成器同样成立:Icml-Llama3-3B 在 CC 的 Mauve 61.66,压过 THEANINE 的 54.23 和 Long Context 的 55.73。GC 数据集差距最大:Icml-Qwen3-8B Mauve 59.81 vs THEANINE 30.29——接近翻倍。GC 是带真实时间间隔(几分钟到几年)的多 session 数据,对记忆系统的"时间感知"要求最高,这个gap说明进化机制在跨时间场景确实有用。
不过老问题还在:MSC 和 GC 上的 ROUGE-L,Icml 并没有全面压过 baseline(GC 上 Long Context 10.05 vs Icml 10.64,差距很小;MSC 上 Long Context 13.60 vs Icml 13.97)。n-gram 指标在开放域对话上本来就弱,真正能看的还是 Mauve 和后面的人工评测。
人工评测做得比大多数同类工作规范:5 名内部评测员、配对 t 检验、Fleiss' κ 一致性系数。对最强 baseline THEANINE:66.0% 的生成质量胜率(95% CI [60.5%, 71.5%],κ=0.65),70.0% 的记忆检索胜率(95% CI [64.2%, 75.8%],κ=0.68),均 p<0.01。κ 过 0.6 算 substantial agreement,统计上是站得住的——但注意样本量只有 150 条,且评测员是"in-house"的,独立性打折。
消融(Table 2,CC,Mauve 列):
| 变体 | Mauve |
|---|---|
| 完整 Icml | 80.33 |
| w/o Truth Reward | 76.19(跌幅最大) |
| w/o Planner | 78.77 |
| w/o Synthetic Data | 79.57 |
| w/o Evolution | 79.83 |
| w/o Trigger | 79.91 |
跨 session 真实奖励拆掉后跌得最狠,直接验证了"延迟效用回传"是核心增量;w/o Evolution(静态训练不进化)也掉了,证明在线适应不是摆设。
协同分析里有三个值得看的发现。一是 Planner×Trigger 规模热力图呈对角线 pattern——两边模型规模匹配时效果最好(4B+4B 的 Mauve 77.64,反而高于 1.7B+8B 错配的 70.60),小而均衡的配置经常打赢大而不匹配的,对成本敏感的部署是个实用结论。

图 6:规模配比实验——记忆系统的双 Agent 不是各自越大越好,而是越匹配越好
二是协同进化曲线:拉长到 10 个 session,Planner 的存储精度和 Trigger 的检索召回都单调爬坡——两个 Agent 真的在互相成就,而不是各学各的。三是合成数据规模的甜蜜点:0.25K~0.5K episode 最佳,堆到 1K 反而掉(CC 上从 80.33 掉到 76.33)——静态监督太多会把策略过拟合到固定 pattern,损害在线灵活性。这个"热身要适度"的结论和所有做冷启动的场景都相关。不过注意 GC 数据集上这个规律不太稳(0.5K 时 Mauve 直接崩到 49.21),甜蜜点的位置数据集间有差异,论文没解释。
案例研究(Figure 8)展示了完整的进化闭环:早期用户说"我不吃肉"(Planner 存:素食);后来用户拒绝沙拉说"太凉了,我喜欢热的辣的"——Planner 从反馈中学会存下"热辣偏好"这条新记忆;最后用户说"帮我点晚餐",Trigger 同时检索两条记忆,推荐了麻辣豆腐(Spicy Tofu)——素食约束 + 热辣偏好的交集。用户回"Perfect! You know exactly what I want"。

图 8:三阶段进化案例。注意红色虚线的检索动作——最终回复同时命中了长期约束和新学偏好
效率方面,Icml 的推理 token 消耗随 session 深度基本平稳(baseline 线性膨胀),记忆构建延迟也是毫秒级——Planner 的严格过滤防止了上下文膨胀。
🤔 我的判断
这篇论文真正的贡献不是"又涨了几个点",而是把记忆管理从启发式规则搬到了可学习策略,并且把最难的延迟信用分配问题用一个简单漂亮的回溯机制解决了。Pending Reward Buffer + 跨 session truth reward 这个设计,对任何"动作效用在未来才能验证"的记忆系统都有直接借鉴价值——做显式记忆系统的同学(比如用 Mem0 那类管线)完全可以把这个回溯奖励思路移植过去,给"写入决策"加一个延迟的真实效用信号。
和团队同日挂出的 ThinkFlow 对照看更有意思:ThinkFlow 改的是记忆的表示(文本 → 潜在分布),Icml 改的是记忆的策略(规则 → RL 学习)。一个在 substrate 层,一个在 policy 层,理论上正交可组合——潜在技能槽 + 可学习的存取策略,可能是这条研究线的下一步。
但保留意见不少:
- 评估域太窄。只测了开放域闲聊生成,论文自己在 Limitations 里承认不测事实型 QA——也就是说 Mem0 主战场那类"记住用户 50 条事实然后准确回答"的场景,Icml 是否有效完全没有证据。对做记忆 benchmark(PM/LME 那类)的人来说,这篇的结论迁移性存疑。
- 奖励全靠 LLM 评委。proxy reward 和 quality reward 都是 backbone LLM 打的,评委偏好会直接塑造策略。附录 H/N 做了评委鲁棒性分析算是补了一点,但"LLM 评委 + RL"组合天然有 reward hacking 风险——策略可能学会迎合评委而非用户。
- 在线 RL 的真实成本。每轮交互都要 rollout + PPO 更新,论文强调毫秒级推理延迟,但训练开销(尤其是挂在闭源 API 上时,每轮都要调评委 LLM 打分)基本没算细账。真上线陪聊,这个成本结构撑不撑得住要打个问号。
- 无种子、无重复运行。自动指标部分没有多次运行的方差报告,RL 训练的稳定性无从判断——虽然人工评测补了显著性检验,但那 150 条样本撑不起全部结论。
工程启发总结成一句:如果你现在的记忆系统里"存不存"是规则写的,Icml 证明了这件事可以被学习,而且延迟效用的回溯回传是让学习生效的关键——没有 truth reward,只靠即时 proxy 评分,性能立刻掉 4 个点。
📝 收尾
记忆系统正在经历两层解耦:表示层从文本走向潜在空间(ThinkFlow、MemGen),策略层从规则走向学习(Icml)。Icml 的双 Agent + 延迟奖励框架是策略层目前最完整的方案,即插即用挂在闭源模型上的设计也降低了落地门槛。它不会直接替代你手上的记忆管线,但"让存取决策接受未来效用的审判"这个思想,值得每一个做记忆系统的人认真想想怎么搬到自己架构里。
觉得有启发的话,欢迎点赞、在看、转发。跟进最新AI前沿,关注我