MindMemOS 拆解:华为诺亚开源了 Agent 的「记忆操作系统」,记忆和技能从此一起进化
2026/8/5 3:41:54 网站建设 项目流程

MindMemOS 拆解:华为诺亚开源了 Agent 的「记忆操作系统」,记忆和技能从此一起进化

凌晨一点,你关掉 IDE,带着一脑子上下文结束了一天的工作。

第二天打开同一个项目,第一件事还是重新给 AI 助手讲一遍需求。

它记得你昨天教它的每一条规则吗?

不记得。

它和昨天那个它,唯一的共同点是名字一样。

这个场景每个重度使用 AI 的人都经历过,而且几乎每周都在经历。

你让助手维护一份项目文档,昨天它刚学会项目的目录结构和命名规范,今天你问它新模块应该放在哪里,它反过来问你要项目背景。

你告诉它你偏好 TypeScript,它当时记住了,可换一个会话,它又开始推荐 JavaScript。

大模型的上下文窗口不是记忆,它只是一张临时桌面,关掉会话,桌面就被清空。

过去两年,行业给这个问题开出的药方是向量数据库:把聊天记录切碎、嵌入、存进向量库,下次需要时检索出来拼回上下文。

这套方案能跑,但工程里到处是别扭。

记忆绑死在单个 Agent 上,换框架等于失忆;不同业务关注的东西完全不一样,一套提取规则走天下注定顾此失彼;系统用一年也不会变聪明,该记什么、该忘什么全靠开发时拍脑袋;最要命的是,记忆没有时间维度,你只知道用户现在用什么,不知道他三个月前用什么、中间为什么换。

8 月 3 日,华为诺亚方舟实验室开源了 MindMemOS,一个定位为「可迁移、自演进」的 Agent 记忆操作层,把这个问题从存储层面直接抬到了系统层面。

它不是又一个向量库,而是一层完整的记忆基础设施:怎么建模、记什么、怎么纠错、怎么巩固、怎么把记忆变成技能,全部有明确的机制。

这篇文章基于官方发布的技术细节,把 MindMemOS 从头拆到尾,最后给出接入代码和选型建议。

先说清楚:现在的 Agent 记忆到底烂在哪里

华为诺亚在发布材料里把现有记忆方案的缺陷归纳成四条,每一条都是真实项目里踩过的坑。

第一条,记忆带不走。

记忆依附于单个 Agent 的私有实现,Agent 换掉、框架换掉,记忆就留在原地。

你在这个助手身上积累的偏好、习惯、项目背景,换一个助手全部归零,等于新员工入职时把上一家公司的档案全扔了。

第二条,记忆视角不同。

客服业务关心订单号、用户等级、投诉历史,代码助手关心项目结构、依赖版本、最近的提交,教育场景关心学习进度、错题集、掌握程度。

不同业务关注的实体、属性和提取规则完全不同,一套固定模板不可能通用。

用一个通用 Prompt 让大模型从对话里抽记忆,抽出来的东西大概率既不是客服要的,也不是代码助手要的。

第三条,记忆系统不会成长。

提取、检索和组织策略在开发完成后就基本固化,系统不会从真实使用和用户纠偏中持续演进。

你用一个助手一年,它的记忆管理能力和第一天一模一样,只是里面存的东西变多了。

第四条,记忆缺少时间维度。

系统既要知道「用户现在用什么技术栈」,也要保留这个事实是什么时候成立的、中间经历了什么变化。

只存最新状态,就丢了演化的过程;只存历史快照,就拿不到当下的事实。

这四条合在一起指向一个判断:记忆不该是 Agent 身上的一个附件,它应该是一层独立的基础设施,像文件系统之于应用一样,独立存在、统一管理、可以迁移。

MindMemOS 是什么:把记忆从 Agent 里解耦出来的操作系统

MindMemOS 的架构核心是三层解耦:Agent 接入层、记忆算法层、记忆结构层。

接入层负责和不同 Agent 框架对接,把「谁来读写记忆」这件事标准化。

算法层负责记忆的提取、检索、反馈、巩固、演化,是整套系统的智力所在。

结构层负责底层存储,用什么数据库、什么索引,对上层透明。

三层解耦的直接收益是可迁移性:记忆不再绑定某个 Agent 的私有实现,而是作为用户、项目或组织独立维护的长期资产,在不同应用和 Agent 框架之间复用。

一个在客服场景积累的沟通技巧,理论上可以迁移到教育辅导或医疗咨询场景,大幅降低模型在新领域重新学习的成本。

项目采用 MIT License,部署配置和评测流程全部随代码公开,没有开源协议上的坑。

接入方式覆盖了当前 Agent 生态的主流形态:FastAPI HTTP 接口、Python SDK、CLI、Skills,以及 OpenClaw 插件。

