Microsoft Research · 学术

Memora:平衡抽象与具体性的和谐记忆表征

Memora: A Harmonic Memory Representation Balancing Abstraction and Specificity

二〇二六年六月三十日 · 英文原文

Memora 是一个为长周期 AI agent 设计的可扩展记忆系统,通过将存储内容(丰富记忆)与检索方式(轻量级主抽象和线索锚点)解耦,平衡抽象与具体。在 LoCoMo 和 LongMemEval 基准上,Memora 取得 SOTA 性能(LLM 评判准确率分别为 86.3% 和 87.4%),优于 Mem0、RAG 和全上下文推理,同时 token 消耗最多减少 98%。论文发表于 ICML 2026,代码开源于 github.com/microsoft/Memora。

概览

如今的人工智能 agent 无法记住过去的交互。它们必须反复被喂入相关信息,或从外部来源检索,随着处理的任务越来越长、越来越复杂,效率也越来越低。要扩展 agent 的能力,我们需要一种更高效的方式来随时间保留和访问信息。Memora 是一个可扩展的记忆系统,通过将存储内容(丰富的记忆内容)与检索方式(轻量级抽象和线索锚点)解耦,在抽象与具体之间取得平衡,从而大幅提升 agent 在长周期任务上的生产力。Memora 在 LoCoMo 和 LongMemEval 上取得了新的 SOTA 成绩,性能优于 Mem0、RAG 和全上下文推理,同时使用的上下文 token 最多减少 98%。Memora 论文(在新标签页中打开)发表于 ICML 2026。Memora 代码可在 https://github.com/microsoft/Memora(在新标签页中打开)获取。

想象一个职场 AI 助手,帮你管理一个持续数月的项目。在数周的对话中,你分享了约束条件、商定了里程碑、修订了截止日期,并收集了数十个利益相关者的偏好。当你后来让它为同事起草一份更新时,它应该不仅能回忆起最新的决策,还能回忆起达成决策的整个过程:尝试过什么、排除了什么、谁参与了意见。如今的人工智能 agent 在这方面力不从心。

现代大语言模型(LLM)推理能力强大,但本质上是无状态的:每次会话从零开始,每次长对话都迫使模型重新读取整个历史,每条新信息要么以原始文本(碎片化且含噪声)存储,要么被压缩成模糊的摘要(丢失精确细节)。随着 AI 助手和自主 agent 进入长周期部署场景——例如跟踪项目数月之久的 copilot,或通过长期使用积累领域知识的研究 agent——缺乏有原则的记忆系统已成为关键瓶颈。

一系列日益增长的工作开始填补这一空白。像 Mem0 这样的系统从对话中提取原子事实;检索增强生成(RAG)方法索引原始文本片段供后续召回;基于图的记忆系统如 Zep 和 GraphRAG 通过实体关系施加结构。每一种都代表了实质性的进步,但每一种都遇到了同样的障碍:现有设计迫使在具体性(保留细粒度细节)和抽象性(随着记忆增长高效组织)之间做出不可避免的取舍。Memora 的构建就是为了让 agent 两者兼得。

什么是 Memora

Memora 是一个为长周期 AI agent 设计的 agent 记忆框架。Memora 的核心洞察是将存储内容与检索方式解耦。记忆内容可以保持丰富和表现力,例如项目时间线、关于约束条件的多轮讨论,而一个独立的轻量级结构层负责索引和检索。结果是一个可扩展的记忆系统:它将相关信息整合为稳定单元,在需要时呈现细粒度细节,让 agent 能够导航自己的历史而无需重新阅读所有内容。在标准长对话基准上,Memora 取得了新的 SOTA 性能,同时使用的 token 比将完整历史直接放入上下文最多减少 98%。

为什么这很难:抽象与具体之间的张力

现有的记忆系统走向两个极端。内容碎片化系统,如 RAG 和 Mem0,直接嵌入提取的事实或文本片段。这保留了细节,但产生了脆弱、孤立的条目,失去了叙事连贯性。粗粒度抽象系统将经验压缩为紧凑摘要。它们高效,但摘要剥离了约束条件、边缘情况和数字细节——而这些正是记忆有用性的根本所在。基于图的系统在内容之上添加结构,但仍依赖内容本身进行检索,且通常需要难以跨领域泛化的僵化本体。这些方法都无法解决抽象(保持记忆高效)与具体(赋予记忆实用性)之间的根本张力。

