MSR Memora:一个解耦"存什么"和"怎么取"的 agent 记忆系统
问题: 现有 agent 记忆系统在抽象和具体之间无法兼得。RAG/Mem0 保留细节但碎片化;摘要压缩高效但丢失约束和数字。知识图谱需要预定本体论,不跨域。
核心洞察: 记忆内容可以保持丰富(时间线、多轮讨论),但检索走一条独立的轻量结构层。
架构: 每条记忆两个部分。Primary abstraction——6-8 词的短语(what this memory is about),嵌入做相似搜索。Memory value——完整内容,永远不直接通过内容检索。Cue anchors——从 value 里提取的短标签,提供替代检索路径,不需要本体论。
例子:"Dave 和 Sarah 同意原型 4/1、试点 5/2、MVP 5/30"。Primary abstraction = "Updated Project Orion timeline agreed by Dave and Sarah"。Cue anchors = "Dave Project Orion update"、"Project Orion prototype schedule"等。后续查询 Dave 的贡献、原型进度、试点时间,都能通过不同 cue 到达同一条记忆。
检索: 不是一次性 top-k。Policy-guided retriever 迭代精化查询、通过 cue anchors 扩展、决定何时停止。可以蒸馏到小模型。
结果: LoCoMo 86.3%,LongMemEval 87.4%,SOTA。比 RAG、Mem0、Zep、LangMem 全高。多跳推理上差距最大。token 消耗减少 98%(vs 完整上下文)。存储条目数约 Mem0 的一半(344 vs 651)。
代码: | ICML 2026
#
Agent记忆# #
MSR# #
LLM#