摘要

本文解读 EMNLP 2025 Oral 论文《Memory OS of AI Agent》,它提出 MemoryOS——一个把操作系统内存管理思想搬进对话记忆的智能体记忆系统。论文通过融合 三级分层存储(STM/MTM/LPM)对话链与段页式组织热度驱动的换页与检索调度,让大模型在数百轮长对话里既记得住细节、又保得住用户长期偏好,其特别之处在于把"记忆"从一堆互不相关的技巧升级为一套统一的、可配置的操作系统策略。实验表明 在 LoCoMo 基准上 F1 平均提升 49.11%、BLEU-1 提升 46.18%(GPT-4o-mini 底座),同时每次响应的检索 token 消耗只有 MemGPT 的约四分之一、LLM 调用次数只有 A-Mem 复现版的约三分之一,为长对话智能体的记忆管理提供了可复用的架构范式。 视频讲解点击观看 B 站视频

论文基本信息

项目内容
标题(英文)Memory OS of AI Agent
标题(中文)MemoryOS:给 AI 智能体装上"记忆操作系统"
作者Jiazheng Kang, Mingming Ji, Zhe Zhao, Ting Bai
机构北京邮电大学 BAI-LAB(百家 AI 团队) · 腾讯 AI Lab
会议EMNLP 2025(主会 Oral,ACL Anthology 2025.emnlp-main.1318)
arXivarXiv:2506.06326
项目网站github.com/BAI-LAB/MemoryOS(1,500+ stars,含 MCP 服务)

背景与动机

大语言模型的上下文窗口是固定长度的,而用户与助手之间的关系不是。一旦对话跨越多个会话、间隔数周,固定窗口就会把早期信息挤出上下文,表现为前后矛盾、重复提问、个性化断裂。论文把这类问题归纳为一句话:现有模型在长程对话的时间跨度上无法维持连续性。

围绕这个缺口,已有工作大致分为三类,但每一类只优化一个维度:

  • 知识组织类:Think-in-Memory(TiM)把推理产物而不是原始对话存进记忆,用局部敏感哈希(LSH)检索;A-Mem 把知识组织成互相链接的笔记网络,语义表达丰富,但多步建链带来额外延迟与误差累积。
  • 检索机制类:MemoryBank 用艾宾浩斯遗忘曲线调整记忆强度并构建用户画像;AI-town 保留自然语言记忆并加入反思回路;EmotionalRAG 把情绪状态纳入检索权重。这一类的共性问题是缺少主题层面的结构,遗忘曲线也回答不了"该存什么"。
  • 架构驱动类:MemGPT 借鉴操作系统,设计主上下文与外部上下文两层,并暴露显式的 read/write 调用;Self-Controlled Memory(SCM)用双缓冲加记忆控制器做选择性召回。它们是最接近的思路,但层级是固定的两层,淘汰策略只是一个扁平的 FIFO 队列——对话一长,不同主题就被混在一起。

论文的问题链因此很清楚:只做存储结构、只做检索效率、或只做更新策略,都不足以支撑长期记忆;缺的是把它们统一起来的"操作系统"。操作系统领域早已给出成熟答案:Multics 式的分段分页用来平衡逻辑结构与物理利用率,LRU 与工作集模型用访问频率与时间衰减决定哪些数据留在内存、哪些被换出。MemoryOS 的判断是——对话记忆完全可以套用同一套机制:主题即段、问答即页、频繁被访问的主题自动变热,冷门主题自然出局。

这也是它拿下 EMNLP 2025 Oral 的叙事基础:不是又加了一个检索器,而是把“记忆管理”整体重述为一个已经存在解法的工程问题。

延伸视角(时间线定位)。 2023–2024 年,MemGPT、MemoryBank、TiM、A-Mem 让外部记忆进入大模型智能体,但组织方式与淘汰规则仍由工程预定义;2025 年,MemoryOS 第一次把操作系统的分段分页与热度换页完整搬进对话记忆;2025–2026 年,Mem0、Zep、MemOS 以及各类 MCP 记忆服务把分层记忆与可插拔记忆做成智能体标配,记忆管理正从“某个模块的实现”变成跨模型、跨模态的基础设施。用创新模式的语言说,它同时命中了“统一异构输入”(把短期对话、主题化历史、长期画像统一进一套体系)与“审计并扭转负载假设”(审计“记忆只需在固定窗口里检索”这一前提),验证方式则是实测——移除记忆系统后指标直接崩塌。另需提醒的是,论文定稿把 Limitations 一节整段注释掉、也删去了提示词模板附录,正文与图表中还留有若干拼写残留(如 resutls、machinism、“Memorias”图例、“GPT-40-mini”),读原文时需要注意。