图 1:Memora 架构概览。

Memora 的工作原理

Memora 通过一种谐和组织方式解决了这一张力。每条记忆条目包含两个部分:一个主抽象,即一个短短语(6–8 个词),捕捉记忆的基本内容;以及一个记忆值,保存丰富的内容本身。关键在于,只有主抽象被嵌入用于相似性搜索;记忆值从不通过其自身内容直接检索。这种分离意味着,关于某个演进主题的新信息会合并到同一主抽象下的现有记忆条目中,而不是碎片化成一系列部分重复的条目。

作为主抽象的补充,线索锚点是从每条记忆值中提取的短小、上下文感知的标签,为同一记忆提供替代访问路径。它们充当灵活、有机生成的元数据。

具体来说:假设用户说:“Dave 和 Sarah 同意将原型推迟到 4 月 1 日,试点推迟到 5 月 2 日,MVP 推迟到 5 月 30 日。”知识图谱系统需要预定义的实体类型和关系模式:Person → agreed_on → Milestone → has_date → Date,任何新的关系类型都需要扩展模式。在 Memora 中,主抽象 Updated Project Orion timeline agreed by Dave and Sarah 作为规范访问点,而线索锚点如 Dave Project Orion updateProject Orion prototype scheduleProject Orion pilot timeline 提供替代检索路径——所有这些都无需承诺任何本体。后续关于 Dave 近期贡献、原型计划或试点时间的查询,都可以通过不同的线索路由到同一底层记忆,而完整细节保留在记忆值中。

在此表示之上,Memora 引入了一个策略引导的检索器,将记忆访问视为一个主动推理过程。策略检索器不是一次性返回 top-k 语义相似项,而是迭代地优化查询,通过线索锚点扩展以发现相关但不相似的记忆,并决定何时停止。这让 agent 能够导航到纯语义搜索会遗漏的相关非局部上下文,像人类回忆关联事件时那样追踪多跳依赖关系。检索策略可以通过强 LLM 手动提示,也可以通过强化学习蒸馏到更小的模型中。

聚焦:事件系列 Microsoft Research Forum 加入我们,持续交流关于通用 AI 时代研究的想法。按需观看最新剧集。 按需观看(在新标签页中打开)

结果

图 2:Memora 在 LoCoMo 数据集上的性能。

我们在两个长上下文基准上评估 Memora:LoCoMo(对话平均 600 轮)和 LongMemEval(上下文 115,000 token)。Memora 在两者上都取得了新的 SOTA 性能:LoCoMo 上 LLM 评判准确率 86.3%,LongMemEval 上 87.4%,优于 RAG、Mem0、Nemori、Zep、LangMem,甚至全上下文推理。差距最大的是多跳推理,Memora 通过线索锚点导航的能力带来了最大收益。

效率方面的表现同样引人注目:Memora 每条对话存储的记忆条目约为 Mem0 的一半(344 对 651),相对于全上下文推理,token 消耗最多减少 98%。更少的阅读量、更少的存储量、更好的答案。

展望未来

Memora 的设计意义超越了基准性能。我们将这项工作视为迈向能够与用户维持长期协作、在数月乃至数年间积累组织知识的 AI agent 的一步——而不仅仅是在单次会话内。在此基础之上,我们正在探索几个互补方向。

MemLoop 探索记忆系统如何从检索和任务失败中学习,将错误归因于记忆管道的特定阶段,并随时间自我改进。Deferred Memory 研究何时应推迟记忆构建,直到获得足够的上下文、证据或未来效用,而不是过早地决定存储什么。Group Memory 研究如何在团队和 agent 之间共享知识,同时保留来源、访问边界、所有权和敏感上下文。

我们随论文一起发布代码,并邀请社区在此表示基础上继续构建,探索当 AI agent 不再无状态时可能实现的一切。

致谢

我们感谢 Shantanu Dixit(研究员)、Paramaguru Harimurugan(研究员)、Rujia Wang、Victor Rühle 和 Robert Sim 对本项目的贡献。

(在新标签页中打开)

文章《Memora:一种平衡抽象与具体的谐和记忆表示》最初发表于 Microsoft Research。

译自 Microsoft Research · 学术 · 录于 二〇二六年六月三十日