OpenClaw 记忆系统深度解析:从 MEMORY.md 到知识图谱

OpenClaw 记忆系统深度解析:从 MEMORY.md 到知识图谱svg xmlns http www w3 org 2000 svg style display none svg

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



 <svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> 

这是 OpenClaw 最独特也最容易翻车的部分。

OpenClaw 实现了一套基于文件的、Markdown 驱动的记忆系统,具备语义搜索能力。其核心哲学简洁而强大:文件就是真相源——AI Agent 只保留写入磁盘的内容。

OpenClaw 不会重新训练 Claude 或 OpenAI 的模型。它通过写入和检索你的记忆文件来实现适应。 所有的 Agent 记忆都以纯文本 Markdown 形式存储在本地目录中,结构故意保持简单,让开发者一眼就能看懂。向量索引并非真相源——文件才是。

但这种透明简洁的设计有一个隐性代价:使用 OpenClaw 的时间越长,记忆效果反而越差。 它记住了你告诉它的一切,但对其中的关系一无所知。问题不在于存储,而在于结构。


2.1 双层记忆:长期事实 + 每日日志

OpenClaw 的记忆分为两层:

—— 每日笔记,原始运行日志,记录当天发生的事情。
—— 长期记忆,更精心策划且稳定。

目录结构如下:

GPT plus 代充 只需 145

每日笔记相当于日志。它们适用于跨越几天的连续性工作,尤其是当你进行大量来回讨论时。你可以打开昨天的文件,查看讨论了什么以及做出了哪些决定。

而 MEMORY.md 应该保持精简和"冷静"。它是你希望长期保持真实的内容。

💡 **实践:如果你让 MEMORY.md 变成日记,它会变得嘈杂且不太有用。如果你保持策划,就能获得强大的"从上次中断处继续"行为,即使是几个月之后。

2.2 记忆的写入机制

记忆有两种写入方式:

方式一:显式告知
你告诉它记住某些东西,它就写下来。就这么简单。

方式二:自动压缩前刷盘(Memory Flush)

当会话接近自动压缩时,OpenClaw 会触发一个静默的代理轮次,提醒模型在上下文被压缩之前写入持久记忆。默认提示明确指出模型可以回复,但通常 是正确的响应,这样用户永远不会看到这一轮。

配置示例:

 
   

具体触发时机为:当会话接近阈值(计算方式为 )时触发。对于 200K 的上下文窗口,使用默认设置(20K 预留、4K 软阈值),这大约在 176K token 时触发。

2.3 记忆的读取:向量索引 + 语义搜索

