CMI-Mem: Toward Generalizable Long-Term Memory Management via CMI-Augmented Reinforcement Learning

论文阅读:CMI-Mem——用条件互信息增强强化学习,实现更具泛化性的长期记忆管理

论文标题:CMI-Mem: Toward Generalizable Long-Term Memory Management via CMI-Augmented Reinforcement Learning
作者:Yubo Wang, Qiuyu Zhao, Zenghui Sun, Shichao Dong, Jinsong Lan, Xiaoyong Zhu, Haoyang Li, Bo Zheng, Lei Chen
单位:Alibaba Group、HKUST、PolyU、HKUST(GZ)
发表位置:arXiv preprint
arXiv 编号:arXiv:2607.20553
阅读版本:v1,2026-07-15
原文链接:https://arxiv.org/abs/2607.20553
代码:https://github.com/Wyb0627/CMIMem
主题:LLM Agent、Long-Term Memory、Memory Manager、Reinforcement Learning、Conditional Mutual Information
核心问题:现有基于强化学习的 Memory Manager 往往依赖合成 QA 和 LLM-as-a-Judge 来评价一条记忆是否“有用”,CMI-Mem 尝试额外引入一个不依赖具体未来问题的内在信息价值信号,使 Memory Manager 学会保存“对未来可能有用且不冗余的信息”。


1. 论文要解决什么问题?

LLM 本身没有持续存在的长期历史状态。

在长期交互 Agent 中,一种常见做法是维护一个外部 Memory,并通过 Memory Manager 决定:

  • 当前对话中的哪些内容值得保存;
  • 应该存入哪一种 Memory;
  • 新信息应该新增、更新、合并还是跳过;
  • 已有 Memory 应该如何被修改;
  • 回答未来问题时应该检索哪些 Memory。

近年来已经开始出现一类工作:不再仅仅依靠 Prompt 手工规定 Memory Manager 的行为,而是使用强化学习训练 Memory Manager。

但是强化学习首先需要解决一个问题:

怎样给一次 Memory 操作定义 Reward?

现有方法通常采用 QA 驱动的思路。

例如,系统根据历史对话生成一些问题:

Q: 用户最喜欢什么运动?

然后让当前 Memory 帮助 Answer Model 回答问题,再通过 LLM-as-a-Judge 判断答案是否正确。

如果回答正确,就说明之前的 Memory 操作是好的;如果回答错误,则给予较低 Reward。

论文认为,这种方法存在一个根本问题:

Memory 的价值被间接定义成了“它是否能够帮助回答目前采样出来的这些问题”。

也就是说,Reward 实际上同时受到三个因素影响:

Memory
    +
被采样出来的问题
    +
Answer Model / Judge

而不是单独评价:

这条 Memory 本身是否值得保存?

1.1 QA Reward 的第一个问题:Question Distribution

假设一段对话中包含:

用户喜欢喝燕麦拿铁。
用户下周要去东京。
用户最近开始在家工作。

如果训练时生成的问题一直是:

用户喜欢喝什么?

那么“燕麦拿铁”会不断收到 Reward。

但是:

用户下周要去东京

可能没有对应训练问题。

这并不意味着这条信息没有价值,只意味着当前生成的 QA 没有问到它。

而未来 Agent 可能会遇到:

用户下周准备去哪里?

或者需要进行:

  • 个性化推荐;
  • 总结;
  • 时间推理;
  • 行程规划;
  • 跨 Session 推理。

因此,训练阶段有限的 QA 无法覆盖 Memory 未来所有可能的用途。


1.2 QA Reward 的第二个问题:依赖 Answer Model 与 Judge

QA Reward 还依赖具体的 Answer Model。

同一份 Memory:

Memory -> Answer Model A -> 正确
Memory -> Answer Model B -> 错误

可能产生不同 Reward。

于是 Memory Manager 学到的并不完全是:

什么信息应该被记忆。

而可能是:

什么信息最适合当前这套 Question + Answer Model + Judge 流程。

论文将这一问题称为 downstream-conditioned memory valuation(下游条件化的记忆价值评估)


1.3 QA Reward 的第三个问题:Credit Assignment 较粗

一个长期 Memory trajectory 中可能发生很多次操作:

Session 1 -> Add
Session 2 -> Update
Session 3 -> Skip
Session 4 -> Merge
...
Session N -> QA

最终 QA 正确或者错误之后,再给前面的 Memory 操作 Reward。

这样很难回答:

到底是哪一次 Memory 操作做对了,或者做错了?

即使像 FineMem、MemBuilder 一样生成 session-level QA,使 Reward 更密集,也仍然没有摆脱“由生成的问题来定义 Memory 价值”这一前提。


2. CMI-Mem 的核心思路

CMI-Mem 并没有试图删除 QA Reward。

