不能把小孩子的精神世界变成单纯学习知识。如果我们力求使儿童的全部精神力量都专注到功课上去,他的生活就会变得不堪忍受。他不仅应该是一个学生,而且首先应该是一个有多方面兴趣、要求和愿望的人。——苏霍姆林斯基

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
2
3
4
5
git clone <项目地址>
cd MemOS
cp docker/.env.example .env
cd docker
docker compose up

在这一方式中,需要在 .env 中填入 API Key。

也可以不使用 Docker,通过 uvicorn 启动服务。此时需要先确保 Neo4j 与 Qdrant 已经运行。

1
2
3
4
cd MemOS
cp docker/.env.example .env
cd src
uvicorn memos.api.server_api:app --host 0.0.0.0 --port 8000 --workers 1

自托管服务提供了围绕 Memory Cube 的基础操作路径。

首先创建一个记忆方块,然后向指定可写入的 Cube 添加记忆,最后在指定可读取的 Cube 中搜索内容。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import requests
import json

headers = {"Content-Type": "application/json"}
base = "http://localhost:8000/product"

requests.post(
f"{base}/create_cube",
headers=headers,
data=json.dumps({
"cube_name": "Alice memory",
"owner_id": "alice",
"cube_id": "alice_cube"
})
)

requests.post(
f"{base}/add",
headers=headers,
data=json.dumps({
"user_id": "alice",
"writable_cube_ids": ["alice_cube"],
"messages": [
{
"role": "user",
"content": "I like strawberry"
}
],
"async_mode": "sync"
})
)

res = requests.post(
f"{base}/search",
headers=headers,
data=json.dumps({
"query": "What do I like?",
"user_id": "alice",
"readable_cube_ids": ["alice_cube"]
})
)

print(res.json())

这条流程呈现了 MemOS 的基本逻辑。

先划分记忆空间,再写入信息,最后根据问题进行检索。用户、记忆方块、写入范围与读取范围共同构成了记忆管理的边界。

为 OpenClaw 与 DeepSeek Harness 接入云端持久记忆

MemOS Cloud Plugin 为 OpenClaw 与 DeepSeek Harness 提供持久记忆能力。

云插件会在每次 Agent 运行之前从 MemOS Cloud 召回相关记忆,并在运行结束后保存新的消息。

对于 OpenClaw,可以安装云插件并重启网关。

1
2
openclaw plugins install @memtensor/memos-cloud-openclaw-plugin@latest
openclaw gateway restart

对于 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
2
memos-cloud:
apiKeyEnv: MEMOS_API_KEY

启动 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 所做的,是为这种成长留下记忆。