今天在「机器之心」公众号看到的,目前就御三家的使用来看,只有 OpenAI 的 ChatGPT 记忆功能做的最好,Gemini 只能靠你自己去填,Perplexity 也是需要自己去填偏好,而 OpenAI 的全局上下文记忆很好用,但最近的表现来看,像是一个佞臣,皇帝身边的小太监,而不像当初的文帝之于贾谊。

其实我是对记忆功能有一点自己的理解的,我认为 AI 要成为副手、副驾驶,私人助理,像是钢铁侠的战衣、贾维斯、星期五,那么必须有你所有历史对话的记忆,要有连续性,而不是失掉上下文的滑动窗口。

AI 没有末那识

下面是文章的导读以及我与 ChatGPT 的深度导读和详解。

请详解


一、背景与动因

  1. 大模型记忆需求的提出

    随着 LLM 在科研、产业和生活中的广泛应用,单次推理或单次检索的“静态”方式已难满足多轮对话、长期任务协作、个性化推荐等场景对“持续记忆” 的需求。用户和开发者都在追问:如何让模型「记得」更多历史信息、并在后续交互中有效调用?

  2. 现有解决方案的局限

    • 全局记忆(Global Memory):类似 OpenAI 当前的全局上下文窗口,容易因长度膨胀导致 Token 开销大幅增加。
    • 传统 RAG:基于向量检索的外部知识库,往往不能充分利用模型内部的激活或参数记忆,也缺乏高效的调度机制。
  3. MemOS 的提出

    由记忆张量(上海)科技联合多所高校与企业发布,目标是打造一个“像操作系统一样”专门管理 LLM 记忆的工业级框架,真正把“记忆”视作与算力、内存同等重要的资源来调度和优化。


二、核心性能数据

  • 准确性提升:相比 OpenAI 的全局记忆方案,在标准大模型记忆评测集上平均准确性提升 **38.97%**。
  • Token 开销下降:平均所需上下文 Token 数量减少 **60.95%**,大幅节省调用成本。
  • 时序推理:在考验时序建模与检索能力的 Temporal Reasoning 任务上,相对提升 **159%**,展现对事件顺序和时间逻辑记忆的显著优势。

这些数据表明,MemOS 在“更准、更省、更擅长时间线思考”三方面都达到了 SOTA 水平。


三、系统架构与核心创新

整体上,MemOS 借鉴传统操作系统设计,分为三层:

  • 🏗 API 层:让记忆“轻松召唤”
  • ⏱ 调度层:提前预热你的专属回忆
  • 💾 存储层:记忆从此不再丢失

  1. API 与应用接口层
    • 提供统一的 Memory API(REST + Python SDK),开发者可以进行记忆的创建、读取、更新、删除(CRUD)等操作。
    • 支持多轮对话、跨 Session 的持久记忆调用,简化了业务方对接难度。
  2. 记忆调度与管理层
    • Memory Scheduler:提出“记忆调度”范式,引入 Next-Scene Prediction(下一场景预测)。
    • 通过在对话/任务流程中埋设触发点(Trigger),收集潜在记忆需求,将其放入 Monitoring Queue,再由调度执行器预先加载高频、高相关记忆到合适缓存(如 KV Cache 或明文工作区)。
    • 这样能在下一次推理前就做好准备,降低响应延迟、提升召回准确率。
  3. 记忆存储与基础设施层
    • MemCube 记忆单元:将明文记忆(Plain Text)、激活记忆(Activated Memory)和参数记忆(Parametric Memory)三类信息,统一封装为标准化的“立方体”。
    • 支持多种持久化存储(向量数据库、图数据库等),并可在不同模型间迁移、复用。
    • 以模块化方式管理记忆生命周期、访问权限和审计追溯。

四、标准化 MemCube

  • 概念:将不同形态的记忆(如聊天记录、检索结果、模型内隐知识)都看作“记忆立方体(MemCube)”,在接口层、调度层和存储层之间流动。
  • 优势
    • 统一调度,简化了管理逻辑;
    • 可对单个 MemCube 进行版本化、权限控制和来源追溯;
    • 支持插拔式扩展(比如接入新的向量引擎或缓存策略)。

五、性能评估与对比

  1. LoCoMo Benchmark 测评
    • 采用 ACL 2024 提出的 LoCoMo(Long Conversational Memory)基准,包含四大任务:Single Hop、Multi Hop、Open Domain、Temporal Reasoning。
    • MemOS-Preview-0630 在上述四项任务中,全面超过 OpenAI 全局记忆,并在 Temporal Reasoning 上相对提升 159%。
  2. Top-K 召回 vs Token 开销
    • 在召回 K≈20 时,仅需约 1000 Tokens 上下文,就能达到高准确度;
    • 传统方案通常需要 2000–4000 Tokens,MemOS 减少了一半以上的输入成本。
  3. 缓存复用(KV Cache)加速实验
    • 对比“无缓存”场景,长上下文推理中的 Time To First Token(TTFT)加速比超过 70%;
    • 模型规模越大、上下文越长,缓存复用的收益越显著。
  4. 检索时效性
    • 开源版本的检索延迟已接近多个主流商业化框架,并在最终效果分数上实现了超越。