相反,作者明确认为:

QA Reward 仍然是必要的。

因为如果完全不看下游任务,Memory Manager 可能会保存大量“信息量很高但任务上没什么用”的内容。

因此论文最终采用的是一种混合 Reward:

Final Reward
    =
Intrinsic CMI Reward
    +
Extrinsic QA Reward

其中:

  • QA Reward:保证 Memory 最终能够服务于任务;
  • CMI Reward:评价当前 Memory 操作本身增加了多少新的有效信息。

这里的 CMI 是:

Conditional Mutual Information,条件互信息。

论文希望用它回答:

在已经知道现有 Memory 的情况下,新生成的 Memory fragment 还为当前对话带来了多少额外信息?

可以直观写成:

CMI
=
当前对话 C_t
和
新记忆 m_new
之间的关联

在排除“已有 Memory 已经解释的信息”之后
剩下多少?

于是:

  • 与当前对话高度相关;
  • 同时又不是旧 Memory 的重复;

这样的 Memory 会获得较高 CMI。

反过来:

  • 重复旧信息;
  • 与当前 Session 无关;
  • 甚至与当前信息冲突;

都会得到较低的 CMI。

这使 Reward 从:

以后生成的问题有没有刚好问到它?

增加了一条新的评价路径:

这次 Memory 操作本身有没有为 Memory State 增加新的有效信息?

论文将相关工作分成三类。

3.1 Training-free Memory Management

第一类是不训练专门的 Memory Manager,而是依靠:

  • Prompt;
  • Rule;
  • Tool Calling;
  • Retrieval;
  • Knowledge Graph;

来管理 Memory。

论文列出的代表工作包括:

  • MemOS;
  • AriGraph;
  • Zep;
  • Mem0。

例如 Mem0 会通过 Prompt 和 Tool 来完成:

Memory Extraction
-> Deduplication
-> Update
-> Retrieval

这类方法主要依赖 LLM 本身的推理能力和系统工程设计。


3.2 直接 Fine-tune Answer Model

另一条路线不是维护外部 Memory Manager,而是把个性化信息直接学习进模型。

例如:

  • PersonalLLM;
  • PENSIEVE;
  • Yo'LLaVA。

论文认为,这类方法在大规模用户场景下面临可扩展性问题,同时持续 Fine-tuning 还可能带来 catastrophic forgetting(灾难性遗忘)。


3.3 使用 RL 训练 Memory Manager

第三类与 CMI-Mem 最相关。

代表方法包括:

方法 Reward / 训练思路
Memory-R1 下游 QA + LLM-as-a-Judge
AgeMem 手工 Memory 管理规则 + LLM-as-a-Judge
FineMem Session-specific synthetic QA
MemBuilder Session-level QA + contribution-aware gradient weighting
CMI-Mem QA Reward + intrinsic CMI Reward

CMI-Mem 与这些工作的主要区别并不是“使用了 RL”。

真正不同的是:

作者试图为 Memory 本身定义一个不依赖具体 QA Query 的 intrinsic reward(内在奖励)。


4. 将长期 Memory 管理看成信息压缩问题

论文首先把长期对话表示为 Session 序列:

D = (C_1, C_2, ..., C_T)

其中每个 C_t 是一次多轮用户—助手交互。

系统在每个时间点维护一个 Memory State:

M_t = (
    M_core,
    M_epi,
    M_sem,
    M_pro
)

也就是说,Memory 被划分为四类。

Memory 类型 含义 保存内容
Core Memory 核心记忆 稳定的用户属性、身份、偏好、长期目标
Episodic Memory 情景记忆 带时间戳的事件与经历
Semantic Memory 语义记忆 事实、实体、知识
Procedural Memory 程序记忆 Routine、Workflow、操作步骤

论文因此将 Memory Management 描述为一个 information compression(信息压缩)问题

面对不断增长的对话历史,系统需要持续判断哪些信息值得保留、更新、合并或者舍弃,从而维护一个可以长期演化的 Memory State。


5. CMI-Mem 方法

论文的整体框架包含三个核心部分:

  1. Structured Multi-dimensional Memory Architecture;
  2. Action-conditioned CMI Reward;
  3. 基于 GRPO 的强化学习训练。

image

【Figure 3。该图是 CMI-Mem 的整体训练框架。阅读时重点观察左侧四类 Memory Bank、中间 Session-by-Session 的 Memory State rollout,以及下方每一步都能够产生的 CMI Reward 与右侧最终 QA Reward 两条奖励路径。】

Figure 3 最关键的地方,是两条 Reward 路径:

Session
  |
Memory Manager
  |
Memory Operation
  |
  +------> CMI Reward      每一步都可以计算
  |
Memory State
  |
  ...
  |
Question
  |
Answer Model
  |
LLM-as-a-Judge
  |
