← 回總覽

通过 Nanobot 源码学习 OpenClaw 架构---(7)Memory

📅 2026-04-13 21:09 罗西的思考 人工智能 2 分鐘 2167 字 評分: 87
AI Agent 记忆系统 OpenClaw Nanobot 源码分析
📌 一句话摘要 本文深入剖析了 Nanobot(OpenClaw 轻量版)框架中双层记忆系统的架构设计与实现细节,包括会话消息管理、MemoryStore 核心组件、SKILL.md 技能定义以及相关工具的使用。 📝 详细摘要 本文是“通过 Nanobot 源码学习 OpenClaw 架构”系列的第七篇,聚焦于 Agent 的 Memory(记忆)系统。文章系统性地拆解了 Nanobot 如何实现 OpenClaw 的核心记忆理念。内容首先介绍了 OpenClaw 以“文件即真相”为核心的双层存储架构(MEMORY.md 长期记忆与 HISTORY.md 历史日志),以及混合检索、自动刷新

📌 一句话摘要

本文深入剖析了 Nanobot(OpenClaw 轻量版)框架中双层记忆系统的架构设计与实现细节,包括会话消息管理、MemoryStore 核心组件、SKILL.md 技能定义以及相关工具的使用。

📝 详细摘要

本文是“通过 Nanobot 源码学习 OpenClaw 架构”系列的第七篇,聚焦于 Agent 的 Memory(记忆)系统。文章系统性地拆解了 Nanobot 如何实现 OpenClaw 的核心记忆理念。内容首先介绍了 OpenClaw 以“文件即真相”为核心的双层存储架构(MEMORY.md 长期记忆与 HISTORY.md 历史日志),以及混合检索、自动刷新等关键流程。随后,文章详细分析了 Nanobot 中的具体实现:会话消息的存储与压缩机制、MemoryStore 组件的核心逻辑(consolidate 方法)、SKILL.md 如何指导 LLM 使用记忆技能,以及相关的文件系统工具和内部工具(_SAVE_MEMORY_TOOL)。文章通过大量代码片段、流程图和与 Claw0、ZeroClaw 的对比,为读者提供了深入理解 Agent 长期记忆机制的实践指南。

💡 主要观点

- OpenClaw/Nanobot 采用“文件即真相”的双层记忆架构,核心是 MEMORY.md(长期事实)和 HISTORY.md(历史日志)。 所有记忆以纯 Markdown 文件存储在本地,确保透明、可控、可版本管理。MEMORY.md 存储提炼后的核心知识并加载到上下文,HISTORY.md 作为追加式事件日志供搜索,实现了短期与长期记忆的分离治理。

MemoryStore.consolidate() 方法是实现记忆自动整合(会话压缩)的核心,通过 LLM 调用专用工具将旧会话信息提炼并写入持久化文件。 当会话消息达到阈值时,系统自动触发此流程。它将待归档的旧消息与当前 MEMORY.md 内容一起提交给 LLM,LLM 必须调用 _SAVE_MEMORY_TOOL 来生成 history_entry(追加到 HISTORY.md)和 memory_update(覆盖 MEMORY.md),从而完成知识的沉淀与上下文管理。
SKILL.md 文件是 Nanobot 技能体系的标准化定义,指导 LLM 无需训练即可理解和使用记忆等功能。 对于 memory 技能,SKILL.md 明确了 MEMORY.md 和 HISTORY.md 的作用、何时以及如何使用 edit_file/write_file 工具更新记忆、如何使用 exec 工具执行 grep 命令搜索历史。这种设计实现了技能的即插即用和 LLM 的可控行为引导。
记忆的读写存在明确的手动与自动两种路径,分别对应不同的工具和触发时机。 手动管理由用户或 LLM 主动发起,使用标准的 write_file/edit_file 工具直接操作记忆文件。自动管理则由系统在会话压缩时触发,内部使用 _SAVE_MEMORY_TOOL 工具,整个过程对用户无感知(NO_REPLY),确保了重要信息在上下文溢出前被安全保存。

💬 文章金句

- Memory 是构建复杂 Agent 的关键基础。如果仅依赖 LLM 自带的有限上下文窗口作为短期记忆,Agent 将在跨会话中处于 stateless 的状态,难以维持连贯性。

  • OpenClaw 的记忆机制以 文件即真相(File-First) 为核心,采用 双层 Markdown 落盘存储 + 混合向量检索 + 自动刷新 的工程化设计,彻底解决 Agent 跨会话失忆问题,同时保证透明、可控、可治理。
  • 模型不会因为你用得更久而变聪明。但围绕它的文件会变得更丰富、更精准、更贴合你的具体需求。
  • MemoryStore 是 Nanobot 框架中实现智能体双层记忆体系 的核心组件,核心职责是管理智能体的「长期记忆(MEMORY.md)」和「历史日志(HISTORY.md)」,通过 LLM 自动整合对话记录,将临时会话信息提炼为结构化的长期记忆。
  • SKILL.md 是 Nanobot 中技能的标准化定义文件 ,是 Agent 识别、理解、使用技能的唯一依据,核心作用是为 LLM 提供技能的使用说明、规则、操作方法 ,无需训练,靠 LLM 阅读理解即可直接使用。

📊 文章信息

AI 初评:87

来源:罗西的思考

作者:罗西的思考

分类:人工智能

语言:中文

阅读时间:55 分钟

字数:13705

标签: AI Agent, 记忆系统, OpenClaw, Nanobot, 源码分析

阅读完整文章

查看原文 → 發佈: 2026-04-13 21:09:00 收錄: 2026-04-14 02:00:41

🤖 問 AI

針對這篇文章提問,AI 會根據文章內容回答。按 Ctrl+Enter 送出。