MemOS
不能把小孩子的精神世界变成单纯学习知识。如果我们力求使儿童的全部精神力量都专注到功课上去,他的生活就会变得不堪忍受。他不仅应该是一个学生,而且首先应该是一个有多方面兴趣、要求和愿望的人。——苏霍姆林斯基
MemOS:为大语言模型与 AI Agent 安装一套可生长的记忆系统
项目地址:https://github.com/MemTensor/MemOS
如果说大语言模型擅长理解当下,那么记忆,便决定了它能否把一次次对话、任务与经验连接成连续的轨迹。
没有记忆的 Agent 像一位每次醒来都从零开始的助手。它能够回答问题,也能完成眼前任务,却难以持续理解用户偏好、回忆历史信息,更难把过去的行动沉淀为下一次任务可复用的经验。
MemOS 希望解决的,正是这一层问题。
MemOS 是面向大语言模型与 AI Agent 的记忆操作系统。它围绕长期记忆提供存储、检索与管理能力,让 Agent 可以在持续交互中拥有更具上下文感知能力、更贴近个体需求的记忆基础。
它不仅关注记住一段文字,也关注如何让记忆可查看、可编辑、可纠正、可组合,并让文本、图像、工具轨迹与角色信息能够进入同一个记忆体系。
在 MemOS 的世界里,记忆不再只是隐藏在向量库深处的一组结果,而是一套可以被组织、调用与持续演化的系统能力。
记忆,不应只是黑盒中的检索结果
很多记忆系统将信息写入嵌入存储,然后在需要时返回相似内容。这样的方式可以提供基础检索,但当记忆需要被修正、补充、删除或重新组织时,黑盒往往会带来更多不确定性。
MemOS 提供统一记忆 API,用于添加、检索、编辑和删除记忆。
这些记忆以图结构组织,设计上可检查、可编辑。记忆不只是被保存下来,也能够被看见、被调整、被维护。
这种思路让长期记忆更像一座持续整理的知识空间。
新的信息可以进入其中,旧的内容可以被修正,错误的记忆可以被替换,分散的经验也可以逐渐形成更有秩序的关联。对于需要长期运行的 AI Agent 来说,真正重要的不只是记住更多,而是能够让记忆随着交互不断变得更可靠。
让文本、图像、工具轨迹与角色共同进入记忆
MemOS 原生支持多模态记忆。
文本、图像、工具轨迹与角色信息,都可以进入同一套记忆系统,并在检索与推理时共同参与。
这意味着,Agent 的记忆不必只围绕对话文字展开。
一次任务中的工具调用轨迹,可以成为经验的一部分。用户的角色信息,可以成为个性化交互的背景。图像信息,也可以和文本记忆一起进入后续检索与推理过程。
当记忆的来源更加丰富,Agent 所面对的上下文也不再只有单一的文字片段。它可以在更完整的信号中寻找与当前任务相关的内容。
记忆由此不再只是聊天记录的延长线,而逐渐成为 AI Agent 理解人、任务和环境的基础设施。
Memory Cube:让知识库既能隔离,也能组合
不同用户、不同项目、不同团队,往往需要不同的记忆边界。
MemOS 提供多 Memory Cube 知识库管理能力。多个知识库可以作为可组合的记忆单元被管理,用于实现隔离、受控共享与动态组合。
这种结构使记忆不必被放进一个没有边界的大容器。
某位用户的长期偏好可以属于自己的记忆空间。某个项目的知识可以在项目范围内保存。多个 Agent 可以使用共享或隔离的记忆。需要时,不同记忆单元还能够按照任务需求进行组合。
Memory Cube 像一个个可管理的记忆方块。
它们可以独立存在,也可以在合适的时刻拼接起来。对于多用户、多项目与多 Agent 场景而言,这种方式让记忆的归属与可见范围拥有更清晰的位置。
异步写入,让记忆系统面对高并发时保持节奏
记忆写入并不总是适合阻塞主任务。
MemOS 通过 MemScheduler 支持异步记忆操作,并提供毫秒级延迟,以增强高并发场景下的生产稳定性。
当 Agent 持续接收消息、执行工具、处理任务时,记忆系统需要能够跟上节奏。异步写入让记忆相关操作不必总是卡在交互主链路中,而可以在适当的时机进入后台处理。
这种机制让记忆不只是被动保存的档案,也能够成为持续工作的系统组件。
Agent 专注处理当前任务,MemScheduler 则让记忆操作在背后有序推进。信息被收集、被处理、被写入,后续任务再从长期记忆中召回相关内容。
记忆可以被反馈,也可以被纠正
真正有价值的长期记忆,不应永远停留在第一次写入的状态。
MemOS 支持通过自然语言反馈来优化记忆。用户可以对已有记忆进行纠正、补充或替换。
这让记忆拥有了一种持续校准的能力。
当某条信息不再准确,可以进行修正。当已有内容不够完整,可以继续补充。当旧记忆已经不适合当前情况,也可以被新的内容替代。
记忆因此不是一份不可更改的历史记录,而是一套可以随着理解不断更新的内容体系。
对于个性化 Agent 来说,这一点尤其重要。用户偏好可能变化,项目状态可能更新,任务环境也可能不断演进。记忆若能接受反馈,Agent 就有机会随着持续交互变得更加贴近真实需求。
MemOS 能做什么
MemOS 为 AI Agent 提供长期记忆能力,适用于多种场景。
让 AI 助手保持连续的上下文
当助手能够召回相关历史信息,对话就不必每次从零开始。
MemOS 可以用于构建具有一致性和丰富上下文的 AI 助手,让过去的交流内容在后续互动中继续发挥作用。
让客户支持记住历史
客户支持场景中,历史工单与用户信息往往十分重要。
MemOS 可以帮助系统召回过去的工单与用户历史,让服务过程能够建立在已有上下文之上,而不是每一次都重新了解问题。
让个性化 Agent 逐渐适应用户
个性化并不只是一次性的偏好设置。
当 Agent 可以保存并检索用户相关记忆,它就能够在持续互动中更好地适应个人偏好与上下文。
让多个 Agent 共享或隔离记忆
多 Agent 协作既需要信息共享,也需要边界。
MemOS 支持共享或隔离记忆,使多个 Agent 能够围绕共同知识协作,也能保留各自独立的记忆空间。
四种进入 MemOS 的方式
MemOS 提供四类入口,分别适配不同的使用场景。
| 方式 | 适用方向 | 基础设施 | 数据位置 |
|---|---|---|---|
| Cloud API | 通过托管服务为应用加入记忆 | 无需自行运行基础设施 | MemOS Cloud |
| 自托管服务 | 团队在自己的基础设施上运行 MemOS | Neo4j 与 Qdrant | 自有服务器 |
| MemOS Cloud Plugin | 面向 OpenClaw 用户的托管插件方式 | 无需自行运行基础设施 | MemOS Cloud |
| Local Plugin | 面向 DeepSeek Harness、Hermes 与 OpenClaw 的本地记忆方式 | 本地 SQLite | 本机 |
不同入口对应不同的部署与使用路径。
希望快速接入托管能力的应用,可以选择 Cloud API。希望将服务运行在自己的机器或集群中的团队,可以选择自托管。希望让 Agent 获得持久记忆的用户,则可以通过云插件或本地插件将 MemOS 接入相应运行环境。
通过 Cloud API 为应用添加记忆
Cloud API 面向希望快速为应用增加记忆能力的场景。
这种方式不需要自行部署基础设施。开发者获取 API Key 后,可以通过接口写入消息记忆,再根据查询内容搜索相关记忆。
写入时,记忆可以关联用户标识、会话标识与消息内容。检索时,则可以根据问题与用户标识寻找相关内容。
这一模式让应用能够将用户偏好、历史对话或其他长期信息交给 MemOS 管理,并在后续交互中按需召回。
对于希望先从托管服务开始的团队来说,Cloud API 将记忆能力收束为一条相对直接的接入路径。
自托管:将记忆服务运行在自己的环境中
MemOS 也支持自托管。
自托管服务可以运行在自己的机器或集群中,并以 REST 服务的方式提供记忆能力。通过 Docker 启动时,MemOS API 会与 Neo4j、Qdrant 一同运行。
1 | git clone <项目地址> |
在这一方式中,需要在 .env 中填入 API Key。
也可以不使用 Docker,通过 uvicorn 启动服务。此时需要先确保 Neo4j 与 Qdrant 已经运行。
1 | cd MemOS |
自托管服务提供了围绕 Memory Cube 的基础操作路径。
首先创建一个记忆方块,然后向指定可写入的 Cube 添加记忆,最后在指定可读取的 Cube 中搜索内容。
1 | import requests |
这条流程呈现了 MemOS 的基本逻辑。
先划分记忆空间,再写入信息,最后根据问题进行检索。用户、记忆方块、写入范围与读取范围共同构成了记忆管理的边界。
为 OpenClaw 与 DeepSeek Harness 接入云端持久记忆
MemOS Cloud Plugin 为 OpenClaw 与 DeepSeek Harness 提供持久记忆能力。
云插件会在每次 Agent 运行之前从 MemOS Cloud 召回相关记忆,并在运行结束后保存新的消息。
对于 OpenClaw,可以安装云插件并重启网关。
1 | openclaw plugins install @memtensor/memos-cloud-openclaw-plugin@latest |
对于 DeepSeek Harness,MemOS 可以通过原生插件机制接入。
在每个用户请求的第一次模型推理之前,插件会召回相关云端记忆。在一次成功交互结束后,新的经验会被写回 MemOS Cloud。
安装云插件:
1 | npx @deepseek-ai/dsh plugin --profile web add @memtensor/memos-cloud-dsh-plugin@latest |
将 API Key 写入凭据文件:
1 | MEMOS_API_KEY: mpg-your-key |
再加入最小插件配置:
1 | memos-cloud: |
启动 DeepSeek Harness 的 Web 配置:
1 | npx @deepseek-ai/dsh web |
云插件采用故障开放方式。临时的 MemOS Cloud 服务中断不会打断当前的 DeepSeek Harness 任务。
Local Plugin:让记忆留在本机
对于希望使用完全本地记忆的用户,MemOS 提供 Local Plugin。
本地插件面向 DeepSeek Harness、Hermes Agent 与 OpenClaw。数据使用本地 SQLite 存储,记忆不会离开本机。
在 macOS 或 Linux 中,为 DeepSeek Harness 安装本地插件可以使用:
1 | curl -fsSL <安装脚本地址> | bash -s -- --agent dsh --profile web |
为 OpenClaw 或 Hermes 安装本地插件可以使用:
1 | curl -fsSL <安装脚本地址> | bash |
在 Windows PowerShell 中,也提供对应的安装脚本方式。
本地插件需要已经安装 Node.js,以及 DeepSeek Harness、OpenClaw 或 Hermes 之一。安装器会将 MemOS 部署到所选择的 Agent 运行环境中。DeepSeek Harness 会以进程外插件方式安装。
本地插件提供混合检索、智能去重、分层技能演化、多 Agent 协作与本地优先的 SQLite 存储能力。
其中,混合检索结合 FTS5 与向量检索。技能演化则围绕 L1 轨迹、L2 策略、L3 世界模型与技能进行分层组织。
这让本地记忆不仅用于保存内容,也能够成为 Agent 经验逐步积累的载体。
记忆与技能共同演化
MemOS 的描述中包含自演化记忆、混合检索与跨任务技能复用。
这三个方向共同指向一个更长的过程。
Agent 在完成任务时,可以产生轨迹。轨迹可以被沉淀为经验。经验可以在后续任务中被检索、复用与修正。随着任务不断发生,记忆不再只是静态内容的仓库,也可能成为能力积累的一部分。
本地插件中的分层能力,将经验区分为 L1 轨迹、L2 策略、L3 世界模型与技能。
轨迹记录发生过什么,策略沉淀如何行动,世界模型承载更高层的理解,技能则让部分经验能够在后续任务中继续发挥作用。
从这一角度看,MemOS 所关注的并非单纯延长上下文窗口。
它希望让 Agent 在一次次任务之后,不只是保存信息,也能够保留对任务过程的经验。
性能表现与评测结果
README 中列出了 MemOS 在多个基准测试中的分数。
| 基准 | 分数 |
|---|---|
| LoCoMo | 88.83 |
| LongMemEval | 89.20 |
| PersonaMem v2 | 40.58 |
| HaluMem | 80.91 |
| BEAM-10M | 56.75 |
| GDPVal | 62.07 |
| LiveCodeBench | 64.96 |
| OmniMath | 61.00 |
| SWE-Bench | 38.46 |
| BrowseComp-Plus | 23.85 |
README 还提到,在五项 Agent 任务中,OpenClaw 使用 MemOS 后的平均任务完成率从 36.63% 提升到 50.87%。
项目 description 提到,MemOS 提供超持久记忆、混合检索与跨任务技能复用,并给出 35.24% 的 Token 节省数据。
记忆系统的价值,并不只体现在是否能召回一段旧内容。它也体现在 Agent 是否能更快获得相关上下文,是否能减少无效重复信息,以及是否能够在多次任务中延续已经形成的经验。
面向持续成长的 Agent
MemOS 2.0 Stardust 的名字里带着星尘的意味。
星尘本身很微小,却可以在持续聚集后形成更大的结构。记忆也是如此。
一次偏好表达、一段对话、一条工具轨迹、一次任务结果,看起来都只是短暂发生的信息。但当这些信息能够被保存、检索、修正、组合与复用,它们就不再轻易消散。
MemOS 为大语言模型与 AI Agent 提供的,是一套围绕长期记忆展开的操作系统能力。
它让记忆可以被统一管理,让多模态信息进入同一体系,让知识库拥有隔离与组合能力,让高并发场景中的记忆操作能够异步推进,让自然语言反馈可以持续校正内容,也让 Agent 有机会从任务轨迹中沉淀可复用的技能。
当 AI Agent 不再只能处理眼前的上下文,它便拥有了继续成长的可能。
而 MemOS 所做的,是为这种成长留下记忆。