操作上提供 add、search、update、delete、feedback、dreaming 六个动作,覆盖记忆从写入到巩固的完整生命周期。

华为云同步开放了 MindMemOS 云服务注册试用,在 GitHub 给项目点亮 Star 还能拿到更多使用额度。

换句话说,从本地部署到云端托管,从代码集成到插件即插即用,入门路径已经铺好。

用「实体-属性-时间」三维结构重建记忆里的世界

传统方案把记忆保存为一组文本片段或向量块,本质是一堆没有结构的碎片。

碎片化带来的问题是查询能力极其有限:你只能做相似度检索,没法回答「这个用户的偏好是怎么演变的」这类结构化问题。

MindMemOS 改用三维结构描述开放世界的信息流。

第一维是实体,指人、项目、文件、工具、组织这些持续存在的对象,它们是记忆的主语。

第二维是属性,指对象的事实、偏好、状态和高阶特征,它们是记忆的谓语和宾语。

第三维是时间,指属性在什么时间成立、又在何时发生变化,它是记忆的状语。

这套建模的直接好处,是记忆不再是扁平的一堆文本,而是一张可以查询、可以追溯、可以更新的知识网。

系统同时保存最新状态与完整演化轨迹:问「用户现在的技术栈」和问「用户三个月前的技术栈」都能得到准确答案,甚至能回答「用户为什么从 Java 换到了 Go」。

这种时间感知能力在客服、医疗、教育这类强个性化场景里是刚需。

医生助手需要知道病人上次的检查结果,更要看到指标的变化趋势;客服助手需要知道用户上次投诉的解决方式,以及这次的问题和上次是不是同一类。

只有实体和属性没有时间,这些场景全部做不了。

举个具体的例子:用户上个月把主语言从 Java 换成了 Go,如果记忆里只有一条属性记录,系统会认为用户一直用 Go;有了时间维度,系统知道这个变化发生在 7 月中旬,还能结合反馈历史判断这次切换是否稳定,是长期迁移还是一时尝试。

时间维度让记忆从快照变成了账本,每一笔变更都有据可查。

结构化建模的价值不是让记忆看起来整齐,而是让系统在长期事实召回、用户画像和个性化推断中获得可测量的提升,这一点后面评测数据会验证。

MindSchema:决定「该记什么」的提取引擎

记忆系统最难的一步从来不是存储,是提取:对话里什么值得记、以什么形式记、记到什么粒度。

记少了,关键信息流失;记多了,记忆库变成垃圾场,检索噪声淹没信号。

MindMemOS 给了两条路径解决提取问题。

第一条是 MindSchema 记忆模式预设。

开发者针对自己的业务场景定义提取规则,告诉系统这个场景里哪些实体值得追踪、哪些属性需要记录,系统按规则从对话流里抽取并结构化落库。

客服团队可以定义「订单号、用户等级、投诉状态」为必记属性,代码助手可以定义「项目、依赖、分支」为核心实体,各自的 Schema 互不干扰。

第二条是离线演化。

系统围绕给定任务和标注问答,离线演化出更优的提取策略,不需要人工反复调规则。

你给一批标注好的问答对,系统自己学会哪些信息值得提取、提取到什么粒度,下一次在线提取直接用演化后的策略。

这两条路径对应两种工程现实:场景明确的团队用预设快速上线,一两天就能跑通;场景复杂的团队让系统自己学会提取,把调规则的时间省下来。

这也是 MindMemOS 和「用一个大 Prompt 抽记忆」的本质区别:后者是临时的提示词技巧,前者是可维护、可演化的系统能力。

Feedback:用户的每一次纠正都是训练信号

用户纠正 Agent 的时候,纠正动作本身携带大量信息,但绝大多数记忆系统直接忽略它。

你纠正了十次,系统依然在犯同一个错,因为它根本不知道你纠正过。

MindMemOS 的 Feedback 机制专门挖掘用户隐式的纠正性反馈,有选择地强化或降级已有记忆。

用户说「不对,我不用 Java」,系统不只是删掉这条记忆,而是把这条记忆的置信度降级,同时把新的信息写入。

用户重复强调某条规则,系统会逐步提升这条记忆的权重,让它更容易在检索时胜出。

用户反复纠正某类回答,系统会在记忆层面标记这类模式为低可靠,后续检索自动降低它的排序。

这解决的是记忆可靠性问题:记忆不是写进去就永远正确,它需要持续被现实校验。

没有反馈机制的记忆系统,存进去的是「当时的说法」;有了反馈机制,存进去的才是「被验证过的事实」。

反馈信号本身也有层次:显式反馈是用户直接说「不对」,隐式反馈是用户打断、重写、或者对某个回答表现出明显的不耐烦,MindMemOS 把两类信号都接进校准流程。