QA Reward                 下游结果级反馈

CMI 并不是取代 QA,而是在原本的 QA Reward 上增加一个更加细粒度的 Memory 内在评价信号。


5.1 Structured Multi-dimensional Memory Architecture

每种 Memory 都有自己的管理 Agent:

pi_core
pi_epi
pi_sem
pi_pro

但这里并不是训练四套独立模型。

这四个 Agent 共享同一个 Policy 的参数,只是负责不同 Memory 类型,并拥有不同 Action Space。

Core Memory

支持:

APPEND
REPLACE
REWRITE

其中:

  • APPEND:增加新的稳定用户信息;
  • REPLACE:修改 Core 中某个已有事实;
  • REWRITE:重新组织整个 Core Profile。

Appendix 中进一步说明,Core Memory 是一个始终放入 Prompt 的 bounded profile,而不是普通 Vector DB Entry。

Core 最大长度设置为:

L_core = 5000 characters

使用超过 90% 时触发压缩。


Episodic Memory

支持:

ADD
UPDATE
MERGE
SKIP

Episodic Memory 类似用户的“日记”。

主要保存:

什么时候
发生了什么
在哪里
涉及谁
为什么

其中:

  • ADD:创建新的事件;
  • UPDATE:在保留原记录的情况下补充后续事件;
  • MERGE:把多个相关事件整理成时间线;
  • SKIP:当前 Session 没有值得保存的事件。

Semantic Memory

支持:

ADD
UPDATE
SKIP

保存:

  • 实体;
  • 事实;
  • 概念;
  • 用户相关知识。

Procedural Memory

同样支持:

ADD
UPDATE
SKIP

保存:

  • Routine;
  • Workflow;
  • step-by-step procedure。

5.2 每个 Session 中 Memory Manager 如何工作

对于新的 Session C_t,每个 Memory Agent 都会看到:

当前 Session C_t
+
对应 Memory Slot 中 Top-k 相关旧 Memory

然后产生:

Action
+
candidate memory fragment

例如:

Semantic Agent:

Action = UPDATE
New Memory =
"Starbucks Gold requires 120 stars."

所有 Memory 操作执行完后:

M_(t-1) -> M_t

得到新的 Memory State。


5.3 一个很重要的设计:Memory 同时也是原始对话的索引

CMI-Mem 中的 Memory Fragment 不只是压缩后的 Summary。

作者让部分 Memory Entry 同时承担 retrieval index(检索索引) 的作用。

也就是说:

Memory Fragment
     |
     +------> Source Dialogue Turn

回答问题时,首先根据 Memory Fragment 检索相关记忆,然后再找到它对应的原始对话。

于是 Answer Model 最终看到的并不只是:

压缩后的 Memory Summary

还能够看到:

原始 Dialogue Evidence

论文认为,这可以减少纯摘要式 Memory 带来的 information loss(信息损失)。

尤其当任务需要精确数字、标签或原始细节时,压缩后的 Memory 可能丢失关键内容。


6. 核心:Action-conditioned CMI Reward

这是整篇论文最关键的部分。

作者希望评价:

当前这个 Memory Action 到底给 Memory State 带来了多少以前没有的信息?

理论上作者首先写成:

R_t = I(M_t ; A_t | M_(t-1))

直观理解:

在已有 Memory M_(t-1) 已知的条件下,这次 Action A_t 对新的 Memory State M_t 提供了多少额外信息。

但实际 Memory Action 最终产生的信息主要体现在新生成的 Memory Fragment 上。

因此实际使用:

r_CMI
=
I(
    C_t ;
    m_new
    |
    M_local
)

其中:

  • C_t:当前对话 Session;
  • m_new:Memory Manager 生成的新 Memory Fragment;
  • M_local:从旧 Memory 中选择的一组相关 Memory。

6.1 为什么需要 Conditional,而不能只计算相似度?

假设:

当前 Session:
用户说自己喜欢燕麦拿铁。

旧 Memory:
用户喜欢燕麦拿铁。

新 Memory:
用户喜欢燕麦拿铁。

当前 Session 和新 Memory 的 Semantic Similarity 非常高。

但这条新 Memory 完全没有增加信息。

如果只计算:

similarity(C_t, m_new)

它反而会得到非常高的 Reward。

这显然不是作者想要的。

CMI 要做的是:

先问旧 Memory 已经解释了多少
          |
          v
把已有信息去掉
          |
          v
再评价 m_new 是否提供额外内容

因此:

Relevant + Novel
        ->
High CMI

而:

Relevant + Redundant
        ->
Low CMI

这也是 CMI 相比普通 Semantic Similarity 最重要的地方。


6.2 M_local:不用整个 Memory Bank 计算

理论公式中可以对整个 M_(t-1) 做条件化。

