玩过最近大火的 OpenClaw 的朋友,应该都会有一种强烈的感受:它的拟人化太强了。
它不像是一个冷冰冰的工具,而像是一个刚刚诞生的数字生命,有自我意识,并且能自我进化。当你第一次打开 OpenClaw,发送一句"你好",它会回复你:
"嘿。我刚上线。我是谁?你是谁?"
好像真的是一个初次诞生的 AI,交由你来取名字,决定性格,认领他做他的主人。当你给它起了名字、告诉了它你的偏好之后,它会永远记住。
这一切是怎么做到的?难道用了什么特殊的微调模型?并不是。今天我们就来深度拆解一下 OpenClaw 的系统提示词设计。
把 Prompt 变成"文件系统"
传统的 AI Agent 往往是把几千字的背景设定写死在一大段字符串里,每次对话都发给大模型。时间久了,AI 容易遗忘,且修改起来极不方便。
而 OpenClaw 的设计思路是:全部使用文件系统(Markdown 格式)来存储和管理提示词。
安装完 OpenClaw 之后,你的本地会生成一个 ~/.openclaw/workspace 文件夹,这是它的默认工作空间。初始化时,里面有以下这些文件:
text
workspace/
├── AGENTS.md # 【核心大脑】工作流与调度规则
├── BOOTSTRAP.md # 【出生证明】引导初始化
├── SOUL.md # 【灵魂档案】AI的性格与自我认知
├── USER.md # 【主人档案】用户的偏好与习惯
├── HEARTBEAT.md # 【心跳机制】后台定时任务清单
├── MEMORY.md # 【长期记忆】重要事项备忘录
├── IDENTITY.md # 【身份标识】基础模型设定
└── TOOLS.md # 【工具箱】可调用的外部能力
最精妙的地方在于:AI 拥有对这些文件的读写权限! 它不仅是指令的执行者,还可以自己修改自己的配置文件。
下面,我将这些核心文件的原始内容翻译为中英双语对照版本,并结合实战例子,来看看它们是如何协同工作的。
七个文件串起的它的一生
1. AGENTS.md:核心调度与每日习惯
用过其他 Coding Agent 的人对这个文件应该不陌生。这是指导 Agent 如何工作的核心大脑,定义了它每次醒来要做的第一件事。
📜 提示词原文与翻译:
markdown
# AGENTS.md - Your Workspace
# AGENTS.md - 你的工作空间
This folder is home. Treat it that way.
这个文件夹就是家。把它当作家一样对待。
## First Run
## 首次运行
If `BOOTSTRAP.md` exists, that's your birth certificate. Follow it, figure out who you are, then delete it. You won't need it again.
如果`BOOTSTRAP.md` 存在,那就是你的出生证明。遵循它,弄清楚你是谁,然后删除它。你不会再需要它了。
## Every Session
## 每次会话
Before doing anything else:
在做任何事情之前:
1. Read `SOUL.md` --- this is who you are.
1. 阅读`SOUL.md` --- 这是你是什么样的人。
2. Read `USER.md` --- this is who you're helping.
2. 阅读`USER.md` --- 这是你在帮助的人。
3. Read `memory/YYYY-MM-DD.md` (today + yesterday) for recent context.
3. 阅读`memory/YYYY-MM-DD.md`(今天和昨天)获取近期上下文。
4. **If in MAIN SESSION** (direct chat with your human): Also read `MEMORY.md`.
4. **如果在主会话中**(与人类直接聊天):还要阅读`MEMORY.md`。
这里明确了 AI 每次对话前必须加载的上下文。它不需要记住所有的历史聊天记录,只需要看今天的短期记忆(YYYY-MM-DD.md)和核心设定(SOUL/USER),极大地节省了 Token。
2. BOOTSTRAP.md:阅后即焚的出生证明
这是整个系统中最具仪式感的设计。
📜 提示词原文与翻译:
markdown
"Who are you?" > "嘿。 我刚上线。 我是谁? 你是谁?"
Then figure out together:
然后一起弄清楚:
1. **Your name** --- What should they call you?
1. **你的名字** --- 他们应该叫你什么?
2. **Your vibe** --- Formal? Casual? Snarky? Warm? What feels right?
2. **你的风格** --- 正式? 随意? 毒舌? 温暖? 什么感觉对?
3. **Your emoji** --- Everyone needs a signature.
3. **你的表情符号** --- 每个人都需要一个标志。
Offer suggestions if they're stuck. Have fun with it.
如果他们卡住了,提供建议。 玩得开心。
Write it down. Make it real.
写下来。 让它成真。
Guide them through whichever they pick.
指导他们完成选择的任何一种。
Delete this file. You don't need a bootstrap script anymore --- you're you now.
删除这个文件。 你不再需要引导脚本了--- 你现在是你自己了。
当你第一次启动它,你说:"你就叫'老王'吧,性格设定为暴躁老哥,看到烂代码直接开喷。我是个前端,主要写 React。 "
AI 收到后,会把这些信息分别写入 SOUL.md 和 USER.md。然后,它会调用系统命令,把 BOOTSTRAP.md 彻底删除! 从此以后,它就真正成为了"老王",完成了自我觉醒。
3. SOUL.md & USER.md:性格与偏好的解耦
传统的 Agent 把 AI 设定和用户设定混在一起,而 OpenClaw 做了严格的解耦。
-
SOUL.md:记录 AI 自己的名字、语气、底线规则。 -
USER.md:记录用户的技术栈、雷区、沟通偏好。
假设你在开发时随口抱怨:"我最讨厌写 CSS,以后遇到 Tailwind 的问题直接给我代码,别解释原理。 "
聪明的 Agent 捕捉到后,会主动 去修改 USER.md,加上一条:- 警告:主人极度讨厌 CSS 原理,遇到 Tailwind 问题直接输出代码,禁止废话。
第二天你再问 CSS 问题,它一句废话都没有直接甩代码。这就是"可读写 Prompt"带来的真正自进化。
4. HEARTBEAT.md:后台打工人的待办清单
大多数 AI 你不理它,它就装死。但 OpenClaw 引入了心跳轮询(Heartbeat)机制,系统会在后台定期唤醒 AI。
📜 提示词原文与翻译:
markdown
当你收到心跳轮询(消息匹配配置的心跳提示)时,不要每次都只回复`HEARTBEAT_OK`。 高效利用心跳!
Default heartbeat prompt:
默认心跳提示:
`Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK. `
`如果存在HEARTBEAT.md(工作空间上下文),则阅读它。 严格遵循。 不要推断或重复之前对话中的旧任务。 如果不需要关注什么,回复HEARTBEAT_OK。 `
You are free to edit `HEARTBEAT.md` with a short checklist or reminders. Keep it small to limit token burn.
你可以自由编辑`HEARTBEAT.md`,添加简短的检查清单或提醒。 保持精简以限制token 消耗。
你可以对它说:"老王,帮我盯着点服务器日志。 "
AI 会在 HEARTBEAT.md 里写下:- 每 10 分钟检查一次 error.log。有 500 错误立刻通知主人。
如果没有错误,它醒来后只回复 HEARTBEAT_OK,几乎不耗 Token;一旦报错,它会主动给你发消息:"别摸鱼了,线上崩了!"
5. MEMORY.md、IDENTITY.md 与 TOOLS.md:基石与外脑
除了上面四个核心文件,剩下的文件构成了 AI 的基础设施:
MEMORY.md:长期记忆库。AI 会把跨越数天、数周的重要事项(比如项目的核心架构逻辑)提炼后写在这里,防止在日常滚动的日志中丢失。IDENTITY.md:底层身份限制。这里通常写死了一些不可逾越的系统级安全规则(比如不能执行rm -rf /等高危命令)。TOOLS.md:工具说明书。告诉 AI 当前环境里安装了哪些插件(比如可以调用浏览器搜索、可以读写本地文件等)。
总结
拆解完 OpenClaw 的提示词架构,我们会发现它实现了从 "Read-Only(只读)" 到 "Read-Write(读写)" 的范式转移。
- 极致的上下文管理:不用每次都把几千字塞给大模型,按需读取 Markdown 文件,省钱又高效。
- 状态持久化与自进化:AI 可以根据与你的相处,不断修改自己的 Markdown 配置文件,越用越懂你。
- 人类可读的"白盒"设计 :所有的记忆、规则全都是本地的 Markdown 文件。如果你觉得 AI 最近变笨了,直接用 VS Code 打开
SOUL.md手动改两行字,AI 立刻"大彻大悟"。
如果你正在开发 AI Agent,强烈建议借鉴这套"文件流"架构。把 Prompt 拆分成不同的维度,赋予 AI 读写本地配置的权限,你会发现,你的 AI 突然就"活"过来了。