显式反馈直接改置信度,隐式反馈先进入待确认队列,等后续行为印证后再落地,避免把一次情绪化的打断误判成永久偏好。

这个差异在长期使用中会指数级放大:一个月的纠偏之后,带反馈机制的系统记住的几乎全是有效信息,不带反馈的系统里一半是过时和错误的残留。

Dreaming:离线巩固,像人类睡眠一样整理记忆

人类睡觉时大脑会做三件事:巩固重要记忆、合并冗余信息、清理冲突内容。

MindMemOS 把这一步做成了显式的离线过程,名字就叫 Dreaming。

Dreaming 在系统空闲时运行,对记忆库做整体质量优化。

冗余条目合并:同一个事实被记了五遍,合并成一条带置信度的记录。

过期状态清理:用户已经明说不再使用的偏好,降权或清除。

冲突消解:两条互相矛盾的记忆,结合时间戳和反馈历史判定哪条有效。

在 MemoryAgentBench 的 FactConsolidation 测试里,Dreaming 压缩了 19.4% 到 23.5% 的活跃记忆,同时把问答准确率最高提升了 10.3 个百分点。

压缩和准确率同时提升,说明被删掉的不是信息,是噪声。

这对成本也有直接意义:记忆库变小,检索更快,注入上下文的 token 更少,长对话的推理成本随之下降。

没有 Dreaming 的系统,记忆库只会无限膨胀,直到检索延迟和噪声把整个 Agent 拖垮;有了 Dreaming,记忆库像一个有生命的东西,持续自我修剪。

这也是「自演进」这个词的第一层含义:记忆系统本身在变好,而不是只在变多。

Skill Evolution:把记忆变成技能,Agent 越用越强

记忆的终点不是被检索,是被复用。

一次成功解决问题的完整轨迹,如果只变成几条记忆,下次遇到类似任务还是要从头推理。

MindMemOS 的 Skill Evolution 机制,从真实执行轨迹里提取可复用的操作技能,让 Agent 把一次任务的经验沉淀成以后可以直接调用的 Skill。

执行轨迹里藏着比对话更丰富的信息:模型调了哪些工具、哪个步骤卡住了、怎么绕过去的、最终哪条路径成功了。

Skill Evolution 把这条路径压缩成一条可复用的技能,下次同类任务直接按技能执行,不再重复试错。

基于真实执行轨迹的 Skill 演进,把 SpreadsheetBench-Verified 的任务成功率提升到了 57.2% 加减 2.4 个百分点。

这个数字的意义在于:成功率提升不是靠更大的模型,而是靠记忆系统把经验变成了能力。

一次成功不是运气,是下一条 Skill;一次失败也不是浪费,是下一条约束。

这正是「记忆和 Skill 一起进化」的含义:记忆是原料,Skill 是产品,Agent 用得越久,Skill 库越厚,执行越稳。

评测数据:四个基准看效果

官方公开的评测结果如下表。

基准测试内容MindMemOS 成绩
LoCoMo长对话记忆综合能力94.03
PersonaMem长期个性化建模Overall Accuracy70.63%(MindSchema 配置)
MemoryAgentBench FactConsolidation离线巩固效果压缩活跃记忆19.4%-23.5%,问答准确率最高 +10.3pp
SpreadsheetBench-VerifiedSkill 演进后的任务执行成功率57.2% ± 2.4%

LoCoMo 测试的是几十轮长对话里的事实召回、时序推理和抗干扰能力,94.03 分意味着记忆在长对话中保持准确,不被中途插入的干扰信息带偏。

PersonaMem 测试的是长期用户画像的保持能力,70.63% 说明系统能持续维持对用户偏好的准确建模,这是个性化产品的生命线。

FactConsolidation 前面已经解释过,压缩和准确率双升是 Dreaming 设计的直接证据。

SpreadsheetBench 的结果说明 Skill Evolution 不是概念演示,而是在真实任务上有可复现的收益。

这四个数字放在现有的开源记忆方案里,属于第一梯队。

接入实践:五种方式,一个生命周期

MindMemOS 的接入设计很务实,从轻到重都有入口。

Python SDK 的核心调用长这样。

from mindmemos import MindMemOS mem = MindMemOS(base_url="http://localhost:8000") # 写入:实体-属性-时间三维结构 mem.add( entity="user-1024", property="preferred_stack", value="Python + FastAPI", time="2026-08-03T10:00:00Z" ) # 检索 hits = mem.search(entity="user-1024", top_k=5) # 用户纠正:降级一条记忆 mem.feedback(record_id=hits[0].id, signal="down") # 离线巩固:Dreaming mem.dreaming() # Skill 演进:从轨迹沉淀技能 mem.evolve_skills(trajectory="run-20260803-01")