六、典型应用场景

  1. 个性化智能体

    持续记忆用户偏好、历史对话,让机器人真正“知道你喜欢什么”,随着交互不断优化体验。

  2. 科研与知识管理

    将项目文档、实验笔记、分析结果结构化存储并动态调用,为研究人员提供“记得过去”的助手。

  3. 高可靠性与合规

    在金融、法律等场景,提供记忆源头追溯、权限审计,增强决策透明度与可信度。

  4. 企业级 RAG 应用

    解决新旧知识混用、信息冲突,实现多轮长周期任务中答案的一致性和稳定性。


七、开源生态与未来计划

  • Playground 上线:面向开发者开放可视化体验,直观感受记忆预取与调用带来的性能提升。
  • OpenMem 社区:即将成立开源社区,联合学术机构与产业伙伴,共建“记忆技术底座”。
  • 联合开发计划:与智能体、行业业务团队共推对话机器人、智能搜索、企业知识库等多样化落地项目。
  • 长期迭代路线:聚焦记忆表征压缩、分布式调度、跨模型迁移、可解释性与安全性等方向,最终支持 Memory-as-a-Service 模式。

八、团队与开源地址


问答

Rainman 问

记忆功能,要做的就是在每次对话时都能理解用户的偏好吗?

这样就要求从历史对话从检索,总结用户的偏好吧。

ChatGPT 答

是的,核心思路就像你说的——每次对话前,通过检索和汇总“我是谁”“我喜欢什么”“我关心什么”这些记忆片段,让模型在上下文中“带着”用户偏好去生成回答。一个完整的用户偏好记忆子系统,大致可以分为以下几个步骤:


1. 记忆采集(Capture)

  • 触发点(Trigger):在对话中标记关键事件/意图——比如用户表达了“我喜欢…”“我偏好…”、“下次别给我推荐…”这类信息时,就把它抽取成结构化条目。
  • 原始存储:将这些条目存入一个可检索的记忆库(Vector DB、关系库、图数据库等),并附上时间戳、来源对话轮次、主题标签等元信息。

2. 记忆检索(Retrieval)

  • 上下文感知检索
    • 在每次新一轮推理调用前,根据当前对话的主题、用户问句或意图,做一次“语义检索”:
      • 用当前对话文本生成查询 embedding,
      • 在记忆库中找出 Top-K 最相关的历史记忆条目。
  • 动态调度
    • 像 MemOS 那样,还可以用“下一场景预测”(Next-Scene Prediction)来提前加载可能需要的偏好记忆,进一步缩短响应延迟。

3. 偏好总结(Summarization)

  • 向量聚类
    • 将检索到的多条偏好记忆 embedding 做聚类(或打标签),把高度相似的合并,避免冗余。
  • 增量摘要
    • 用轻量级模型(或 Prompt)对一组相关记忆生成一句话摘要:

      “用户喜欢偏清爽的莫吉托,夏天倾向用香柠加冰块。”

  • 多维画像
    • 为不同维度(如“饮品偏好”“对话风格”“技术栈倾向”)各建一个小档案,方便后续精细调度。

4. 上下文融合(Integration)

  • Context Window 构造
    • 把这些总结好的“用户偏好摘要”拼接到 prompt 或者系统指令里,让 LLM 在生成时默认带着这些“已知偏好”。
  • 权重控制
    • 对不同维度设置优先级:
      • 比如技术讨论中,“技术栈偏好”优先;
      • 社交闲聊时,“调侃幽默风格”权重更高。

5. 迭代更新(Update)

  • 反馈闭环
    • 对于每一次对话,检查模型是不是按照记忆摘要产生了符合预期的回答,必要时对偏好摘要做“微调”或“纠正”。
  • 过期与生效
    • 某些偏好会随着时间变化(比如季节饮品、旅行目的地),需要打上“时效性”标签,到期后自动降权或归档。

小结

  • 检索:用语义检索把最相关的历史偏好拉进来;
  • 摘要:把海量对话浓缩成高效、结构化的用户偏好描述;
  • 融合:在 Prompt/系统指令里挂载这些偏好,让模型“带着记忆”去生成回答;
  • 更新:根据新对话不断校准和迭代。

这样,AI 才能在每次对话真正确切地“理解并记住”你的偏好,而不是每次都从零开始。