但现实中长期 Memory Bank 可能非常大。

因此作者只构建一个 local conditioning set。

Appendix 给出的实现方式是:

M_local
=
Top-k Similar Memories
+
Recent Memories

检索 Query 综合:

Session Context
Candidate Memory
Target Old Memory(如果是 Update / Replace)

具体权重为:

q =
0.5 * e_context
+
0.5 * e_new
+
0.3 * e_old

其中 e_old 仅在 Update / Replace 等存在目标旧 Memory 时使用。

论文 Appendix 中给出的 Local-CMI 设置为:

top-k = 8

并额外加入最近的 Memory,以同时考虑:

  • semantic relevance;
  • temporal recency。

如果 Memory 数量太少,则退化为普通的 unconditional cosine similarity。


7. CMI 实际怎么计算?

这里存在一个现实问题:

对自然语言直接计算严格意义上的 Conditional Mutual Information 非常困难。

因为自然语言 Embedding 并不存在一个已知的封闭形式联合概率分布。

因此论文并没有直接计算理论 CMI,而是使用 partial correlation(偏相关) 进行近似。


7.1 Residual Projection

首先得到三个 Embedding:

e_C      = 当前 Session embedding
e_new    = 新 Memory embedding
M        = 旧 Memory embeddings

然后作者通过 Projection,把能够被旧 Memory 解释的部分去掉。

可以直观理解为:

Context Embedding
      |
减掉
      |
旧 Memory 能解释的方向
      |
      v
r_C

以及:

New Memory Embedding
      |
减掉
      |
旧 Memory 能解释的方向
      |
      v
r_new

这里的:

r_C

表示:

当前 Session 中还没有被现有 Memory 覆盖的信息。

而:

r_new

表示:

新 Memory 中相对于旧 Memory 真正新增的内容。

接下来计算:

CMI_hat
=
cosine(r_C, r_new)

如果二者高度一致,说明:

新 Memory 恰好捕获了当前 Session 中旧 Memory 尚未覆盖的信息。

因此得到较高 Reward。

论文在 Projection 中还加入:

lambda = 1e-4

的 Tikhonov regularization(吉洪诺夫正则化),以避免旧 Memory Embedding 高度相关时矩阵求逆变得不稳定。


7.2 为什么负值被截断?

如果 residual correlation 为负:

CMI_hat < 0

论文认为这表示新 Memory 在给定已有 Memory 后,与当前 Context 呈反相关关系,可能产生误导。

因此最终截断:

CMI_hat = max(0, CMI_hat)

将其限制到:

[0, 1]

8. 不同 Memory Action 的 CMI 计算方式并不一样

对于:

ADD
MERGE

直接评价新 Memory 的信息量:

Reward = CMI(new_memory)

但对于:

UPDATE
REPLACE

仅仅看新 Memory 好不好是不够的。

因为真正需要判断的是:

新版本相比旧版本有没有变得更好?

因此计算的是:

Delta_CMI
=
CMI(new_memory)
-
CMI(old_memory)

例如:

Old:
Starbucks Gold requires 125 stars.

New:
Starbucks Gold requires 120 stars.

如果新的 Memory 能更好解释当前 Context:

Delta_CMI > 0

那么 UPDATE 得到正 Reward。

因此这套 CMI 并不是简单地评价“写入了一段什么文本”,而是 action-conditioned(与具体 Memory 操作绑定) 的。


9. 为什么还需要 Gaussian Reward Shaping?

一个很容易产生的直觉是:

CMI 越高越好。

但作者并没有直接采用这个规则。

原因在于,极端高 CMI 也可能对应某些异常、过度具体或者不稳定的新信息。

论文因此使用 Gaussian shaping(高斯奖励塑形):

shaped_CMI
=
exp(
    - (CMI_hat - mu)^2
      / (2 * sigma^2)
)

实验设置为:

mu    = 0.35
sigma = 0.15

也就是说,Reward 并不是一直随着 CMI 单调增加,而是在一个作者经验上认为较合理的 CMI 区间达到峰值。

其目标是鼓励:

适度的新颖性
+
与当前 Session 相关
+
不过度偏离已有 Memory

而不是简单追求“越不同越好”。


10. 最终 Reward:CMI 只是补充,QA 仍然存在

最终每一步 Reward 是:

r_t
=
alpha * r_CMI
+
(1 - alpha) * r_QA

论文完整模型中:

alpha = 0.3

也就是说,CMI 只占部分权重。

这非常重要。

CMI-Mem 的论点并不是:

QA Reward 没用

而是:

只靠 QA Reward 不够

QA 负责:

Task Utility

CMI 负责:

Information Quality
+
Novelty
+
Non-redundancy
+
Fine-grained Credit Assignment

二者承担不同职责。


11. 其他 Reward Regularization

