# 2506.06326❇️_MemoryOS: Memory OS of AI Agent * 首页: * PDF: * 引用: 16(2025-12-14) * 组织: * Beijing University of Posts and Telecommunications * Tencent AI Lab * GitHub: ## 总结 ### 现有记忆机制 1. 知识组织方法 (Knowledge-organization Methods) * 示例: * A-Mem: 将知识组织成一个跨越对话会话的、相互关联的笔记网络,实现连续的记忆演化和自适应管理 * Think-in-Memory (TiM): 存储不断演化的思维链,通过持续更新来保持一致性。它保存的是“思考”结果而非原始对话,以减少重复推理。 * Grounded Memory:集成视觉-语言模型用于感知,并使用知识图谱进行结构化的记忆表示,旨在为智能个人助理实现情境感知推理。 * 核心思想:通过优化记忆的结构来提升管理效率和灵活性。将记忆结构化为语义网络或笔记,实现自适应管理和灵活检索。 * 局限:侧重于存储结构,缺乏系统性的内存管理。 2. 检索机制导向方法 (Retrieval mechanism-oriented Approaches) * 示例: * MemoryBank: 将对话、事件和用户特征记录在向量数据库中,并采用艾宾浩斯遗忘曲线机制来刷新记忆强度,优先保留重要内容 * EmotionalRAG: 通过混合策略,结合语义相似性和智能体当前情绪状态来检索记忆条目 * AI-town:以自然语言形式保存记忆,并增加了一个反思循环来对记忆进行相关性过滤 * 核心思想:通过优化检索策略(如结合遗忘曲线、情绪状态)来确保返回信息的质量和相关性。结合语义检索与遗忘曲线等机制,实现长期记忆更新。 * 局限:主要关注检索策略,未全面覆盖记忆的存储、更新和生成。 3. 架构驱动方法 (Architecture-driven Designs) * 示例: * MemGPT: 采用类操作系统的分层结构,具有专用的读写调用,旨在扩展LLMs固定上下文窗口之外的可扩展记忆 * Self-Controlled Memory (SCM): 引入双缓冲区和一个内存控制器,该控制器对选择性回忆进行门控 * 核心思想:从系统架构层面进行革新,引入新的模块或流程来主动管理记忆。采用分层结构,通过显式的读写操作动态管理上下文。 * 局限:例如,MemGPT的扁平FIFO队列可能导致主题混淆。 ### MemoryOS - 结构化记忆:将其记忆组织成逻辑段(对应对话主题),每个段再细分为页(对应对话页面)。 - 热度优先:采用基于热度的优先级机制来保留相关内容,并高效地丢弃或归档访问较少的信息。 ![](https://img.zhaoweiguo.com/uPic/2025/12/n77ryb.jpg) Figure 1:The overview architecture of MemoryOS, including memory Store, Updating, Retrieval, Response. * 关键点: - 闭环更新:同时,这次交互(用户查询和AI响应)会作为一个新的记忆单元,被送入内存更新模块。该模块负责决定如何将这个新信息写入STM,并可能触发从STM到MTM,乃至从MTM到LPM的更新操作。 * 三级分层存储结构。 - STM:通常被描绘为一个队列,新的对话页从一端进入,旧的从另一端移出,形象地表示了FIFO策略。 - MTM:通常被描绘为一种树状或文件夹状结构,显示了“段”包含多个“页”的分层概念,体现了“分段分页”的架构。 - LPM:通常被分为“用户角色”和“代理角色”两个子部分,内部可能包含属性-值的列表,表示档案、知识库和特质。 该图的核心意义: 它清晰地描绘了一个受操作系统启发的、自治的AI代理记忆管理系统。该系统不再是静态的数据库,而是一个能够自动进行信息摄入、组织、压缩、归档、检索和应用的动态生命体。 ## From Moonlight ### 三句摘要 1. 💡 本文提出 MemoryOS,一个受操作系统内存管理原理启发的创新性AI Agent内存操作系统,旨在解决大型语言模型在长对话中存在的上下文窗口限制和长期记忆不足问题。 2. ⚙️ MemoryOS 采用三层分级存储架构(Short-Term Memory、Mid-Term Memory、Long-term Personal Memory)和四核心模块(Storage、Updating、Retrieval、Generation),并通过对话链 FIFO 和基于热度的分段分页策略实现动态记忆更新与管理。 3. 📈 在 LoCoMo 基准测试中,MemoryOS 在 F1 和 BLEU-1 指标上分别比基线模型平均提升 49.11% 和 46.18%,显著增强了 AI Agent 在长对话中的上下文连贯性和个性化记忆保留能力。 ### 关键词 - MemoryOS: 是一种创新的记忆操作系统,旨在为 AI 代理实现全面高效的记忆管理,其设计灵感来源于操作系统(OS)的内存管理原理。它通过分层存储架构、动态更新、自适应检索和上下文生成,克服了大型语言模型(LLM)因固定上下文窗口而导致的长期记忆能力不足和个性化体验受限的挑战。MemoryOS 包含四个核心模块:记忆存储、更新、检索和生成,以实现AI代理在长对话中的情境连贯性和个性化记忆保持。 - AI Agent Memory Management: AI 代理的记忆管理是指为人工智能代理设计和实现一套系统,以有效地存储、组织、更新和检索其在与用户交互过程中产生的海量信息。这对于保持对话的连贯性、学习用户偏好、形成个性化交互以及在长时间内维持角色一致性至关重要。传统的 LLM 由于上下文窗口的限制,难以处理长期的记忆需求,因此需要专门的记忆管理系统。 - Context Window Limitation: 大型语言模型(LLM)在处理输入信息时,通常有一个固定的“上下文窗口”大小,这意味着它们一次只能考虑有限数量的 token。当对话或文本长度超过这个窗口大小时,模型就会“忘记”最早期的信息。这是 LLM 面临的一个关键挑战,它限制了模型在长对话中保持连贯性、理解长期依赖关系以及利用历史信息进行个性化响应的能力。 - Hierarchical Memory Storage: 层次化记忆存储是一种将记忆信息组织成不同层级的结构。在该论文中,MemoryOS 采用了三层存储结构:短期记忆(STM)、中期记忆(MTM)和长期个人记忆(LPM)。这种设计模仿了人脑的记忆机制,允许不同粒度和时效性的信息被存储和管理,以实现更高效的记忆利用和检索。 - Short-Term Memory (STM): 短期记忆(STM)是 MemoryOS 中的第一层存储,主要用于存储实时对话数据。它以“对话页面”为单位,每个页面包含用户的查询(Q)、模型的响应(R)和时间戳(T)。STM 负责维护当前正在进行的对话的上下文连贯性,通常存储最近的对话片段,并通过“对话链”链接相关页面。 - Mid-Term Memory (MTM): 中期记忆(MTM)是 MemoryOS 中的第二层存储,用于存储跨越较长时间但仍具有一定活跃度的信息。它采用“分段分页”(Segmented Paging)的存储架构,将具有相同主题的对话页面组合成“段”(Segment)。MTM 旨在存储和汇总具有持续性的话题内容,以便在需要时能够高效地进行检索。 - Long-Term Personal Memory (LPM): 长期个人记忆(LPM)是 MemoryOS 的第三层存储,用于存储与用户和 AI 代理相关的、持久性的个人信息和特征。它包含“用户画像”(User Persona)和“AI 代理画像”(Agent Persona)。用户画像包括固定属性(如姓名)、用户知识库(User KB)以及用户特质(User Traits,如兴趣、习惯)。代理画像则描述了 AI 代理的角色和动态特征。LPM 确保了 AI 代理能够记住并应用用户的长期偏好和代理自身的身份特征。 - Memory Updating: 记忆更新模块是 MemoryOS 的核心功能之一,负责管理记忆信息在不同存储层级之间的动态迁移和刷新。它定义了从短期记忆到中期记忆(STM-MTM)的更新机制(采用对话链 FIFO 原则),以及从中期记忆到长期个人记忆(MTM-LPM)的更新机制(基于分段分页策略和热度分数)。此外,它还负责维护 LPM 中用户和代理特质的动态演变。 - Memory Retrieval: 记忆检索模块负责根据用户查询,从 MemoryOS 的不同存储层级(STM, MTM, LPM)中查找并返回最相关的信息。它采用了多阶段检索策略:STM 直接检索最新对话;MTM 采用两阶段检索,首先通过匹配分数选择相关的“段”,然后检索段内的相关“页面”;LPM 则检索用户和代理画像中的关键信息。检索结果将用于后续的响应生成。 - Dialogue Chain: 对话链是 MemoryOS 在短期记忆(STM)中用于维护上下文连贯性的关键机制。它通过 LLM 评估新对话页面与 prior 页面的关联性,来确定页面之间的链接关系,或者在对话不连贯时重置链。对话链不仅连接了连续的对话页面,还能生成一个总结性的“元链”(metachain),以概括该对话片段的核心内容,从而帮助模型更好地理解和追踪对话的演变。 - FIFO Principle: “先进先出”(First-In-First-Out, FIFO)原则是 MemoryOS 中用于管理短期记忆(STM)到中期记忆(MTM)数据迁移的一种策略。当 STM 的对话页面队列达到最大容量时,最早进入队列的对话页面将首先被转移到 MTM。这种机制确保了短期记忆中的信息能够按时间顺序进行存档,但可能会在对话长度增长时导致主题混淆,这是后续 MTM 机制需要解决的问题。 - Segmented Paging: 分段分页(Segmented Paging)是 MemoryOS 中期记忆(MTM)采用的核心存储和管理策略,其设计灵感来源于操作系统。它将具有相似主题的对话页面组织成逻辑上的“段”(Segment),而每个段又由多个“页面”(Page)组成。这种结构允许将信息按主题进行聚合,方便检索和管理,同时通过分页机制可以更细粒度地管理数据,减少内部碎片。 - Heat Score: 热度分数(Heat Score)是 MemoryOS 用来评估中期记忆(MTM)中段(Segment)重要性并指导其更新和迁移的指标。它结合了段的检索次数(Nvisit)、段内包含的对话页面总数(Linteraction)以及段的最新访问时间(Rrecency)来计算。热度分数高的段表明其内容更常被访问、互动更频繁或最近被使用过,因此更有可能被保留或迁移到长期记忆中。 - User Persona: 用户画像(User Persona)是 MemoryOS 长期个人记忆(LPM)的一部分,用于描述用户的身份、偏好、习惯和特征。它包含三个组成部分:静态的用户配置文件(User Profile),如姓名、性别;动态的用户知识库(User KB),存储从交互中提取的事实信息;以及用户特质(User Traits),捕捉用户随时间演变的兴趣、习惯和偏好。通过用户画像,AI 代理能够实现高度个性化的交互。 - Agent Persona: AI 代理画像(Agent Persona)是 MemoryOS 长期个人记忆(LPM)的另一部分,用于定义 AI 代理自身的身份、角色和特征,以确保其在长期交互中保持一致性。它包括代理的固定设置(如扮演的角色、性格特征),以及通过与用户交互动态发展和更新的代理特质(Agent Traits),例如代理可能学会推荐特定物品或采用某种沟通风格。 ### 摘要 该论文提出了一种创新的 Memory Operating System (MemoryOS),旨在解决大型语言模型 (LLMs) 在长期对话中面临的固定上下文窗口和内存管理不足的挑战,从而实现对 AI Agent 全面且高效的记忆管理。MemoryOS 借鉴了操作系统中的内存管理原则,设计了一个分层存储架构,并由四个核心模块组成:Memory Storage、Updating、Retrieval 和 Generation。 #### 核心方法论 (Core Methodology) MemoryOS 的核心在于其精巧设计的四模块协作机制和分层记忆存储结构: 1. **Memory Storage (记忆存储模块)**: * **Short-Term Memory (STM,短时记忆)**: 存储实时对话数据,以“对话页” (dialogue pages) 的形式组织。每个对话页包含用户查询 $Q_i$、模型响应 $R_i$ 和时间戳 $T_i$,即 $page_i = \{Q_i, R_i, T_i\}$。为确保上下文连贯性,每个对话页构建一个“对话链” (dialogue chain),定义为 $pagechain_i = \{Q_i, R_i, T_i, metachain_i\}$。其中,$metachain_i$ 是通过 LLM 生成的元信息,它评估新页与前一页的上下文相关性以决定链接或重置,并总结所有链页。 * **Mid-Term Memory (MTM,中时记忆)**: 采用“分段分页” (Segmented Paging) 存储架构,灵感来源于操作系统的内存管理。具有相同主题的对话页被分组到“段” (segments) 中,每个段包含多个属于特定主题的页。段的内容由 LLM 基于相关对话页进行总结。一个段的定义为:$segment_i = \{page_i | Fscore(page_i, segment_i) > \theta\}$。 * $Fscore$ 用于衡量对话页与段之间的相似性,结合了语义和关键词相似度: $Fscore = \cos(e_s, e_p) + F_{Jacard}(K_s, K_p)$ 其中,$e_s$ 和 $e_p$ 分别是段和对话页的嵌入向量,$K_s$ 和 $K_p$ 分别是段和页中 LLM 总结的关键词集合。$F_{Jacard}$ 是 Jaccard 相似度,定义为 $F_{Jacard} = \frac{|K_s \cap K_p|}{|K_s \cup K_p|}$。当页与段的相似度分数超过阈值 $\theta$ 时,它们被合并到同一个段中。 * **Long-term Persona Memory (LPM,长期个性记忆)**: 确保用户和 AI Agent 都能持久记住重要的个人细节和特征。 * **User Persona (用户画像)**: 包含静态属性 (如性别、姓名)、User Knowledge Base (User KB,动态存储从交互中提取和更新的事实信息) 和 User Traits (随时间演变的用户兴趣、习惯和偏好)。 * **Agent Persona (Agent 画像)**: 包含 Agent Profile (Agent 的固定角色设置) 和 Agent Traits (Agent 通过与用户交互动态发展的属性)。 2. **Memory Updating (记忆更新模块)**: * **STM 到 MTM 更新**: STM 中的对话页以固定长度的队列形式存储,采用“先进先出” (FIFO) 策略进行迁移。当 STM 队列达到最大容量时,最老的对话页根据 FIFO 原则传输到 MTM。 * **MTM 到 LPM 更新**: MTM 的更新涉及段的删除和段到 LPM 的传输,两者均基于段的“热度” (Heat score)。热度定义为: $Heat = \alpha \cdot N_{visit} + \beta \cdot L_{interaction} + \gamma \cdot R_{recency}$ 其中,$\alpha, \beta, \gamma$ 是权重系数,$N_{visit}$ 是段被检索的次数,$L_{interaction}$ 是段内对话页的总数,$R_{recency}$ 是时间衰减系数,表示自上次访问以来的时间:$R_{recency} = \exp(-\frac{\Delta t}{\mu})$,$\Delta t$ 是时间间隔,$\mu$ 是可配置的时间常数。当段长度超过最大容量时,热度最低的段将被淘汰。 * **LPM 更新**: 热度超过阈值 $\tau$ 的段被传输到 LPM。这些段及其对话页用于更新 User Traits、User KB 和 Agent Traits。User Traits 根据用户特征 (Li et al., 2025) 构建90个维度,并由 LLM 自主提取和更新。User KB 和 Agent Traits 维护固定大小的 FIFO 队列。 3. **Memory Retrieval (记忆检索模块)**: * 接收用户查询 $Q$,从 STM、MTM 和 LPM 中检索最相关的信息。检索函数表示为 $F_{Retrieval}(STM, MTM, LPM | Q)$。 * **STM 检索**: 检索所有对话页,因为它代表当前对话的最新上下文。 * **MTM 检索**: 采用两阶段检索过程:首先通过匹配分数 (如 $Fscore$) 选择 top-m 候选段,然后基于语义相似性在这些段中选择 top-k 最相关的对话页。检索后更新段的 $N_{visit}$ 和 $R_{recency}$。 * **LPM 检索**: User KB 和 Agent Traits 分别检索语义相关性最高的 top-10 条目作为背景知识。User Profile、Agent Profile 和 User Traits 的所有信息都被利用以提供个性化知识。 4. **Response Generation (响应生成模块)**: * 将从 STM、MTM 和 LPM 中检索到的内容与用户查询相结合,构建最终的 Prompt 作为 LLM 的输入,从而生成连贯且个性化的响应。这确保了响应与当前交互的上下文一致、能利用历史对话细节和摘要,并与用户及 AI Agent 的身份保持一致。 #### 实验结果与贡献 实验在 GVD 和 LoCoMo 基准数据集上进行,与 TiM、MemoryBank、MemGPT、A-Mem 等现有方法进行了比较。MemoryOS 在 GPT-4o-mini 上,尤其是在 LoCoMo 基准测试中,F1 和 BLEU-1 分数平均提高了 49.11% 和 46.18%,在 GVD 数据集上也超越了 SOTA 方法 A-Mem。消融实验表明 MTM 对模型性能贡献最大,其次是 LPM,而 Dialogue Chain 的影响相对较小。效率分析显示,MemoryOS 在检索到的 Token 数量和 LLM 调用次数方面优于 Top-2 基线模型,展现出更高的效率。案例研究进一步证明 MemoryOS 能够有效回忆用户的长期对话细节和偏好,增强对话连贯性和个性化体验。 总结来说,MemoryOS 通过将操作系统内存管理的“分层存储”、“动态更新”和“热度淘汰”等概念引入 AI Agent 记忆管理,构建了一个统一且高效的记忆系统,显著提升了 LLMs 在长期对话中保持上下文连贯性和用户个性化记忆的能力。 ## Abstract 本论文指出,**大语言模型(LLMs)面临两个关键挑战:固定的上下文窗口限制和内存管理能力不足**,这导致其**长期记忆能力薄弱**,并在与AI代理交互时**个性化体验受限**。 为了解决这些问题,作者**创新性地提出了一种“记忆操作系统”——MemoryOS**,旨在为AI代理提供**全面且高效的内存管理机制**。该系统**借鉴操作系统中的内存管理机制**,设计了一个**分层的存储架构**,并包含四个核心模块:**记忆存储、更新、检索和生成**。 具体来说,MemoryOS的架构分为三个层级: - **短期记忆** - **中期记忆** - **长期个性化记忆** 关键操作包括: - **短期到中期记忆的更新**采用基于对话链的FIFO(先进先出)机制 - **中期到长期记忆的更新**采用分段页式组织策略 实验结果显示,MemoryOS在**LoCoMo基准测试中表现出色**,相比基线模型,在GPT-4o-mini上的F1得分平均提升了**49.11%**,BLEU-1得分提升了**46.18%**,表明其在**长对话中具有更强的上下文连贯性和个性化记忆保持能力**。 此外,该系统已**开源实现**,代码可在GitHub上获取。 ## 1 Introduction ### 核心问题 本节指出,尽管大语言模型(LLMs)在文本理解和生成方面表现出色,但由于其依赖**固定长度的上下文窗口**进行记忆管理,因此在**维持对话连贯性**方面存在固有局限。这种设计在对话存在时间间隔或长期交互时,容易导致记忆断裂,表现为**事实不一致**和**个性化程度下降**。 在需要**长期用户适应**、**跨会话知识保留**或**稳定角色表示**的场景中,这一问题尤为突出,成为当前研究领域的一个重大挑战。 --- ### 当前解决方案分类 作者将当前LLMs中的记忆机制分为三类: 1. **知识组织方法(Knowledge-organization methods)** 通过将记忆结构化为语义网络或笔记形式,实现灵活的存储与检索。例如A-Mem结构。 2. **检索机制导向方法(Retrieval mechanism-oriented approaches)** 强调通过语义检索和遗忘机制实现长期记忆更新,如MemoryBank。 3. **架构驱动方法(Architecture-driven methods)** 采用分层结构与显式读写操作管理上下文,例如MemGPT。 这些方法通常**各自为政**,分别聚焦于存储结构、检索机制或更新策略等单一维度,**缺乏统一的记忆操作系统**来实现系统性、综合性的记忆管理。 --- ### 本文贡献与方法 受操作系统内存管理机制的启发,作者提出了一种**统一的记忆操作系统**——**MemoryOS**,这是该领域的首次系统性尝试。 #### MemoryOS 的核心模块(如图1所示) 1. **记忆存储(Memory Storage)** 将信息分为短期、中期和长期三个层级,形成**三层次分层记忆架构**。 2. **记忆更新(Memory Updating)** 采用基于对话链和热度机制的**分页更新策略**,动态刷新记忆内容。 3. **记忆检索(Memory Retrieval)** 利用语义分割技术,从不同层级中高效检索相关信息。 4. **响应生成(Response Generation)** 整合检索到的记忆信息,生成**连贯且个性化**的响应。 这四个模块协同工作,构建了一个**统一的记忆管理框架**,实现了对长期对话记忆的全面管理。 --- ### 主要贡献总结 1. 提出首个面向AI代理的记忆操作系统MemoryOS,解决长期对话中的连贯性与角色一致性问题。 2. 设计了**三层次记忆架构**,并整合四大核心模块,实现对用户偏好的动态捕捉与演化。 3. 通过大量实验验证了MemoryOS在多个基准数据集上的有效性与高效性,特别是在处理**长对话交互**方面表现优异。 --- ### 总结 本节从LLMs在长期对话中的记忆局限出发,分析了现有方法的不足,并提出MemoryOS这一系统性解决方案。其创新性在于借鉴操作系统内存管理思想,构建了一个**统一、分层、动态、可检索**的记忆管理框架,具有重要的理论与应用价值。 ## 2 Related Work ### 2.1 LLM 智能体的记忆机制 当前的大语言模型(LLMs)在处理需要长期连贯性的复杂任务时面临挑战,主要原因是其固定长度的设计难以维持长时间对话的连续性,导致记忆碎片化、事实不一致和个性化能力下降。 为解决这些问题,LLM 的记忆系统研究主要分为三类: #### 1. 知识组织方法(Knowledge-organization) 这类方法侧重于捕捉和结构化模型的中间推理状态,以提升记忆一致性: - **Think-in-Memory (TiM)**:通过持续更新思维链(chains-of-thought)来保持推理连贯。 - **A-Mem**:构建跨会话的知识网络,增强记忆的关联性。 - **Grounded Memory**:结合视觉语言模型与知识图谱,实现上下文感知的推理,适用于智能助手。 #### 2. 检索机制导向方法(Retrieval mechanism–oriented) 这类方法通过引入外部记忆库来增强模型的记忆能力: - **MemoryBank**:使用向量数据库存储对话和用户特征,并基于遗忘曲线进行更新。 - **AI-town**:以自然语言形式保存记忆,并加入“反思”机制过滤相关信息。 - **EmotionalRAG**:结合语义相似度与智能体当前情绪状态进行记忆检索,提升情感适配性。 #### 3. 架构驱动方法(Architecture-driven) 这类方法通过修改模型架构来更有效地管理上下文: - **MemGPT**:采用类似操作系统的内存管理机制,支持显式的读写操作。 - **Self-Controlled Memory (SCM)**:引入双缓冲机制和记忆控制器,实现有选择性的记忆召回。 > **重点总结**:三类方法各有侧重,知识组织和架构驱动更注重模型内部结构优化,而检索机制导向则依赖外部记忆库。这些方法共同目标是提升长期记忆一致性、个性化和上下文管理能力。 --- ### 2.2 操作系统中的内存管理 操作系统中广泛采用**段页式内存管理**,以在逻辑结构和物理内存利用之间取得平衡。 #### 经典方法: - **Multics系统**:将内存划分为段,段内再分页,支持高效管理、保护和共享。 - **段信息**(如大小、访问权限)可防止外部碎片。 - **分页机制**可减少内部碎片。 #### 高级策略: - 使用基于优先级的淘汰策略(如 LRU、工作集模型)保留热点数据。 - **Zheng 等人** 的研究表明,粗粒度分段与细粒度分页结合,可降低多核处理器的内存管理开销。 #### 与 MemoryOS 的联系: MemoryOS 受操作系统启发,将记忆划分为逻辑段(如对话主题),段内再细分“页”,并采用热度机制管理记忆内容,保留重要信息、淘汰低频信息,从而提升上下文管理与个性化能力。 > **重点总结**:操作系统内存管理的段页式结构和热度优先策略,为 MemoryOS 提供了设计灵感,使其在记忆组织和管理上更高效、灵活。 ## 3 MemoryOS ![](https://img.zhaoweiguo.com/uPic/2025/12/n77ryb.jpg) Figure 1:The overview architecture of MemoryOS, including memory Store, Updating, Retrieval, Response. ### 3.1 概览架构 MemoryOS 是一个面向 AI 智能体的综合记忆管理系统,旨在通过动态更新记忆和检索语义相关上下文,确保在长时间对话中实现连贯且个性化的交互。 其架构由四个模块组成: - **记忆存储**:采用三级结构:短时记忆(STM)、中时记忆(MTM)和长期个人记忆(LPM),分别用于存储实时对话、重复话题摘要和用户/智能体偏好。 - **记忆更新**:包括 STM 到 MTM 的 FIFO 更新机制,以及 MTM 到 LPM 的基于热度的分段更新策略。 - **记忆检索**:采用两阶段检索机制,先通过语义匹配找到相关 MTM 段落,再结合 LPM 的个性信息和 STM 的上下文信息。 - **响应生成**:整合 STM、MTM 和 LPM 中的检索结果,生成连贯且个性化的回复。 ### 3.2 记忆存储模块 该模块采用三级结构实现记忆的组织与存储: #### 短时记忆(STM) - 以“对话页”为单位存储实时对话数据,包括用户问题、模型回复和时间戳。 - 每个对话页包含上下文链(dialogue chain),用于维护连续对话中的上下文一致性。 - 通过 LLM 生成元信息,评估当前页与历史页的语义连续性,并生成摘要。 #### 中时记忆(MTM) - 采用**分段分页**结构,将相同主题的对话页归为一个段落。 - 段落的相似性通过 ℱscore 评估,结合语义向量相似度(cosine)和关键词 Jaccard 相似度。 - 页面与段落的相似度超过阈值 θ 时,合并到该段落中,确保语义一致性。 #### 长期个人记忆(LPM) - 包含用户画像(User Persona)和智能体画像(Agent Persona)。 - **用户画像**:包括静态属性(性别、姓名、出生年份)、知识库(User KB)和动态特征(User Traits)。 - **智能体画像**:包括角色设定(Agent Profile)和交互中形成的动态属性(Agent Traits)。 ### 3.3 记忆更新模块 负责动态更新记忆内容,包括: #### STM 到 MTM 更新 - 使用 FIFO 策略,当 STM 队列满时,将最早对话页迁移到 MTM。 #### MTM 到 LPM 更新 - **热度评分 Heat**:由访问次数(Nvisit)、对话页数量(Linteraction)和时间衰减因子(Rrecency)组成。 - 当 MTM 段落数超过容量时,淘汰热度最低的段落。 - 热度超过阈值 τ 的段落迁移到 LPM,用于更新用户特征、知识库和智能体特征。 - 更新后,段落的 Linteraction 重置为 0,降低其热度,避免重复更新。 ### 3.4 记忆检索模块 负责从 STM、MTM 和 LPM 中检索相关信息,支持响应生成: #### STM 检索 - 检索所有对话页,因为 STM 存储当前对话的最新上下文。 #### MTM 检索 - **两阶段检索**: 1. 使用 ℱscore 选择 top-m 个相关段落; 2. 在这些段落中选择 top-k 个最相关的对话页。 - 检索后更新段落的访问次数和时间衰减因子。 #### LPM 检索 - 用户知识库(User KB)和智能体特征(Agent Traits)各检索 top-10 条最相关条目。 - 用户画像、智能体画像和用户特征信息全部使用,因其存储了偏好和个性信息。 ### 3.5 响应生成模块 - 将用户查询与从 STM、MTM 和 LPM 检索到的信息整合为最终提示(prompt),输入 LLM 生成回复。 - 结合: - STM 的近期上下文; - MTM 的历史对话页和摘要; - LPM 的个性化信息; - 确保回复: - 上下文连贯; - 内容有深度; - 与用户和智能体身份一致; - 实现连贯、准确、个性化的交互体验。 ## 4 Experiments ### 4.1 实验设置 #### 数据集 实验基于两个数据集:GVD 和 LoCoMo。 - **GVD 数据集**:包含15个虚拟用户与助手在10天内的多轮对话,每天至少涉及两个话题。 - **LoCoMo 数据集**:用于评估长期对话记忆能力,对话平均有300轮、约9000个token。问题分为四类:单跳、多跳、时间相关和开放域,用于系统评估大语言模型(LLM)的记忆能力。 #### 评估指标 - **GVD**:使用 Memory Retrieval Accuracy(准确率)、Response Correctness(正确性)、Contextual Coherence(连贯性),由 DeepSeek-R1 自动评分。 - **LoCoMo**:采用 F1 和 BLEU-1 指标评估模型表现。 #### 对比方法 与以下代表性记忆方法进行对比: - **TiM**:通过存储推理结果而非原始对话,使用 LSH 检索上下文,通过反思更新记忆。 - **MemoryBank**:基于艾宾浩斯遗忘曲线动态调整记忆强度,构建用户画像。 - **MemGPT**:采用双层记忆结构,主上下文用于快速访问,外部上下文用于长期存储。 - **A-Mem**:动态生成结构化笔记,构建知识网络,实现记忆演化。 - **MemoryOS(本文方法)**:综合记忆管理框架,包含记忆存储、更新、检索和生成四个核心模块。 #### 实验结果表格 - **表1(GVD 数据集)**:MemoryOS 在 Acc、Corr、Cohe 三项指标上均优于其他方法,分别提升3.2%、5.4%、1.0%。 - **表2(LoCoMo 数据集)**:MemoryOS 在 F1 和 BLEU-1 指标上显著优于其他方法,平均提升达 32.35%~125.61%。 - **表3(效率分析)**:MemoryOS 在 LLM 调用次数和 token 消耗上优于 MemGPT 和 A-Mem,效率更高。 #### 实现细节 - 使用 8-H20 GPU 进行实验。 - STM(短期记忆)队列长度为7,MTM(中期记忆)段最大长度为200。 - 用户知识库和代理特征最大容量为100条。 - 热度阈值 τ=5,α=β=γ=1。 - 检索参数:top-m=5,top-k=5(GVD)、10(LoCoMo)。 - 相似度阈值 θ=0.6,时间常数 μ=1e+7。 --- ### 4.2 主要结果 实验结果见表1和表2,主要观察如下: 1. **MemoryBank 表现最差**,说明仅靠遗忘机制不足以有效管理记忆;TiM 通过存储“思考”减少重复推理,但其单阶段哈希检索无法保留跨主题依赖。 2. **A-Mem 和 MemGPT 表现较强**,但缺乏系统性记忆管理机制: - MemGPT 的扁平 FIFO 队列导致长对话中主题混杂; - A-Mem 的图结构虽增强语义,但多步链接生成导致延迟和误差累积。 - **MemoryOS** 通过分层 STM/MTM/LPM 架构、分段分页、热度淘汰机制和用户画像模块,有效保持主题一致性与用户偏好。 3. **MemoryOS 表现最优**: - 在 LoCoMo 上 F1 和 BLEU-1 平均提升 49.11% 和 46.18%; - 在 GVD 上仍比 A-Mem 提升 3.2%,显示其在复杂长上下文任务中的鲁棒性。 4. **效率优势显著**: - LLM 调用次数远低于 A-Mem(4.9 vs 13); - token 消耗远低于 MemGPT(3874 vs 16977)。 #### 图3:超参数分析 - 设置不同 top-k 值(5,10,20,30,40)分析对 LoCoMo 性能影响。 - 性能随 k 增加提升,但超过阈值后效果下降,最终选择 k=10 以平衡性能与计算开销。 #### 图4:案例研究 - 展示 MemoryOS 在记忆用户长期偏好和对话细节上的优势。 - 例如:回忆“湿地公园看风景、跑步、看到松鼠”等信息,并在用户想吃汉堡时提醒“别忘了你想变瘦”。 --- ### 4.3 消融实验 评估 MemoryOS 各模块贡献,分别移除 MTM、LPM、Chain 和整个 MemoryOS: - 移除 MemoryOS 后性能大幅下降,说明记忆系统对长对话至关重要。 - **MTM 影响最大**,其次是 LPM,Chain 影响最小。 --- ### 4.4 超参数分析 分析从 MTM 中检索的 top-k 对话页数对性能的影响: - 随着 k 增加,性能提升,但超过一定值后效果下降。 - 设置 k=10 以在性能与计算开销之间取得平衡。 --- ### 4.5 案例研究 通过对比默认 LLM 和引入 MemoryOS 的 LLM 回应,展示 MemoryOS 在记忆用户长期偏好和历史对话中的优势: - 能准确回忆用户几周前提到的“去湿地公园”的细节; - 结合 MTM 的分段分页与对话链机制,实现跨轮次信息检索; - 用户画像模块可记住“想变瘦”的目标,并在后续对话中主动提醒,提升对话连贯性和用户体验。 ## 5 Conclusion 本节总结了 MemoryOS 这一创新性 AI 代理记忆管理系统的设计理念与核心贡献。 - **核心创新**:受操作系统内存管理机制的启发,作者首次提出了名为 **MemoryOS** 的 AI 记忆管理系统。该系统采用**分层记忆存储架构**,有效解决了传统对话系统中固定上下文窗口带来的限制。 - **关键技术**: - 引入类似操作系统的**段页式存储机制**,对对话历史进行高效存储与更新。 - 通过**热度驱动的淘汰策略(heat-driven eviction)**,动态识别并保留关键信息,实现跨层级记忆的语义化检索与管理。 - **个性化支持**:系统集成了**人格模块(persona module)**,能够通过提取用户的个性化特征,捕捉其偏好变化,从而确保对话内容在长时间交互中保持一致性与个性化。 - **应用价值**:MemoryOS 将操作系统的设计理念与 AI 记忆管理相结合,使大语言模型(LLMs)能够在长期交互中维持连贯、个性化的对话体验,显著提升了 AI 在真实应用场景中的人机对话能力。 总结来说,这一章节强调了 MemoryOS 在突破传统对话系统限制方面的开创性作用,并展望了其在提升 AI 对话智能方面的潜力。