研究主线:从问题到结论

系统设计:三级存储与段页式组织

MemoryOS 的第一层设计是确定存储的粒度。系统把一次问答冷却成一个对话页 $page_i={Q_i,R_i,T_i}$,即用户提问、模型回答与时间戳;短期记忆(STM)就是保存这些对话页的定长队列,论文中容量取 7。为了不让页与页之间失去联系,每一页还带一段由大模型生成的链式元信息:先判断新页是否延续上一页的话题,再把整条链总结成一句上下文摘要——这条"对话链"让跨主题但语义连续的几轮对话保持可追溯。

第二层是中期记忆(MTM)的段页结构。同主题的对话页被聚成一个“段”,段的划分不靠人工规则,而由匹配分 $\mathcal{F}_{score}=\cos(\mathbf{e}_s,\mathbf{e}_p)+\mathrm{Jaccard}(K_s,K_p)$ 决定:其中 $\mathbf{e}_s$ 与 $\mathbf{e}_p$ 是段与页的嵌入向量,$K_s$ 与 $K_p$ 是大模型抽取的关键词集合;匹配分超过阈值 $\theta=0.6$ 的页被并入该段。语义相似度负责捕捉“意思相近”,关键词重合度负责捕捉“用词相同”,两者相加避免单一信号的偏差。

第三层是长期个人记忆(LPM),分用户与智能体两侧:用户侧包含静态画像(性别、称呼、出生年)、持续抽取的知识库与 90 维特质(基础需求与人格、AI 对齐维度、内容平台兴趣标签);智能体侧包含角色设定与随交互演化的特质。知识库与智能体特质各用 100 条 FIFO 队列维持容量。

分类全景:三类记忆各自解决什么

把三级记忆按"存什么、管什么、为谁服务"摊开看,结构会更清楚:

方法细节:热度换页与两阶段检索

模块层面,MemoryOS 由存储、更新、检索、生成四部分构成,真正让它区别于既有系统的是更新与检索之间的闭环。

更新靠热度。 每个段维护一个标量热度 $Heat=\alpha \cdot N_{visit}+\beta \cdot L_{interaction}+\gamma \cdot R_{recency}$,其中时间衰减项为 $R_{recency}=\exp(-\Delta t/\mu)$。$N_{visit}$ 是该段被检索到的次数,$L_{interaction}$ 是段内对话页数量,$R_{recency}$ 按距上次访问的时间做指数衰减;论文把三个权重都设为 1,时间常数 $\mu$ 取 $10^{7}$。当段数超过上限 200 时,淘汰热度最低的段;当某段热度超过阈值 5 时,它会被升级到长期记忆,由大模型从中抽取用户特质、知识库条目与智能体特质——升级后该段的 $L_{interaction}$ 归零,热度随之下降,从而避免同一批内容被反复抽取。

检索分两阶段。 短期记忆全量取回;中期记忆先按匹配分选出前 $m=5$ 个段,再在段内按语义相似度取前 $k$ 个对话页(GVD 上 $k=5$、LoCoMo 上 $k=10$);长期记忆则从知识库与智能体特质中各取语义最相关的 10 条。关键在于检索会反过来更新热度:每次命中都会刷新该段的访问次数与最近访问时间,也就是说——被反复用到的记忆会越来越热,长期没人碰的段自动降温出局。存储策略与使用行为由此形成闭环。

实现上整个系统的超参数只有十几个,全部公开在论文里($k_{MTM}$、$\theta$、$\tau$ 等):

配置项取值配置项取值
STM 队列长度7MTM 段上限200
段落匹配阈值 $\theta$0.6热度阈值 $\tau$5
热度权重 $\alpha,\beta,\gamma$1, 1, 1时间常数 $\mu$$10^{7}$
检索段数 top-$m$5检索页数 top-$k$5(GVD)/ 10(LoCoMo)
用户知识库与智能体特质各 100 条用户特质维度90 维(3 大类)

实验设计与结果