除了 CMI 和 QA,论文实际训练中还有一些辅助 Reward。

Format Validity

如果输出格式错误:

Reward -> 0

同时还会给予 per-turn format penalty。


Length Penalty

避免 Memory Manager 通过输出极长 Memory 来提高信息覆盖率。


Duplication Penalty

包括:

Intra-session duplication
Cross-session duplication

防止重复添加相同或者近似 Memory。


Core Specificity Penalty

如果生成类似:

"User is a lifelong learner."

这种过于模板化、缺乏区分度的 Core Memory,会受到惩罚。

作者希望 Core Memory 更具体。


Contribution-aware Attribution

系统统计回答问题时哪个 Memory Type 被检索最多。

贡献最高的 Memory Type 会得到更高 Reward 权重。

实验中 attribution amplification 设置为:

alpha_attr = 4.0

其目的在于把梯度更多分配给真正参与最终 QA 的 Memory 类型。


12. 使用 GRPO 训练 Memory Manager

CMI-Mem 使用:

GRPO(Group Relative Policy Optimization)

进行 RL Training。

论文明确说明:

GRPO 算法本身没有被修改。

创新主要来自:

  • Reward 设计;
  • Curriculum Learning;
  • Memory Architecture。

12.1 Session-level Rollout

对于每个 Session,采样:

N = 8

条 rollout。

每个 rollout 会同时产生四类 Memory 的操作。

例如:

Core       -> APPEND
Episodic   -> ADD
Semantic   -> UPDATE
Procedural -> SKIP

然后计算 composite reward。

组内 Reward 做归一化之后,按照标准 GRPO clipped objective 更新 Policy。


12.2 不使用 SFT Warm-start

论文还有一个值得注意的训练设计:

CMI-Mem 没有先进行 task-specific SFT,再做 RL。

而是直接从 instruction-tuned model 开始 RL。

作者认为这样可以避免:

Expert Demonstration Distribution

与:

Policy 自己探索出来的 trajectory distribution

之间的 mismatch。

但直接 RL 又会导致早期训练较困难,因此论文使用 Curriculum Learning。


13. Curriculum Learning

作者为每个 Session 定义 Difficulty Score:

difficulty
=
w_s * session_depth
+
w_c * candidate_memory_count
+
w_q * QA_count

其中考虑三个因素:

  1. 当前已经积累了多少 Session;
  2. 当前 Session 中包含多少候选 Memory;
  3. 有多少关联 QA。

然后把样本划分为三个难度等级。

训练时:

  • Batch 中同时包含不同难度样本;
  • 每个难度层内部由简单到困难;
  • 随 Epoch 推进整体难度逐渐上升。

这样可以缓解完全没有 SFT Warm-start 时的训练不稳定问题。


14. 实验设置

论文在三个长期记忆 Benchmark 上实验。

Dataset 主要测试内容
LongMemEval 长期 Recall、跨 Session 聚合、Knowledge Update、Temporal Reasoning
LoCoMo 更长的人类—人类长期对话
MemoryAgentBench Long-range Understanding、Selective Forgetting、Summarization、Recommendation、Open-ended QA 等

训练只使用:

LongMemEval RL split

LoCoMo 没有参与训练,因此属于严格的 OOD(Out-of-Distribution,分布外)测试。

MemoryAgentBench 中作者排除了 FC-MH 子集,因为作者发现其中存在可检测的 counterfactual construction,使评价结果无法有效反映 Memory Quality。


14.1 模型配置

主要配置为:

Component Setting
Memory Manager Qwen3-4B-Instruct-2507
Embedding Model Qwen3-Embedding-0.6B
Answer Model Qwen3.7-Max
LLM Judge Qwen3.7-Max
RL GRPO
Hardware 8 × H20 96GB
Epoch 5
Learning Rate 1e-6
Batch Size 32
Rollouts / Session 8
Rollout Temperature 0.8
Top-p 0.9
CMI / QA Mixing Weight 0.3
Gaussian Center 0.35
Gaussian Width 0.15

训练数据按照 MemBuilder 的协议使用 deepseek-v4-pro 合成。


15. Main Results

论文首先比较三类方法:

  1. RAG;
  2. Prompt-based Memory Manager;
  3. RL-based Memory Manager。

总体结果如下。

Method LoCoMo LongMemEval MemoryAgentBench
RAG top-5 50.5 50.0 24.5
RAG top-10 49.3 50.5 30.7
Mem0 51.6 47.0 37.2
MemBuilder-P (Qwen3-4B) 63.4 53.3 36.9
Ours-P (Qwen3-4B) 64.1 55.0 45.8
Memory-R1-4B 62.7 60.8 41.1
MemBuilder-RL-4B 68.1 56.5 35.1
CMI-Mem-4B 72.1 67.0 46.1