OpenClaw 可以在 MEMORY.md 和 memory/*.md 上构建一个小型向量索引,使语义查询能找到相关笔记,即使措辞不同。

其内置系统将记忆文件切分为大约 400 token 的块,重叠 80 token,然后嵌入每个块并存储在本地 SQLite 支持的索引中。查询时,它对这些块进行语义搜索并返回**结果。

如果所有嵌入提供者都失败,系统会优雅地降级为仅关键字的 BM25 搜索,而不是完全中断。

2.4 启动加载机制

MEMORY.md 是一个工作区引导文件——它在会话开始时与 AGENTS.md、SOUL.md、USER.md、TOOLS.md 等一起注入到系统提示中。唯一不获取 MEMORY.md 的会话是子代理和定时任务。所有其他会话(主聊天、群聊、论坛主题)都会自动获取 MEMORY.md。


经过数周在多个项目中使用 OpenClaw 后,你有了数百条记忆条目。当你提问时,Agent 检索到相似的文本,但无法推理关系。它无法跨对话连接事实。

经典场景:Alice 问题

周一,你提到 Alice 管理 auth 团队。周三,你问"谁处理 auth 权限?"Agent 知道 Alice 存在,知道 auth 存在,但无法将它们连接起来。它检索到两条记忆,但不理解 Alice 管理 auth。现在将这个问题乘以几十个人、项目和依赖关系,问题就会复合放大。

三大典型痛点

痛点 根因 上下文压缩丢失:长会话中,记忆在上下文压缩时被“遗忘” 记忆被注入上下文窗口,压缩时被截断 跨项目噪声:跨多个项目工作时,搜索返回其他上下文的不相关结果 缺乏项目级隔离 无关系理解:纯 Markdown 不捕获概念之间的语义连接 只存文本,不存结构

这与语义搜索有本质区别。图谱理解的是结构,而不仅仅是相似性。


4.1 Cognee 是什么?

Cognee 是一个面向 AI Agent 的记忆引擎,它从数据中构建知识图谱并使其可搜索。这是一种简单而强大的方式来构建能够随时间记住和使用信息的 AI Agent。

Cognee 添加了一个知识图谱层来捕获这些关系。Markdown 文件保持原样。图谱在后台运行,提取结构并支持更智能的检索。

4.2 插件工作原理

OpenClaw 的 Cognee 插件增强你的现有记忆而不替换它。启动时——扫描你的 和 文件,处理新文件进入图谱,更新变更的文件,跳过未变更的文件。自动回忆——每次 Agent 运行前,搜索知识图谱获取相关记忆,通过遍历关系而非匹配相似文本来注入上下文。自动索引——每次 Agent 运行后,将任何记忆变更同步回 Cognee。你的 Markdown 文件保持原样。基于哈希的变更检测意味着只有修改过的文件才触发更新。

4.3 三步安装

第一步:启动 Cognee

GPT plus 代充 只需 145

第二步:安装 OpenClaw 插件

 
     

第三步:配置

在 OpenClaw 配置文件中添加:

GPT plus 代充 只需 145

配置完成后,你的 OpenClaw 记忆文件就有了 Cognee 知识图谱的支持。记忆会自动跨 OpenClaw 会话持久化。

手动操作命令:

 
     

4.4 效果对比:有无图谱的天壤之别

重新审视 Alice 场景:第 1 周你说“Alice 管理 auth 团队”,Cognee 提取:。第 2 周“我们在 staging 上遇到权限问题”,Cognee 提取:。第 3 周你问“关于 auth 权限我应该找谁?”没有图谱时,OpenClaw 搜索相似文本,Agent 解析块来推断连接。有了图谱,Cognee 遍历:,Agent 获得结构化上下文。

GPT plus 代充 只需 145

4.5 Cognee 的六阶段管道

构建知识图谱,这是核心操作。它运行六阶段管道:分类文档、检查权限、提取块、使用 LLM 提取实体和关系、生成摘要,然后将所有内容嵌入到向量存储并将边提交到图谱。只有新的或更新的文件在重新运行时被处理。

在摄入后细化图谱。它修剪陈旧节点、加强频繁连接、基于使用信号重新加权边,并添加派生事实。这就是 Cognee 自我改进的地方:记忆不是静态存储,而是基于反馈和交互轨迹演进的结构。


5.1 Mem0 是什么?

Mem0(“mem-zero”)用一个智能记忆层增强 AI 助手和 Agent,支持个性化的 AI 交互。它记住用户偏好,适应个人需求,并随时间持续学习。

与 Cognee 的核心区别:MEMORY.md 文件被加载到上下文窗口中,这意味着上下文压缩可以在对话中途对它们进行总结或截断。Mem0 将记忆存储在外部,完全独立于上下文窗口。

5.2 Mem0 插件的双引擎

该插件在每次对话轮次上运行两个进程:Auto-Recall 在 Agent 响应之前搜索 Mem0 中与当前消息相关的记忆。匹配的上下文(偏好、过去的决策、项目细节)被注入到 Agent 的工作上下文中。这在每一轮都会发生,因此即使压缩截断了对话窗口,下一个响应仍然可以访问 Agent 关于你学到的一切。

5.3 安装配置 Mem0

 
      

配置 :

GPT plus 代充 只需 145

如果你想使用开源版本,可以在插件配置中设置 ,然后自带嵌入器(Ollama、OpenAI)、向量存储(Qdrant、in-memory)和 LLM(Anthropic、OpenAI)。

5.4 Mem0 的研究成果

Mem0 是一种可扩展的以记忆为中心的算法,动态提取和检索关键对话事实——在 LOCOMO 基准测试中相对于 OpenAI 实现了 26% 的准确性提升,同时 p95 延迟降低 91%,token 使用量减少 90%。

Mem0ᵍ 通过将记忆存储为有向标记图来增强 Mem0。在提取阶段,传入消息馈入实体提取器以识别实体作为节点,关系生成器推断标记边。在更新阶段,冲突检测器标记重叠或矛盾的节点/边,LLM 驱动的更新解析器决定是添加、合并、失效还是跳过图元素。生成的知识图谱支持高效的子图检索和语义三元组匹配。


维度 Cognee Mem0 核心机制 知识图谱 + 向量混合 向量记忆 + 可选图谱 数据源 读取 Markdown 文件构建图谱 从对话中提取事实 强项 关系推理、遍历实体间连接 跨会话持久化、抗压缩丢失 是否修改 Markdown 否,只读文件构建图谱 否,独立存储 部署方式 Docker 自托管 云平台 / 开源自托管 适合场景 多人协作、复杂项目依赖 个人 Agent、长期偏好记忆

两者并不互斥,它们运行在不同的层上。Cognee 从你的 Markdown 文件构建图谱,Mem0 从对话中提取事实并存储在自己的向量数据库中。两者都在每次 Agent 运行前注入相关上下文。主要考量是 token 开销:两个检索系统各自向提示添加上下文意味着每次响应消耗更多 token。


 
        

8.1 记忆卫生守则

  1. MEMORY.md 保持策划 —— 不要放临时信息,它是你的“宪法”
  2. 定期修剪每日日志 —— OpenClaw 记忆是强大的,但它不会自我清理。如果你从不修剪或总结,每日笔记会变得嘈杂。
  3. 显式优于隐式 —— 如果你想非常直接,可以这样说:“Add to USER.md that I want short answers and copy-pastable commands.”
  4. 出了错直接改文件 —— 如果 OpenClaw 记住了错误的东西,编辑它。如果某些东西已经过时,删除它。

8.2 何时升级记忆底层

  • 使用几天:原始 Markdown + 向量搜索够用
  • 使用数周:日志噪声增多,考虑安装 Cognee
  • 跨多项目:关系推理需求增加,Cognee 图谱必备
  • 抗压缩丢失:加装 Mem0,记忆独立于上下文窗口

OpenClaw 基于 Markdown 的记忆系统简单且透明。但对于复杂的长期运行项目——关系至关重要的场景——这种简单性有其局限。

核心路径:

GPT plus 代充 只需 145

Cognee 和 Mem0 都读取你现有的 Markdown 文件。Markdown 层保持不变。这些插件在已有内容之上或旁边添加检索层。

记住:文件始终是真相源,图谱和外部记忆都是增强层。当你的 Agent 开始“忘事”或“连不上关系”时,不要怪它——升级记忆底层才是正道。


如果这篇文章对你有帮助,欢迎点赞、收藏、关注。有任何问题,评论区见。

小讯
上一篇 2026-03-12 15:42
下一篇 2026-03-12 15:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/214566.html