200字
MemoryOS 大模型记忆系统(转载)
2026-04-01
2026-04-01

转载自B站UP 日新月异max

MemoryOS

问题一:三种记忆存储方式(Forms)

MemoryOS 将记忆划分为三个层级,分别对应不同的生命周期和抽象程度。

1. 短期记忆 (STM) - 保证实时性

  • 机制:STM 采用 FIFO(先进先出)队列。它存储的是未经压缩的“原生”对话页面(Page)。

  • 核心结构:每个页面 page_i 不仅仅包含问答对 \{Q_i, R_i\},还包含时间戳 T_i 和 元数据链(Meta Chain) meta_i^{chain}

  • Dialogue Chain:这是为了解决短期上下文连贯性。模型会评估当前页与上一页是否有关联,如果有关联则链接起来,确保模型知道“刚才我们在聊什么”

  • 公式

    page^{chain}_i = \{Q_i, R_i, T_i, meta_i^{chain}\}

2. 中期记忆 (MTM) - 保证主题连贯性

  • 机制:当 STM 队列满了,旧的对话页会被“挤出”并迁移到 MTM。MTM 采用段页式存储。
  • 核心逻辑:MTM 不再是线性的,而是按主题聚类的。系统会计算新进来的页面与现有段(Segment)的相似度 \mathcal{F}_{score}
  • 相似度计算:结合了 Embedding 余弦相似度(语义)和 Jaccard 关键词相似度(字面匹配) 。
    • 如果 \mathcal{F}_{score} > \theta(阈值),页面归入该段。
    • 否则,创建一个新段。
  • 公式
    segment_i = \{page_i | \mathcal{F}_{score}(page_i, segment_i) > \theta\}

3. 长期个性化记忆 (LPM) - 维护人格与偏好

  • 机制:只有在 MTM 中非常“热门”的记忆段(即被反复提及、访问)才会晋升到 LPM。
  • 核心结构:包含 用户画像(User Persona) 和 Agent 画像(Agent Persona)。
    • User KB / Traits:动态更新的事实(如“用户住在北京”)和偏好(如“用户喜欢吃辣”)。
    • Static Profile:静态属性(如姓名、生日) 。

问题二:记忆的处理机制(Dynamics)

假设用户输入一段对话:

用户:“我上周去了湿地公园,那里的松鼠很可爱。” 对话助手(Agent)回答:“真好啊,你喜欢那些可爱的松鼠嘛”

1. 进入 STM(短期缓冲)

  • 系统创建一个 Page_{new}{Q: "我去了湿地公园...", R: "...", T: 2024-01-24}
  • LLM 生成 meta^{chain},标记这个页面属于“近期出游”话题。
  • 放入 STM 队列。如果 STM 队列长度限制为 7,且现在已满,最早的一页(假设是关于“想吃汉堡”的对话)被移出 STM,进入 MTM 处理流程 。

2. 迁移至 MTM(主题归档)

  • 被 STM 移出的“想吃汉堡”页面进入 MTM。
  • 系统计算该页面与 MTM 中现有段的相似度:
    • 段 A(工作):相似度低。
    • 段 B(饮食偏好):相似度高(\mathcal{F}_{score} > \theta)。
  • 该页面被合并进“段 B(饮食偏好)”。如果此时 MTM 空间不够,会根据热度(Heat)删除最不重要的段 。

3. 晋升至 LPM(长期记忆)

  • 假设用户在后续对话中多次提到“松鼠”和“公园”,导致 MTM 中存储“湿地公园”的那个段被反复检索。
  • 该段的 热度(Heat) 分数上升(由访问次数 N_{visit} 和交互深度 L_{interaction} 决定) 。
  • Heat > \tau(阈值,例如 5)时,系统触发提取操作 。
  • LLM 从该段中提取出用户特征:“用户喜欢自然风光”、“用户喜欢小动物”。(也可以从Role-Play提示词中提取出Agent个性,比如用户输入“假设你是人工智能专家,冷静客观富有科研天赋”,那么Agent个性就偏向于科研风格和创新性。)
  • 这些特征被写入 LPM 的 User Traits和Agent Persona,成为永久记忆。几周后即使 STM 和 MTM 都被覆盖了,LPM 依然记得你喜欢松鼠 。

问题三:算法全流程详解(存储、更新、检索、生成)

2026-04-01T21:49:02-xterbgoj.png

1. 存储 (Storage)

架构如上所述,分为 STM(队列)、MTM(段页式)、LPM(键值对/画像)。这是一个层级结构,数据密度逐层压缩,保留时间逐层增加 。

2. 更新 (Updating)

