Layer 7:你最常改的部分
这层是你最熟悉也最稳定的入口:IDENTITY.md 管身份与偏好,AGENTS.md 管工作规则,USER.md 管用户画像,MEMORY.md 管长期记忆,TOOLS.md 管本机事实。它适合放长期、静态、需要稳定持续生效 的内容。
System Prompt Architecture
如果不理解 Prompt 是怎么被拼出来的,就很容易出现“改了文件但行为没变”或者“为什么这个规则会覆盖另一个规则”的困惑。这一页专门讲清楚 OpenClaw 的系统提示词是如何分层构成的。
OpenClaw 不是单一 System Prompt 文件,而是一个分层拼装系统。你平时改的 SOUL.md、AGENTS.md、USER.md、MEMORY.md,只是其中一部分。理解这件事,能让你知道:哪些东西能直接调、哪些东西只能顺着框架来、哪些内容根本不该乱塞进核心文件。
| 层 | 内容 | 控制权 | 意义 |
|---|---|---|---|
| Layer 1 | Core Identity & Guidelines | 框架层 | 定义基础身份与规则 |
| Layer 2 | Tool Definitions | 框架层 | 定义 read / exec / edit 等工具 |
| Layer 3 | Skills Catalog | 半自动 | 告诉模型有哪些专业能力可调 |
| Layer 4 | Model Aliases | 框架层 | 模型快捷名与别名体系 |
| Layer 5 | Interaction Protocols | 框架层 | 心跳、静默回复、reply tag 等协议 |
| Layer 6 | Runtime Context | 运行时 | 当前 agent / host / model / channel 等状态 |
| Layer 7 | Workspace Files | 用户可控 | IDENTITY / AGENTS / USER / MEMORY / TOOLS |
| Layer 8 | Bootstrap Hooks | 用户可控 | 动态注入项目资料、实时上下文与外部文件 |
| Layer 9 | Inbound Context | 间接影响 | 消息、引用、当前对话内容 |
这层是你最熟悉也最稳定的入口:IDENTITY.md 管身份与偏好,AGENTS.md 管工作规则,USER.md 管用户画像,MEMORY.md 管长期记忆,TOOLS.md 管本机事实。它适合放长期、静态、需要稳定持续生效 的内容。
如果你想按项目动态加载文档、按上下文注入额外说明、把某些外部资料自动塞进 prompt,这就不是 Layer 7 的职责了,而应该走 bootstrap hooks。它更灵活,也更容易把系统做成真正的“上下文感知型”工作台。
| Hook | 用途 | 适合场景 |
|---|---|---|
| agent:bootstrap | 完全控制 bootstrapFiles | 复杂定制 |
| bootstrap-extra-files | 追加额外文件 | 补充项目文档最方便 |
| before_prompt_build | 在最终 prompt 发送前修改 | 注入实时上下文 |
| bootstrapMaxChars | 控制字符预算 | 避免 prompt 膨胀 |
简单说:静态规则放 Layer 7,动态资料放 Layer 8。