评测在两个长对话基准上展开。GVD 包含 15 个虚拟用户与助手 10 天的多轮对话、每天至少两个话题,由 DeepSeek-R1 自动打分,指标是记忆检索准确率、回答正确性与连贯性(三档打分);LoCoMo 是专门为长期记忆设计的超长对话基准,平均 300 轮、约 9K tokens,问题分成单跳、多跳、时间与开放域四类,用 F1 与 BLEU-1 评估。基线包括 TiM、MemoryBank、MemGPT 与 A-Mem(其中 A-Mem 的原论文结果记为 A-Mem,本文同环境复现记为 A-Mem*)。

GVD 结果(GPT-4o-mini 底座):检索准确率 93.3、正确性 91.2、连贯性 92.3,三项全部领先;相对最强基线 A-Mem 分别提升 3.2%、5.4% 与 1.0%。同底座换用 Qwen2.5-7B 后,MemoryOS 依旧最优(91.8 / 82.3 / 90.5,检索准确率相对 A-Mem 提升 5.3%)。

方法(GVD,GPT-4o-mini)检索准确率正确性连贯性
TiM84.578.890.8
MemoryBank78.473.391.2
MemGPT87.983.289.6
A-Mem90.486.591.4
MemoryOS93.391.292.3

LoCoMo 结果:四类问题的 F1 全部第一,平均排名 1.0;时间推理相对 MemGPT 提升 118.80%,单跳提升 32.35%,开放域提升 18.47%。换到 Qwen2.5-3B 底座后结论不变(23.26 / 21.44 / 10.18 / 26.23,平均排名同样 1.0)。

方法(LoCoMo F1)单跳多跳时间开放域
TiM16.2518.438.3523.74
MemoryBank5.009.685.566.61
MemGPT26.6525.529.1541.04
A-Mem*22.6133.238.0434.13
MemoryOS35.2741.1520.0248.62

成本也一起降。 每次响应,MemoryOS 消耗 3,874 个检索 token、平均 4.9 次大模型调用,平均 F1 达 36.23;对比 MemGPT 的 16,977 tokens / 4.3 次调用 / 29.13 F1,以及 A-Mem* 的 2,712 tokens / 13.0 次调用 / 26.55 F1——token 只有 MemGPT 的约四分之一,调用次数只有 A-Mem* 的约三分之一,效果反而最好。

方法(LoCoMo 效率)检索 tokens平均 LLM 调用平均 F1
MemoryBank4323.06.84
TiM1,2742.618.01
MemGPT16,9774.329.13
A-Mem*2,71213.026.55
MemoryOS3,8744.936.23

消融实验回答了"哪一层在起作用"。 去掉整套记忆系统后,GVD 检索准确率跌到 2.7、正确性 6.8,LoCoMo 四类 F1 只剩 1.16–4.56,长对话回答几乎完全失效;在保留系统的前提下,移除中期记忆损失最大(LoCoMo 多跳 F1 从 41.15 掉到 12.12),其次是长期画像(时间推理从 20.02 掉到 17.81),对话链影响最小(单跳从 35.27 降到 31.42)。退化排序在 GVD 与 LoCoMo 上完全一致:MTM > LPM > Chain,说明分层存储本身承担主要负载。

召回不是越多越好。 检索页数 $k$ 的敏感性分析显示:$k$ 从 5 增到 10 带来最大跃升(单跳 F1 25.13 → 35.27、多跳 25.42 → 41.15、时间 12.11 → 20.02、开放域 29.32 → 49.62),此后收益迅速递减,$k=40$ 时多数类别反而回落——多余内容变成噪声,论文因此默认取 10。

定性案例:跨会话细节 + 长期目标。 在同一个对话历史下,默认模型想不起来几周前提过的"湿地公园、跑步、看到松鼠",而 MemoryOS 能把这些细节召回并串联;更进一步,当用户说想吃汉堡时,系统会结合他此前"想变瘦"的目标主动提醒一句——这正是中期记忆的段页存储、对话链与 persona 模块同时生效的结果。

结果对比总结

