拆解 OpenClaw 的大脑:一个 AI 助手的 System Prompt 是怎么炼成的
你有没有好奇过,当你跟一个 AI 助手说话时,它究竟是如何”知道”自己是谁、能做什么、该怎么回答你的?
答案就藏在一个叫 System Prompt(系统提示词) 的东西里。
最近,@servasyy_ai 在推特发了一篇深度长文,对 OpenClaw Agent 发给大语言模型的完整 System Prompt 进行了逐层拆解。这篇文章的质量之高,作者自称是「呕心沥血肝出来的」。
我把它翻译整理成了更通俗的版本,希望让更多人看懂这背后的设计逻辑。
先说清楚:什么是 System Prompt?
在你跟 AI 对话之前,系统会偷偷给 AI 发一段”内部说明”。这段说明告诉 AI:
- 你是谁(身份)
- 你能用什么工具(能力边界)
- 你要遵守哪些规则(行为准则)
- 你现在处于什么环境(运行状态)
这就是 System Prompt。普通用户看不到它,但它深刻影响着 AI 的每一个回答。
OpenClaw 的 System Prompt 不是随便写的一段话,而是一套精心设计的 9 层架构。
9 层架构总览
简单来说,这 9 层可以分为三类:
- Layer 1~6:框架自动生成,用户不能动
- Layer 7~8:用户可以自定义,这是你真正能控制的部分
- Layer 9:每次对话都动态注入,实时更新
下面我们逐层拆解。
Layer 1:框架核心层——“说明书”
比喻:就像一本操作手册的使用说明,告诉 AI 你是谁、能做什么、应该怎么回应。
这一层是 OpenClaw 框架自动生成的基础配置,包括:
- AI 的身份定义(比如”你是一个内容创作专家 Agent”)
- 当前时间和运行环境
- 工具调用的格式规范
- 安全边界(哪些操作是绝对禁止的)
设计思路:
框架统一生成这一层,好处是所有 Agent 行为基线一致,坏处是用户无法直接修改。如果你需要特殊行为,只能通过后面的 Layer 7 和 8 间接实现。
Layer 2:工具定义层——“瑞士军刀清单”
比喻:就像瑞士军刀的工具清单,告诉 AI 手上有哪些工具、每个工具怎么用。
这一层列出了 AI 可以调用的所有工具,比如读取文件、执行代码、发送消息等。
每个工具都有严格的 JSON Schema 定义,确保 AI 准确理解工具用法。
为什么这样设计?
用严格的 JSON Schema 定义工具,AI 能更准确地理解”什么时候用哪个工具、需要填什么参数”,减少胡乱调用工具的情况。
Layer 3:技能注册表——“特色菜谱”
比喻:就像餐厅的特色菜谱,告诉 AI 有哪些专业领域的”配方”可以调用。
OpenClaw 有一套 Skills(技能)系统。框架会自动扫描技能目录,把所有可用技能都告诉 AI。
优点: 添加新技能只需把文件放入目录,无需改配置。
代价: 所有技能都会被注入 System Prompt,技能越多,消耗的 token 越多。
Layer 4:模型别名层——“快捷键”
比喻:就像给复杂的模型路径起个简短的别名,方便调用。
比如,你可以把 zhipu/glm-5 简称为 glm-5,把冗长的 Claude API 地址简称为 opus。
这样在对话中切换模型时只需输入 /model glm-5,而不需要记住一串复杂的 API 路径。
Layer 5:协议规范层——“交通规则”
比喻:就像交通规则,定义 Agent 与系统交互的标准协议。
这一层定义了一些特殊的交互约定,比如:
- Silent Replies(静默回复):用户说”收到”,AI 不需要回复,直接返回
NO_REPLY - Heartbeats(心跳检测):系统定期发送
[Heartbeat Poll],AI 回复HEARTBEAT_OK表示在线 - Reply Tags(回复标签):AI 在回复中标注这条消息是回复哪一条
这些看似小细节的设计,是让多 Agent 协作成为可能的基础。
Layer 6:运行时信息层——“仪表盘”
比喻:就像汽车仪表盘,实时告知 AI 当前运行状态。
每次请求都会注入最新的环境信息:
- 当前时间(避免 AI 不知道今天是哪天)
- 正在使用的模型(避免 AI 误判自己的能力边界)
- 当前操作系统、工作目录、shell 环境
代价: 每次请求消耗约 2KB 额外 token,但换来的是上下文准确性,值得。
Layer 7:工作区文件层——“你的工作笔记”(用户可控)
重点来了!这是你可以直接编辑的层。
比喻:就像你的工作笔记,你可以自由写入自己的配置。
这一层包含若干静态 Markdown 文件,用户可以直接编辑:
| 文件 | 作用 |
|---|---|
IDENTITY.md |
定义 Agent 的身份、风格、价值观 |
AGENTS.md |
配置可调用的子 Agent |
MEMORY.md |
AI 的长期记忆 |
TOOLS.md |
额外的工具说明 |
实用建议:
- 想改变 AI 的”性格”或”说话风格”?修改
IDENTITY.md - 不要把框架已经知道的内容重复写进去,会浪费 token
- 保持精简,用表格代替长段落,效果更好
Layer 8:动态注入层——“可编程的注射器”(用户可控)
这是第二个用户可控层,也是最强大的一层。
比喻:就像一个可编程的注射器,你可以写脚本,在对话开始前自动注入内容。
Layer 8 提供了 4 种 Hook(钩子)机制:
Hook 1:agent:bootstrap(最强大)
完全控制 System Prompt 的文件列表,可以增删改排序,适合复杂定制场景���
Hook 2:bootstrap-extra-files(最简单)
通过配置文件指定额外文件路径,框架会自动把这些文件内容追加到 System Prompt 末尾。
适用场景: 你有项目文档(比如 API 说明、架构文档),想让 AI 每次都知道这些内容。
{
"hooks": {
"bootstrap-extra-files": {
"enabled": true,
"paths": ["docs/API.md", "docs/ARCHITECTURE.md"]
}
}
}
Hook 3:before_prompt_build(最灵活)
在每次发送给 AI 之前,可以动态修改 prompt,或在 prompt 前追加实时上下文。
适用场景: 注入实时天气、当前 Git 状态、股票价格等动态信息。
on("before_prompt_build", (event, ctx) => {
return {
prependContext: `当前时间:${new Date().toISOString()}`
};
});
Hook 4:bootstrapMaxChars(控制大小)
控制每个文件和总 System Prompt 的字符上限,避免 token 超出限制。
Layer 9:入站上下文层——“实时路况”
比喻:就像实时路况信息,每次请求都动态注入当前对话的上下文。
这一层包括:
- 当前发送者信息(是谁在说话)
- 消息历史(最近的对话)
- 是否被
@提及(决定是否需要响应)
这一层用户无法直接控制,但你的每一条发言都会影响它——因为你发的消息本身就是上下文的一部分。
各层 Token 大小对比
注意:Layer 7 和 8 是用户可控层,大小因配置不同而差异很大。其他层由框架自动生成,理论上各 Agent 相同。
普通用户最需要知道的三件事
读完这 9 层,你可能会觉得”太复杂了”。但其实对普通用户来说,只需要记住三点:
1. 想改 AI 的身份和风格?
→ 编辑 Layer 7 的 IDENTITY.md 文件
2. 想让 AI 知道你的项目文档?
→ 用 Layer 8 的 bootstrap-extra-files Hook 注入文件
3. 想注入实时数据(时间、天气、状态)?
→ 用 Layer 8 的 before_prompt_build Hook
其他 7 层是框架自动处理的,你了解它们的存在、知道它们的作用,就已经比 90% 的用户更懂 AI 了。
System Prompt 太大怎么办?
如果你的 System Prompt 越来越臃肿,可以参考以下优化策略:
精简 Layer 7(静态文件):
- 用表格代替长段落
- 删除框架已经知道的内容(不要重复)
- 不要把技能说明复制进去
控制 Layer 8(Hook 注入):
- 不要在 Hook 里执行耗时操作
- 不要一次注入太多文档
- 优先使用
bootstrap-extra-files(最简单),复杂场景才用agent:bootstrap
总结
OpenClaw 的 System Prompt 不是一段随便写的话,而是 9 层精心设计的架构:
| 层级 | 名称 | 谁控制 | 作用 |
|---|---|---|---|
| Layer 1 | 框架核心层 | 框架 | 基础身份、规则、安全边界 |
| Layer 2 | 工具定义层 | 框架 | 工具清单和调用规范 |
| Layer 3 | 技能注册表 | 框架 | 可用技能目录 |
| Layer 4 | 模型别名层 | 框架 | 模型快捷方式 |
| Layer 5 | 协议规范层 | 框架 | 标准交互协议 |
| Layer 6 | 运行时信息层 | 框架 | 实时环境状态 |
| Layer 7 | 工作区文件层 | 用户 | 静态配置文件(身份、记忆) |
| Layer 8 | 动态注入层 | 用户 | 脚本动态注入内容 |
| Layer 9 | 入站上下文层 | 框架 | 实时对话上下文 |
理解这套架构,不只是为了用好 OpenClaw,更重要的是建立一种对 AI 系统的”透视力”——知道 AI 为什么会这样回答你,知道从哪里可以改变它的行为。
你控制的不只是对话,而是 AI 大脑的底层结构。
原文作者:@servasyy_ai,版本 v2.1,更新时间 2026-03-05。本文为通俗化整理版本,部分表述有所简化。
台湾谷歌账户注册与Gemini Pro订阅家庭组共享教程