这里的 Ours-P 表示:

使用论文提出的 Memory Architecture,但是不进行 RL,只通过 Prompt 驱动。

因此它可以帮助区分:

Memory Architecture 本身的收益

和:

CMI + RL Training 的收益

15.1 Structured Memory 相比纯 RAG

作者发现总体上:

Structured Memory Management > Raw RAG

RAG 只是把相似的原始历史对话检索出来。

而 Memory Manager 会额外进行:

  • 选择;
  • 分类;
  • 更新;
  • 合并;
  • 压缩;
  • 时间组织。

因此在长期对话场景中,单纯 Top-k Retrieval 通常无法替代显式 Memory Management。

不过论文也指出,在 MemoryAgentBench 的某些依赖大范围上下文覆盖的任务中,RAG 仍具有竞争力。

也就是说,论文并没有声称 RAG 在所有 Memory Task 上都一定更差。


16. Retrieval-indexed Memory 的作用

在相同 Backbone 下:

Ours-P

总体优于或接近:

MemBuilder-P

两者都使用:

Core
Episodic
Semantic
Procedural

四类 Memory。

论文认为区别主要来自:

CMI-Mem 的 Memory Entry 可以继续作为 Source Dialogue 的索引。

因此:

Abstract Memory
       |
       v
Source Dialogue

可以重新获取原始 Evidence。

这对要求精确数字或者原始样本信息的任务尤其重要,因为纯 Summary 很容易在压缩时丢掉这些细节。


17. CMI Reward 是否真的提高了泛化?

论文重点关注 MemoryAgentBench。

原因在于 CMI-Mem 是在 LongMemEval 上训练的,而 MemoryAgentBench 包含:

  • Summarization;
  • Recommendation;
  • Open-ended Question;
  • Selective Forgetting;
  • Long-range Understanding;

这些任务结构与训练阶段 Fact-seeking QA 有较明显差异。

在 4B RL 模型中:

MemBuilder-RL-4B : 35.1
CMI-Mem-4B      : 46.1

提高:

+11.0

8B 模型进一步比较:

MemBuilder-RL-8B : 51.7
CMI-Mem-8B      : 56.7

论文据此认为:

在 QA Reward 之外加入与具体 Query 无关的 Memory intrinsic signal,有助于减少 Memory Manager 对训练 QA Distribution 的过度依赖。


18. Training Dynamics

论文还比较了:

QA Reward Only

和:

CMI + QA Reward

的训练动态。

作者观察到:

  • QA-only 的 Policy Gradient Loss 随训练逐渐向负方向漂移;
  • CMI+QA 的 Loss 更接近零附近;
  • CMI 每一步都可以产生 Memory Operation-level Reward;
  • 因此 Difficulty Curriculum 变化时 Reward Transition 更平滑。

论文认为这说明 CMI 有助于稳定训练。

另外,Appendix 报告:

CMI-guided Policy 在训练时平均 Response Length 只有 QA-only 的约 39%

也就是说,加入 CMI 后,模型倾向于输出:

更短
更直接
更明确

的 Memory Operation。


18.1 Memory Bank 也更加紧凑

Appendix 给出的平均 Memory Bank Statistics:

Memory QA Only Count CMI+QA Count
Core 3.9 2.7
Episodic 284.1 318.8
Semantic 242.6 231.5
Procedural 139.9 82.6
Total 670.5 635.6

最明显的变化来自 Procedural Memory:

139.9 -> 82.6

论文的 Case Study 也显示,QA-only Policy 容易大量生成重复、泛化的“how-to”式 Procedural Memory。

而 CMI 会认为这些跨 Session 重复出现的流程信息:

Novel Information Gain 很低

因此降低它们的写入倾向。


19. 消融实验

LongMemEval 上的核心消融如下:

Variant Overall KU MS SS-A SS-P SS-U TR
Qwen3-4B 53.25 54.10 40.43 88.00 70.37 85.19 28.95
+RM 55.00 65.57 39.36 90.00 62.96 79.63 33.33
+QA 56.50 62.30 43.62 90.00 59.26 83.33 35.96
+RM+QA 53.25 60.66 40.43 86.00 40.74 81.48 35.09
+CMI 45.00 47.54 27.66 84.00 59.26 66.67 27.19
+CMI+QA 67.00 63.93 53.19 96.00 70.37 90.74 55.26
CMI-Mem Full 68.50 67.21 51.06 100.00 85.19 90.74 55.26

这里可以看到几个非常关键的现象。


19.1 Retrieval-indexed Memory 本身有效

基础模型:

53.25

加入 RM 后:

55.00

其中 Knowledge Update:

54.10 -> 65.57

说明回到 Source Dialogue 获取原始 Evidence 对事实更新任务确实有帮助。


19.2 单独 QA Reward 有一定效果