关键发现

  • 优势随任务难度放大:在已经接近饱和的 GVD 上仍有 3.2% 的检索准确率相对提升;在更难的 LoCoMo 上,时间推理 F1 相对 MemGPT 提升 118.80%(20.02 vs 9.15),单跳提升 32.35%
  • 效果与成本同时改善:每次响应 3,874 tokens / 4.9 次调用,对比 MemGPT 的 16,977 tokens 与 A-Mem* 的 13.0 次调用,token 约为前者四分之一、调用次数约为后者三分之一。
  • 分层存储是承重结构:消融中 MTM 移除损失最大(多跳 F1 41.15 → 12.12),LPM 次之(时间推理 20.02 → 17.81),Chain 最小但仍有贡献(单跳 35.27 → 31.42)。
  • 退化排序跨数据集一致:GVD 与 LoCoMo 上的组件重要性排序完全一致,说明结论不是单一基准的偶然。
  • 召回存在拐点:$k$ 从 5 到 10 的增益最大,$k=40$ 时多数类别回落,"召回越多越好"不成立
  • 架构收益与底座无关:GPT-4o-mini、Qwen2.5-7B、Qwen2.5-3B 三类底座上均取得最优平均排名(1.0),说明分层记忆不是针对某个模型的调优产物。

局限性

  • 超参数缺少理论依据:STM 队列长度 7、MTM 段上限 200、热度权重与阈值都是经验设定,论文没有给出基于认知模型或理论推导的容量配置方法。
  • 主题不会自动合并:段落划分依赖大模型抽取能力,缺少相似主题的动态合并机制,话题重叠或演化时会残留冗余段。
  • 评测仍限于文本:只在 GVD 与 LoCoMo 两个文本基准、三类底座模型上验证,未覆盖多模态记忆与真实线上长周期部署。
  • 成本结构依赖大模型:对话链判定、主题摘要与 persona 抽取都要调用大模型,平均 4.9 次调用对低延迟场景仍是负担。
  • 论文草稿给出的方向是:从人类记忆机制出发推导更原则化的容量配置,并为中期记忆引入自适应主题合并。需要说明的是,定稿版本中 Limitations 一节被整段注释掉,这些内容来自作者草稿。

常见问题(FAQ)

MemoryOS 和 MemGPT 有什么区别?

两者都借用操作系统的隐喻,但 MemGPT 只有主上下文与外部上下文两层,淘汰策略是扁平的 FIFO 队列;MemoryOS 把中期记忆组织成段页结构(主题分段、问答分页),并用热度(访问次数 + 交互长度 + 时间衰减)决定保留与升级,因此对话变长后主题不会混在一起。

热度(Heat)是怎么算的?

$Heat=\alpha N_{visit}+\beta L_{interaction}+\gamma R_{recency}$,其中 $R_{recency}=\exp(-\Delta t/\mu)$。论文取 $\alpha=\beta=\gamma=1$、$\mu=10^{7}$;段数超过 200 时淘汰热度最低的段,热度超过 5 的段升级到长期记忆。

检索一次要取多少内容?

中期记忆两阶段检索:先取匹配分最高的 $m=5$ 个段,再在段内取 top-$k$ 个对话页(GVD $k=5$、LoCoMo $k=10$);长期记忆从用户知识库与智能体特质中各取 10 条。$k$ 继续增大收益递减,$k=40$ 时多数类别反而回落。

它在哪些基准上验证过?

两个:GVD(15 个虚拟用户与助手 10 天多轮对话,用 DeepSeek-R1 三档打分)与 LoCoMo(平均 300 轮、约 9K tokens 的超长对话,四类问题)。底座模型覆盖 GPT-4o-mini、Qwen2.5-7B 与 Qwen2.5-3B,MemoryOS 在所有组合上都取得最优平均排名。

代码开源吗?

开源。项目地址为 github.com/BAI-LAB/MemoryOS,仓库明确标注 EMNLP 2025 Oral,目前已有 1,500+ stars,并提供 MCP 服务接口以便接入各类智能体应用。

提升主要来自哪一部分?

消融实验显示主要来自中期记忆:移除 MTM 后 LoCoMo 多跳 F1 从 41.15 掉到 12.12;其次是长期画像(时间推理 20.02 → 17.81),对话链贡献最小(单跳 35.27 → 31.42)。三者合起来构成完整的分层记忆体系。

参考链接


给大家推荐一款自用写文献综述、无虚构文献的 AI:

🌟 复旦大学 FudanNLP 团队自研 切问学术

官网:qiewenpaper.com

覆盖 3.6 亿篇可溯源真实中英文文献,能自动整合文献观点生成规范综述

还能挖掘研究创新点、复现实验,配合视频教学,新手快速上手文献综述写作


🍀后记🍀

博客的关键词集中在编程、算法、机器人、人工智能、数学等等,持续高质量输出中。

🌸讨论QQ群白拾的小屋 (750365700)

⭐B站账号白拾的物理AI组会(活跃于知识区和动画区)

✨GitHub主页YhbCode000(工程文件)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