六文件各司其职,MEMORY.md 是索引不是日记本,把这两件事搞清楚,Agent 才能越用越顺
⏱️约 8 分钟阅读
用了一段时间 OpenClaw,你会发现——Agent 的好用程度,80% 取决于配置文件写得对不对。
不是代码写得多精妙,不是 prompt 有多花哨。就是那几个 Markdown 文件。
我见过太多这样的情况:把工具的 API key 写进了 SOUL.md,把每天的待办清单堆在 MEMORY.md,然后困惑「为什么 Agent 越用越迟钝」。
今天把这件事讲清楚。核心是两块:六文件体系,以及 MEMORY.md 到底该怎么用。
六个文件各司其职,放错地方就乱套。MEMORY.md 是索引不是日记本,记忆也要分层管理——理解了这些,Agent 才会越用越聪明。
📁第一部分:六文件体系
OpenClaw workspace 里默认有六个核心配置文件。每个文件都有自己的职责边界,就像公司里的不同岗位——你不会让 HR 去写代码,也不会让程序员去定公司战略。
逐个拆开来说
IDENTITY.md 是人设档案。Agent 的名字叫什么,性格偏向哪种风格,有没有座右铭。这些让 Agent 在每次对话里有一致的「人格」。比如:「我叫 Jessica,是知性风格的工作助手,emoji 是 🌿」。
SOUL.md 是行为准则,也是最容易被误用的文件。这里写的是「怎么做事」——遇到不确定的信息先搜索再回答,外部操作(发邮件、发推)要先确认,群聊里不要抢话……这些都是 SOP,是方法论。
⚠️ SOUL.md 的边界
SOUL.md 写的是「行为准则」,不是工具配置。
比如「搜索前先查缓存」是 SOUL.md 的内容,但「Tavily API key = xxx」绝对不是——那个放 TOOLS.md。
TOOLS.md 是工具手册。摄像头名称、SSH 主机别名、TTS 偏好音色、API 端点……所有「具体的参数和配置值」都放这里。这样 SOUL.md 可以保持纯净,TOOLS.md 可以随时更新而不影响行为逻辑。
MEMORY.md 是跨 session 的记忆索引。下面单独展开讲,这里记住一句话:它是索引,不是正文。
AGENTS.md 是整个 workspace 的说明书。Agent 启动的时候读什么文件、按什么顺序、有哪些操作不能做……这些都在 AGENTS.md 里。
USER.md 是用户档案。Agent 叫用户什么、用户在什么时区、喜欢什么通知方式——这些信息让 Agent 真的了解主人,而不是每次都像第一次见面。
四个最常见的配置错误
在实际使用中,有四个错误反复出现。拿出来单独说,是因为它们造成的问题往往很隐蔽——Agent 还是在跑,但表现越来越差。
❌ 错误做法
把工具参数写进 SOUL.md
如:Tavily API key、摄像头 IP……
✅ 正确做法
工具参数、配置值 → TOOLS.md
❌ 错误做法
把行为规范写进 MEMORY.md
如:「遇到不确定要先搜索」……
✅ 正确做法
行为准则、SOP → SOUL.md
❌ 错误做法
把任务清单堆在 MEMORY.md
越积越多,最后 200 行……
✅ 正确做法
任务清单 → README.md 或直接删
❌ 错误做法
把启动流程写进 SOUL.md
如:「先读 MEMORY.md,再读……」
✅ 正确做法
启动流程、安全规则 → AGENTS.md
归根结底,这四个错误都是一件事:文件边界不清,什么都往一个文件里塞。就像把所有东西都扔进一个抽屉,找起来又慢又容易出错。
🧠补一件重要的事:记忆也不能乱放
文件分工讲清楚了,还有一件事绕不开:MEMORY.md 到底该怎么用?
很多人用着用着,会发现 MEMORY.md 越来越臃肿——每天的工作日志、工具配置、待办事项全堆进去,几个月后变成一个几百行的大杂烩。Agent 每次启动都要加载这些,越来越慢。
根本原因是把 MEMORY.md 当日记本用了。它的正确定位是:索引。
工作记忆层memory-core · 日常笔记
日常工作的「笔记本」,有四个存储位置:
memory/YYYY-MM-DD.md
每日汇总日志,14 天后自动清理,不会无限堆积。
memory/YYYY-MM-DD-主题.md
自定义扩展:某个项目的过程笔记,按需创建,14 天后清理。
memory/refs/
自定义扩展:长期经验库,永不清理。只有用户明确要求才写入。
MEMORY.md
跨 session 增量索引,持续维护。是目录,不是正文。
其中最容易被滥用的就是 MEMORY.md。它该放的是「指针」——这个项目的详情在哪、某次决策的背景在哪——而不是把所有内容直接堆进来。
OpenClaw 还有一套叫 Dreams 的自动记忆蒸馏机制(/dreaming on 开启)。它会在后台扫描工作记忆,把反复出现、跨场景有效的信息自动提炼进 MEMORY.md。具体怎么工作、值不值得开、怎么和定时任务配合——我会在下一篇单独展开。
如果你还想把长期记忆进一步做成结构化知识库,OpenClaw 还可以接 memory-wiki,这个后面单独讲。
MEMORY.md 的黄金法则
讲了这么多,有一件事想单独拿出来强调:
🔴 黄金法则
MEMORY.md 是索引,不是正文。
它的作用是「指向」哪里有什么信息,而不是把所有信息都塞进去本身。如果你发现 MEMORY.md 越来越长,那通常意味着架构出问题了。
真实案例:某个 workspace 的 MEMORY.md 用了几个月之后,膨胀到了 200+ 行。里面混了任务清单、工具参数、对话摘要、备忘录……Agent 每次启动都要加载这些,速度越来越慢,上下文越来越乱。
清理之后,精简到 19 行。全是指针:这个项目的详情在哪、用户偏好在哪、某次决策的背景在哪。Agent 的响应速度立刻有了明显提升。
💡 经验之谈
如果你的 MEMORY.md 超过了 50 行,可以暂停一下想想:这里哪些是「目录」,哪些是「正文」?正文应该移出去,放到日记文件或 TOOLS.md 里,MEMORY.md 只留一个指向它的引用。
小结
两件事搞清楚,OpenClaw 就能越用越顺:
- 六文件各司其职
:IDENTITY 管人设,SOUL 管行为,TOOLS 管参数,MEMORY 是索引,AGENTS 管流程,USER 管用户信息。不要把它们混用。 - MEMORY.md 是索引不是正文
:日常日志放 memory/ 目录,长期经验放 refs/,MEMORY.md 只留指针。超过 50 行就要清理了。
配置文件写对了,Agent 才知道「自己是谁、该怎么做事、记住了什么」。这三点加在一起,才是一个真正好用的 AI 助手的基础。
✅ 快速检查清单
□ SOUL.md 里没有工具参数 ✓
□ MEMORY.md 控制在 50 行以内 ✓
□ 任务清单不在 MEMORY.md 里 ✓
□ 启动流程写在 AGENTS.md ✓
□ 了解 Dreams 自动蒸馏的存在(下篇展开)✓
夜雨聆风