53.25 -> 56.50

说明 Outcome-level RL 本身可以提升 Memory Management。

尤其对:

  • Multi-session;
  • Temporal Reasoning;

有帮助。


19.3 RM + QA 直接叠加反而退化

比较:

+RM      = 55.00
+QA      = 56.50
+RM+QA   = 53.25

简单把 Retrieval-indexed Memory Architecture 和 QA Reward 放在一起,并没有产生加成。

作者据此认为:

richer Memory Action Space 仅靠 Outcome-level QA Supervision 并不足以提供好的 Credit Assignment。


19.4 CMI 不能单独使用

这是整篇论文非常重要的消融。

+CMI only = 45.00

明显低于 Base:

53.25

也就是说:

只追求 Information Gain 并不能训练出好的任务型 Memory Manager。

因为“信息量大”并不等价于“对任务有帮助”。


19.5 CMI + QA 才是关键

QA Only      : 56.50
CMI Only     : 45.00
CMI + QA     : 67.00

最终再加入 Retrieval-indexed Memory:

Full Model   : 68.50

这正好支持作者最核心的论点:

Intrinsic Memory Quality
        +
Extrinsic Task Utility

需要同时存在。

CMI 负责回答:

这是不是一条新的、有信息量的 Memory?

QA 负责回答:

这条 Memory 最后有没有帮助 Agent 完成任务?

两者并不是替代关系。


20. CMI Weight 的消融

完整模型使用:

alpha = 0.3

也就是:

30% CMI
70% QA

提高 CMI 比例后:

Setting Overall
alpha = 0.3 68.50
alpha = 0.5 63.00
alpha = 0.7 59.50

随着 CMI 权重继续增加,效果下降。

这进一步说明论文中的 CMI 更适合作为:

QA Reward 的辅助信息价值信号

而不是 Memory Manager 唯一的优化目标。


21. Gaussian Shaping 与 CMI Estimator 消融

去掉 Gaussian Shaping 后:

68.50 -> 67.75

整体有所下降。

不过 Temporal Reasoning:

55.26 -> 60.53

反而提高。

因此 Gaussian Shaping 并不是所有子任务都受益。

论文还测试了:

  • logprob-based CMI estimator;
  • embedding-based CMI estimator。

不同 Estimator 在不同类别上各有优势:

  • logprob-based 在 Knowledge Update、SS-U 上更强;
  • embedding-based 在 Preference、Temporal Reasoning 上更强。

论文最终完整模型采用 Embedding-based CMI。


22. Case Study:CMI 到底改变了什么 Memory?

论文 Appendix 专门比较了:

QA-only Policy

和:

CMI + QA Policy

生成的 Memory Bank。

作者选择了五类案例:

类型 问题 QA-only CMI+QA
Knowledge Update Starbucks Gold 需要多少 stars? 125,错误 120,正确
Multi-session 总共为慈善筹了多少钱? $1,750 $3,750
Multi-session 背包购买后几天到达? 无法回答 5 天
Preference 如何保持厨房整洁? 通用建议 基于用户习惯的个性化建议
Temporal 最近坐的是 Bus 还是 Train? Bus Train

这些例子展示了 CMI Reward 对 Memory Construction 行为的影响。


22.1 Knowledge Update:避免旧事实持续存在

用户一开始认为:

Starbucks Gold = 125 stars

后来更正为:

Starbucks Gold = 120 stars

QA-only Policy 最终仍保存:

125

而且错误信息同时出现在 Semantic 和 Episodic Memory。

CMI+QA 则将 Semantic Memory 更新为:

120 stars

并在 Episodic Memory 中记录这次 correction。

作者将其归因于 CMI 对:

重复旧信息

给予较低 Reward,而:

更新旧知识的新信息

具有更高 Information Gain。


22.2 Cross-session Aggregation:减少 Procedural Noise

另一个例子要求统计用户多次慈善活动一共筹集了多少钱。

QA-only 得到:

$1,750

CMI+QA 得到:

$3,750

分析 Memory Bank 后发现:

QA-only 生成了大量:

"如何进行慈善筹款"

之类的 Procedural Memory。

其中很多是高度相似的通用步骤。

该案例中:

QA-only Procedural : 141
CMI+QA Procedural  : 69

下降约 51%。

与此同时 CMI+QA 保存了更多具体的金额事实。

因此在需要跨 Session 聚合时:

$1000
$300
...

这些具体事实更容易被检索出来。


22.3 Temporal Reasoning:保留真正新的时间信息

用户一月份多次坐 Bus,三月份又坐过 Train。

问题:

最近一次使用的是 Bus 还是 Train?

QA-only 回答:

Bus

CMI+QA:

Train

QA-only 的 Memory 中有大量旧 Bus Event,却没有很好地总结新的时间变化。

