乐于分享
好东西不私藏

openclaw配置进阶——别把文件写错地方

openclaw配置进阶——别把文件写错地方

六文件各司其职,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 就能越用越顺:

  1. 六文件各司其职
    :IDENTITY 管人设,SOUL 管行为,TOOLS 管参数,MEMORY 是索引,AGENTS 管流程,USER 管用户信息。不要把它们混用。
  2. MEMORY.md 是索引不是正文
    :日常日志放 memory/ 目录,长期经验放 refs/,MEMORY.md 只留指针。超过 50 行就要清理了。

配置文件写对了,Agent 才知道「自己是谁、该怎么做事、记住了什么」。这三点加在一起,才是一个真正好用的 AI 助手的基础。

✅ 快速检查清单

□ SOUL.md 里没有工具参数 ✓
□ MEMORY.md 控制在 50 行以内 ✓
□ 任务清单不在 MEMORY.md 里 ✓
□ 启动流程写在 AGENTS.md ✓
□ 了解 Dreams 自动蒸馏的存在(下篇展开)✓