换模型后自由笔记掉13.28分,固定图谱几乎零损失

Does Your Agent's Memory Survive a Model Upgrade? A Controlled Study of Memory Portability

Ankit Goyal, Jaideep Ray

cs.AI, cs.CL, cs.IR

2026-09-05

KG-fixed换writer只动0.0004,NOTES单向掉13.28分,混合索引只拿到4.96/11.90。

这篇在解决什么

Agent 的模型几个月一换,记忆库可能用一年。换模型时,笔记还在、向量还在、服务也启动成功,但新模型可能读不懂旧笔记,新旧 embedding 混在一个索引里会静默检索失败,压缩时丢掉的事实也无法从笔记里补回来。

这和「新模型更聪明吗」不是同一类问题。需要知道的是:常见记忆格式在换 writer、换 embedder、再修复时,各掉多少分,掉在哪一步。

方法

两位 LinkedIn 作者把同一段历史写成四种格式,再单独换组件:

评测用 48 段合成历史,每段 160 道题,答案是随机代码,exact match,不用模型当裁判。读写模型是 Llama-3.1-8B-Instruct 和 Qwen2.5-7B-Instruct-1M。embedding 从 bge-large-en v1.0 换到 v1.5,两边都是 1024 维,混在一起不会报维度错误。

主指标 RPAS:新 reader 读旧 writer 的库,相对它读自己写的库还剩多少。修复看 CTR:在对等预算下,从原文重建还是只改现有库,谁能回到自身分数的 90%/95%/99%。四个假设事先写进带签名的 Git tag hypothesis-lock-v1,阈值是 5 个百分点。

结果

固定图式几乎不吃 writer 是谁。KG-fixed 换 writer 后准确率只动 +0.0004±0.0020,自身分数已经很高(Llama 0.846,Qwen 0.988)。

NOTES 方向性极强,不能平均。Qwen 读 Llama 写的笔记,相对自己写的掉 13.28 分(0.472→0.339)。反过来,Llama 读 Qwen 的笔记升 9.91 分(0.376→0.475)。校准里 Qwen 用约 143 KiB 留住 85.6% 的必要证据,Llama 用满约 159 KiB 只留 64.5%。笔记质量跟写作模型绑在一起。对称平均后 H1/H4a 过不了 5 分阈值,正是因为两个方向互相抵消。

RAG 在换 reader 之前就已经漏召回。LC-RAW 是 0.712-0.911,RAG 只有 0.535-0.565,检索大约 60% 的时候才把证据递到。诊断分解里,RAG 总缺口的 81%(0.364/0.450)来自检索;NOTES 总缺口的 80%(0.467/0.584)来自写库时丢掉内容。给 NOTES 换文风几乎没回收,Qwen 改写 Llama 笔记是 −0.012。

embedding 半迁移更坑。v1.0 索引准确率 0.426;全量重嵌 v1.5 升到 0.545(+11.90);50/50 混合索引只到 0.475(+4.96),一大半升级收益没拿到。理想路由上界是 0.596。维度相同,服务不会报警。

修复更残酷。只改 NOTES、不留原文,48 段历史在任何预算下都到不了自身分数的 90%。留着原文时,Qwen 能修回 34/48,中位成本约 0.76 美元;Llama 0/48,每次都先撞输出长度。RAG 重嵌 96/96,约 0.013 美元;KG-fixed 重填图式 91-96/96,额外成本接近零。H2(混合索引差于全量重嵌,估计 +6.95)和 H7a(原文修复优于只改库,+8.90)过了 5 分阈值。

为什么重要

这是一份可执行的迁移清单,不是新记忆架构。自由笔记换模型必须按「谁写→谁读」分别测,平均会把失败洗掉。向量升级要建独立索引,切流完成再切,别把两个空间倒进同一张表。压缩记忆一旦丢事实就补不回来,政策允许就留一份受控原文。出了错先查是写丢了、没召回,还是 reader 没用上,别一上来换模型。

数字绑在这个合成任务和两枚 7-8B 模型上。图式可迁移,不代表任意知识图谱都可迁移。

局限与存疑

KG-fixed 的图式是按这个合成事件字段预先定的,读法也和 NOTES 不同,不能推广成「图谱一定强于笔记」。RAG 是无 reranker 的单路 dense,40% 漏召回和混合索引惩罚都会随管线改变。原文修复只在一个方向成功,修复模型和迁移方向绑在一起。只测了两枚体量接近、上下文都装得下全文的开源模型,真实长对话、更大模型和主观问题可能是另一幅图。签名 tag 是内部分析锁,bootstrap 是 t 检验之后补的。

术语

原文与代码

社区讨论

相关论文

全部论文解读