六个动作对应记忆的完整生命周期:add 写入、search 检索、update 更新、delete 删除、feedback 反馈校准、dreaming 离线巩固。

HTTP 接口和 SDK 同构,适合非 Python 技术栈直接调用。

CLI 适合脚本和调试场景,一条命令完成状态查询和批量操作。

OpenClaw 插件意味着已经跑在 OpenClaw 上的 Agent 可以直接挂上长期记忆,不用改业务代码。

Skills 接入则和技能生态打通,记忆不只是数据,还能参与技能的执行决策。

一个典型的接入路径是:本地 Docker 起服务,SDK 接入现有 Agent,先跑一周采集数据,再用标注问答演化提取策略,最后开启 Dreaming 和 Skill Evolution 让系统自转。

和现有方案比,差异在系统层

目前社区里的记忆方案大致分四类。

方案核心思路主要短板
传统 RAG文本切片 + 向量检索无结构、无时间维度、策略固化
mem0 类外挂记忆库对话摘要 + 向量存储绑定单一 Agent,提取规则固定
MemOS 类分层记忆参数 / 激活 / 明文记忆分层管理偏存储形态管理,演化机制弱
MindMemOS实体-属性-时间建模 + 反馈 + 巩固 + 演化项目较新,生态待积累

传统 RAG 的问题在于把记忆当检索问题处理,没有结构就没有结构化查询,没有时间维度就没有演化追踪。

mem0 这类外挂记忆库比 RAG 进了一步,提供了摘要和个性化能力,但记忆依然绑定在单一 Agent 实例上,提取规则也基本固定。

MemOS 的分层记忆解决了记忆放哪一层的问题,参数记忆、激活记忆、明文记忆各司其职,但它的重点在存储形态管理,在记忆的自演化上着墨较少。

MindMemOS 的差异点在于把「记忆系统本身会成长」做成了第一性设计:Schema 可以离线演化,反馈可以校准置信度,Dreaming 可以压缩巩固,轨迹可以沉淀成技能。

它不是替代 RAG 或 mem0,而是把记忆从「应用的一个功能」升级成「独立的基础设施」。

对开发者来说,选型标准很清楚。

如果场景只需要跨会话记住少量用户偏好,传统 RAG 加向量库就够,不要引入额外的系统复杂度。

如果 Agent 要长期服务、要积累领域经验、要把成功轨迹变成技能,MindMemOS 这类系统层方案才值得引入。

引入的成本主要在初期建模:定义 Schema、准备标注问答、调通接入层,之后系统的自演进机制会接手大部分记忆治理工作。

工程视角:记忆即基础设施,责任也一起升级

华为诺亚把 MindMemOS 和此前开源的 ROS-LLM 具身智能框架放在同一个战略棋盘上,这个布局透露了一个判断:记忆是智能体时代的操作系统级组件,不是某个应用的插件。

具身智能需要记忆来维持对环境的长期理解,办公 Agent 需要记忆来维持对业务上下文的掌握,本质是同一件事。

「记忆即基础设施」理念如果成立,AI 会从单次推理工具向具备成长性的数字劳动力演进。

每一条反馈都变成可复用的数字资产,每一次执行轨迹都沉淀为下一条技能,Agent 的使用时间越长,能力越强,这和人类员工的经验积累曲线是同一形状。

但这也带来新的工程责任。

记忆的持久化意味着隐私和数据安全成为核心设计约束:记忆里存了什么、谁能读、谁能改、怎么删除、跨应用迁移时怎么脱敏,都需要像数据库权限一样被治理。

记忆能带走是进步,记忆被偷走就是事故,这个边界需要每个接入方自己守住。

MindMemOS 在架构上提供了记忆生命周期管理能力,delete 和 feedback 是显式的一等操作,但最终的数据治理策略仍然落在接入方身上。

对正在搭 Agent 的团队,我的建议是把 MindMemOS 当做一个值得跑的基线:把记忆从临时缓存升级为长期资产之后,你的 Agent 到底能多扛几轮复杂任务,跑一次你自己的业务轨迹就知道了。

开源项目最大的价值不是替你解决所有问题,而是把「记忆怎么进化」这个问题的工程答案摊开在桌上,让每个团队都能站在同一个起点上开始迭代。

下一步值得关注的方向有两个:一是 MindMemOS 与更多 Agent 框架的官方适配,适配的广度决定记忆资产能不能真正跨生态流动;二是记忆跨应用迁移时的隐私标准,迁移的规范程度决定记忆基础设施能走多远。

在这两个问题有答案之前,先把记忆系统跑起来、让数据沉淀下来,是每个认真做 Agent 的团队现在就该做的事。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询