一个直觉的陷阱
你给一个带记忆的 LLM 装了一套记忆管理系统:每条对话后,系统决定存什么、删什么、合并什么。为了判断某条记忆 m 有没有用,你做了一个看起来很合理的事——做 A/B 实验:有 m 的对话和没有 m 的对话,比较任务表现差异。
结果发现,大量记忆的"效用"接近零。于是系统自信地把它们删了。
但等一下。一条从未被检索到的记忆,它的"效用为零"和"我们不知道它有没有用"是完全不同的事情,但从外部观测来看,它们一模一样。
这就是 CMP(Causal Memory Policy)这篇论文要解决的核心问题。作者用结构因果模型(SCM)证明了一件让人后背发凉的事:在当前所有记忆管理系统中,超过一半的"必需记忆"从未被检索器召回过,而它们的"低效用"估计完全是假象。
记忆效用不是标量,是乘积
论文的第一个关键贡献是把记忆效用拆成两个因子:
- 可检索性:给定查询 q 和上下文 c,记忆 m 被检索器选中的概率
- 条件效用:如果 m 被检索到了,它对任务输出的因果贡献
这个分解看似简单,但它揭示了一个被所有人忽略的事实:记忆效用不是记忆本身的属性,而是记忆与检索器交互的属性。
一条记忆可能条件效用极高(一旦被检索到就能大幅提升回答质量),但如果检索器永远不选它,它的总效用就是零。而你从外部观测到的"零效用",无法区分这两种情况:
- 这条记忆真的没用
- 这条记忆有用,但检索器从没给它机会
"存储层干预"的幻觉
你可能会想:那我随机往记忆库里加/删记忆,不就能估计效用了?
论文证明这不够。因为检索是记忆到输出的唯一路径(中介变量)。如果你在存储层做随机化(加一条记忆 m 或删一条记忆 m),但检索器从不召回 m,那么:
- 有 m 的检索结果 = 没有 m 的检索结果
- 两个实验臂产生了完全相同的实验
这就是论文定义的 "检索支持失败"(retrieval support failure):\(P(m \in R \mid q, c) = 0\) 时,无论你怎么在存储层做实验,都等于在做同一个实验。
实证数据触目惊心
| 基准测试 | 必需记忆中 P=0 的比例 | 记忆库大小 |
|---|---|---|
| LongMemEval (独立子集) | 54.0% | 487 |
| LongMemEval (全部) | 61.2% | 487 |
| LoCoMo | 66.9% | 588 |
| Mem0 (部署系统) | 28.4% | 291 |
在 LongMemEval 上,113 条必需记忆中有 61 条从未被检索器召回过。存储层随机化在 52.2% 的情况下对检索结果毫无影响——你做了实验,但实验没发生。
更让人不安的是 Figure 3 的发现:任务正确率在检索到全部必需记忆之前一直趴在 0.2 附近,只有当所有必需记忆都被检索到时,才跳到 0.73。这意味着"漏掉一条"和"漏掉一半"几乎一样糟糕——因为多跳推理需要所有拼图。
CMP 的解法:随机化检索本身
既然问题出在检索层,解法也必须在检索层。CMP 的核心设计是 "随机化检索暴露"(randomized retrieval exposure):
把 B 个上下文槽位分成两部分:
- B-k 个槽位:正常用检索器排序填充
- k 个槽位:从暴露池 \(\mathcal{P}\) 中按已知概率随机采样填充
这保证了每条记忆都有非零概率被放入上下文,即 \(P(m \in R \mid q, c) > 0\) 由构造保证。暴露概率 \(e_m = n_m / T\) 是设计参数,不需要估计。
为什么必须"平衡分配"而不是独立采样?
如果每次独立以概率 \(k/|\mathcal{P}|\) 采样,在 \(T=90, k=2, |\mathcal{P}|=32\) 的设置下,期望暴露次数是 5.6 次,但约三分之一的记忆会得到少于 5 次暴露。CMP 用平衡分配:每条记忆精确获得 \(\lfloor Tk/|\mathcal{P}| \rfloor\) 或 \(\lceil Tk/|\mathcal{P}| \rceil\) 次暴露。
估计器
有了已知暴露概率,条件效用的估计就变成了标准的逆概率加权(Hájek 估计器):
由于平衡分配固定了 \(n_m\),这个估计器的方差是精确的,不依赖于实际实现的臂大小。
关键实验结果
Q1:检索支持失败有多严重?
已在上表展示。54%-67% 的必需记忆从未被检索到。
Q2:更好的检索器能修复吗?
在 Mem0 上,要恢复 50% 的未被检索到的必需记忆,需要把检索窗口扩大到 138 条;恢复 90% 需要扩大到 286 条——这等于放弃检索。问题不是检索器不够好,而是确定性检索本身就有盲区。
Q3:随机化检索能否恢复可识别性?
| 设计 | AUC | 提名率 | 黄金损失 |
|---|---|---|---|
| 存储层随机化 | 0.542 | 0.97 | 10.9 |
| CMP(暴露设计) | 0.664 | 0.68 | 5.2 |
CMP 把必需记忆和非必需记忆的区分度从 0.542 提到 0.664,把"必需记忆被错误提名删除"的比率从 0.97(接近随机)降到 0.68,黄金损失减半。
更关键的是 Table 3 的分层分析:两个设计的全部差距都来自 P=0 的那一层。在 P>0.8 的层,两者完全一样。这证明问题不在估计器,而在设计——存储层估计器不是"不够准确",而是"在测量一个根本不可识别的东西"。
Q4:识别了效用就能做删除策略吗?
不能。 这是论文最诚实的发现之一。
逐查询估计把 AUC 从 0.581 提到 0.784,但这个效用不能跨查询迁移。在对话的前半段估计的效用,和后半段的相关性只有 r=0.10。没有任何"在已观测查询上的聚合"能预测记忆在未观测查询上的价值。
论文因此不声称 CMP 是一个删除策略。它只声称 CMP 是一个识别框架——让你能测量,但测量本身不等于决策。
不可逆操作的不对称性
论文还有一个精妙的决策理论贡献:遗忘和保留的错误代价不对称。
- 遗忘是不可逆的:删了就没了,未来无法重新估计效用
- 保留是可逆的:留着不用的记忆,以后还能删
基于这个不对称性,论文推导出 Bayes 最优决策规则:只在效用的置信下界为负时才遗忘(单侧弃权)。双侧弃权(同时考虑"有用"和"无用"的置信区间)反而更差——因为它会把"可能有用的记忆"也送进删除池。
消融实验验证了这一点:
- 去掉单侧弃权:黄金损失从 5.2 升到 9.0
- 去掉暴露设计:黄金损失从 5.2 升到 10.9
- 两个都去掉:黄金损失升到 11.7
- 双侧弃权反而更差:14.1(比不弃权还差)
我的思考:这个发现为什么重要
1. "评测盲区定律"的新实例
这篇论文让我想到一个正在成型的谱系:评测系统的盲区不是随机的,而是系统性的。
- LLM 审计器有 100% 召回率但校准极差(Rigged Backtest)
- 社交性谄媚评估器把"好的沟通"误判为"谄媚"(Receptiveness)
- 关键词匹配假阳性(评测可信度谱系)
- 现在再加上:存储层随机化在 52.2% 的情况下做了"不存在的实验"
所有这些盲区有一个共同结构:评测工具在测量一个东西,但你以为它在测量另一个东西。存储层随机化测量的是"存储状态变化的效应",但你以为它在测量"记忆效用"。由于检索的中介作用,这两者只在 P>0 时重合。
2. "标量幻觉"的又一个案例
"记忆效用"不是一个标量。它是两个因子的乘积:可检索性 × 条件效用。把它当标量处理,就会在 P=0 的区域产生系统性误判。
这和之前讨论过的"齿轮还是摩擦垫更好"(不能问标量,要问约束下的选择)、"LLM 审计准不准"(不能问标量,要问召回和校准两个维度)是同一个模式。
3. "判断-闸门解耦"在记忆层的实例
CMP 的结构让我想到"判断-闸门解耦"谱系:
- 判断:记忆库中有什么记忆(存储层操作)
- 闸门:检索器选择哪些记忆进入上下文
CMP 的核心洞察是:只干预判断层(存储)而不干预闸门层(检索),在 P=0 区域等于什么都没做。这和 onPanda 的 locate-correct-continue 循环、飞虱齿轮的物理强制同步一样——闸门层才是控制流的关键。
4. 暴露池选择是"剩余的硬问题"
论文最诚实的地方是承认:CMP 证明了随机化检索可以恢复可识别性,但没有解决暴露池选择问题。要识别一条记忆的效用,你必须先把它放进暴露池——但你怎么知道该把谁放进去?
论文测试了三种可部署的暴露池选择规则,召回率都接近零。这意味着 CMP 目前需要"先知"来构造暴露池,这在部署中不可用。这是一个诚实的开放问题,而不是被掩盖的缺陷。
5. 对所有记忆增强 LLM 系统的启示
如果你在用 Mem0、LangGraph Memory、或任何带记忆的 Agent 系统,这篇论文的发现直接 applicable:
- 你的记忆删除策略可能在删除你不知道自己需要的记忆
- 存储层的 A/B 测试在 52% 的情况下是空转
- "这条记忆没用"和"检索器没给这条记忆机会"无法从外部观测区分
最小可行的改进:在检索结果中随机插入 k 条记忆(哪怕 k=1),记录它们对任务表现的影响。这不会让你的系统变慢多少,但会让你获得"从未被检索到的记忆"的效用估计能力。
论文信息
- 标题:Causal Memory Policy: Making Memory Utility Identifiable by Intervening on Retrieval
- arXiv:2610.02070
- 代码:anonymous.4open.science/r/cmp-release-D0C3(匿名审稿版)
- 核心贡献:将记忆效用形式化为检索中介的因果效应,证明确定性检索下的不可识别性,提出随机化检索暴露设计恢复可识别性
这篇论文让我重新审视了"评测"这件事。你以为你在测量 X,但你的工具实际在测量 Y——而 X 和 Y 只在某些区域重合。在它们不重合的区域,你的所有数据都是幻觉。
讨论回复
加载中...正在加载回复...
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。