CMI+QA 则生成了类似:

Recently increased train usage...
March 3rd train ride...

这样的 Semantic + Episodic 信息。

论文认为 CMI 鼓励 Memory Manager 将新的时间模式进行 consolidation,而不只是不断重复旧事件。


23. 论文最终得到的整体结论

CMI-Mem 的核心贡献不是重新发明一种 Memory 类型,也不是提出新的 RL Optimizer。

它主要重新考虑了:

Memory Manager 的 Reward 应该如何定义。

传统 QA-based RL:

Memory
  |
  v
Question
  |
Answer Model
  |
Judge
  |
Reward

CMI-Mem 增加了一条:

Current Session
     +
Existing Memory
     +
New Memory
     |
     v
Information Gain
     |
     v
CMI Reward

于是 Memory Manager 同时受到两种监督:

QA:
最终是否有用?

CMI:
当前这一步有没有真正给 Memory 增加新的有效信息?

实验中的关键现象也与这一设计一致:

CMI only     -> 45.00
QA only      -> 56.50
CMI + QA     -> 67.00
Full         -> 68.50

因此论文强调的是二者的 complementarity(互补性)


24. 论文指出的局限性

论文最后明确列出了三个限制。

24.1 多模态能力受 Backbone 限制

如果扩展到:

  • Video;
  • Audio;
  • Image;

CMI-Mem 的 Memory Quality 仍然受基础模型感知能力限制。

如果 Backbone 本身无法准确理解某个模态,那么 Memory Manager 也无法构建高质量 Memory。


24.2 目前只验证到 4B / 8B

主要 RL 实验基于 4B 模型。

8B 只在 MemoryAgentBench 上进行了测试。

论文尚未验证:

14B+

以及更大 Memory Manager 上是否仍然成立。

因此 CMI Reward 的 Scaling Behavior 仍需进一步实验。


24.3 评价仍然主要依赖 QA

这是论文自身承认的一个比较直接的矛盾。

论文的出发点之一是:

只通过 QA 判断 Memory Quality 不够。

但当前领域中的 Benchmark 本身仍然主要依靠:

Question Answering

评价 Memory。

论文实验也使用 Qwen3.7-Max 作为:

Answer Model
+
LLM Judge

因此即使 CMI-Mem 希望提升“独立于具体 Query 的 Memory Quality”,最终仍缺少一个成熟的、直接评价 Memory 本身质量的 Benchmark。

作者因此将:

构建更直接的 Memory Quality Evaluation Data 与 Metric

作为后续方向之一。


25. 总结

CMI-Mem 研究的是长期 Memory Agent 中一个非常具体的问题:

Memory Manager 应该根据什么 Reward 学习?

过去的 RL Memory Manager 大多围绕:

Synthetic QA
+
Answer Model
+
LLM-as-a-Judge

构造 Reward。

CMI-Mem 认为这种 Reward 能保证 Task Utility,却不足以直接评价 Memory Operation 本身。

因此作者加入 Conditional Mutual Information:

CMI
=
新 Memory 对当前 Session 的信息贡献
-
已有 Memory 已经能够解释的信息

在实现上,论文并没有直接计算严格的概率论 CMI,而是:

Embedding
-> Existing Memory Projection
-> Residual
-> Partial Correlation / Cosine Similarity
-> Gaussian Shaping

得到可计算的近似 Reward。

最终训练目标仍然保留 QA:

Reward
=
0.3 * CMI
+
0.7 * QA

再配合:

  • 四类结构化 Memory;
  • Retrieval-indexed Memory;
  • GRPO;
  • Curriculum Learning;
  • Duplication / Length / Format Regularization;

训练一个轻量 Memory Manager。

实验中最重要的消融并不是单独 CMI 的结果,而恰恰是:

CMI Only < QA Only < CMI + QA

说明论文提出的 CMI 并不能独立定义“好的 Memory”,但它可以为 QA Reward 提供原本缺失的细粒度、Query-independent 信息价值信号。

从论文的论证逻辑来看,CMI-Mem最终要解决的并不是:

如何完全摆脱 QA?

而是:

如何避免 Memory Manager 的训练目标完全由有限的 QA Distribution 所定义?

参考

  1. Yubo Wang, Qiuyu Zhao, Zenghui Sun, Shichao Dong, Jinsong Lan, Xiaoyong Zhu, Haoyang Li, Bo Zheng, Lei Chen. CMI-Mem: Toward Generalizable Long-Term Memory Management via CMI-Augmented Reinforcement Learning. arXiv:2607.20553, 2026.
    https://arxiv.org/abs/2607.20553

  2. CMI-Mem 官方代码:
    https://github.com/Wyb0627/CMIMem

posted @ 2026-09-16 21:02  YourF4u1t  阅读(9)  评论(0)    收藏  举报