更新包含两个关键的“跃迁”:

  • STM \rightarrow MTM (FIFO):纯粹基于容量的更新。STM 满了,头部元素(最旧)强制进入 MTM 。

  • MTM \rightarrow LPM (Heat-based):基于价值的更新。论文引入了 热度(Heat)公式:

    Heat = \alpha \cdot N_{visit} + \beta \cdot L_{interaction} + \gamma \cdot R_{recency}
    • N_{visit}:被检索次数(越查越重要)。
    • L_{interaction}:段内包含的页面数(聊得越多越重要)。
    • R_{recency}:时间衰减(越近越重要)。
    • 热度低的段被删除(遗忘),热度高的段提取信息存入 LPM 。
  • **LPM\rightarrowNull:**对于存储具体事实和属性的 User KB(用户知识库) 和 Agent Traits(Agent特性),MemoryOS不允许它们无限增长:

    • 固定大小限制:这两部分都维持着一个固定大小的队列,上限为 100 条 。
    • FIFO 策略:当知识库填满 100 条后,系统会采用 First-In-First-Out(先进先出) 策略 。这意味着最旧的、可能已经过时的事实会被物理删除,为新提取的事实腾出空间 。
    • User Traits的构建:系统参考了 90 个维度的特征,涵盖基本需求、人格、AI 对齐偏好及平台兴趣标签 。当 MTM 中的高热度段(Heat > 5)晋升时,LLM 会从这些段的原始对话页中提取信息,并对这 90 个维度的特征进行增量式更新 ,使得旧的特征值被新的评估结果所取代,从而实现了用户画像随时间的动态演变 。
    • 热度重置:一旦一个 MTM 段的信息被成功转移到了 LPM,该段对应的交互页面计数 L_{interaction} 会被重置为零 。由于 L_{interaction} 是计算 Heat 的核心参数之一(参考公式 4),重置会导致该段的热度分数瞬间大幅下降 。热度下降后,该段短期内不会再次触发向 LPM 的晋升,直到积累了足够多的新交互 。这确保了 LPM 的进化是连续且无冗余的 。

3. 检索 (Retrieval) - 混合策略

当用户发起一个新的 Query 时,系统同时从三处检索 :

  • STM 检索:直接获取队列中所有最近的 N 轮对话,保证上下文不丢失 。
  • MTM 检索(两阶段法)
    1. 段级检索:先计算 Query 与 Segment 摘要的相似度,选出 Top-m 个相关段(比如找到“旅游”段)。
    2. 页级检索:在选中的段里,再细化查找 Top-k 个最相关的具体对话页 。
  • LPM 检索:基于语义向量,从 User KB 和 Agent Traits 中检索 Top-N 条相关的事实或偏好 。

4. 生成 (Generation)

  • Prompt 组装:将检索到的三部分信息拼接:

    Prompt = [LPM\_Info] + [MTM\_Context] + [STM\_Recent] + [Current\_Query]
  • LLM 推理:LLM 基于这个包含长期偏好、中期背景和短期语境的 Prompt 生成回复,确保回复既连贯又个性化 。

问题四:结果表与性能指标分析

1. 评价指标含义详解

  • Acc. (Retrieval Accuracy):检索准确率。衡量系统是否在浩如烟海的历史记忆中找到了真正相关的那条信息(0 或 1) 。
  • Corr. (Response Correctness):回复正确性。LLM 的回答是否符合事实,没有出现幻觉(0, 0.5, 1 三档评分) 。
  • Cohe. (Contextual Coherence):上下文连贯性。回复是否自然、顺畅,符合对话逻辑 。
  • F1 Score:在 LoCoMo 基准中,衡量生成的答案与标准答案在语义内容上的重叠度(综合了精确率和召回率) 。
  • BLEU-1:衡量生成文本与参考文本的 N-gram(这里是 1-gram)重合度,主要看用词是否准确 。

2. 任务分类含义 (LoCoMo Dataset)

表格 2 将测试分为了四类,这对于理解模型能力至关重要:

  • Single Hop(单跳):问题只需要检索一条特定的历史记录就能回答,这是最基础的记忆提取。
  • Multi Hop(多跳):问题需要结合多条分散的记录推理。例如:“我上次去大理旅游和这次去西藏旅游,间隔了多久?”、“根据我喜欢的装修风格,你觉得我上周在宜家看中的那款沙发合适吗?”
  • Temporal(时序):涉及时间顺序的问题。
  • Open Domain(开放域):闲聊或广泛话题,测试长周期的个性化维持能力。

附件

  1. 作者PPT讲解文档
  2. 论文原文
MemoryOS 大模型记忆系统(转载)
Author
Administrator
Published at
2026-04-01
License
CC BY-NC-SA 4.0

Comment