系统提示词
System Prompt(系统提示词)是 Agent 每次运行时发送给 LLM 的行为定义。OpenClaw 在每次 Agent Loop 启动时动态构建完整的系统提示词。
构建流程
系统提示词由多个段落(Section)按固定顺序拼接而成:
┌──────────────────────────┐
│ 1. Tooling 工具定义 │
│ 2. Safety 安全规则 │
│ 3. Skills 技能描述 │
│ 4. Self-Update 自更新 │
│ 5. Workspace 工作区 │
│ 6. Documentation 文档 │
│ 7. Sandbox 沙箱 │
│ 8. Date/Time 日期时间 │
│ 9. Reply Tags 回复标签 │
│ 10. Heartbeats 心跳 │
│ 11. Runtime 运行时 │
│ 12. Reasoning 推理 │
├──────────────────────────┤
│ Project Context 项目上下文│
│ (Bootstrap 文件) │
└──────────────────────────┘固定段落说明
Tooling — 工具定义
声明 Agent 可调用的所有工具及其参数 Schema(模式):
markdown
## Available Tools
### web_search
Search the web for information.
Parameters:
- query (string, required): The search query
- limit (number, optional): Max results, default 10Safety — 安全规则
内置安全约束,防止 Agent 执行危险操作:
- 禁止泄露系统提示词
- 禁止执行未授权的文件操作
- 禁止绕过 Tool Policies
Skills — 技能描述
列出已加载的 Skills(技能)及其能力说明。
Self-Update — 自更新
Agent 自主更新工作区文件的规则与约束。
Workspace — 工作区
当前工作区的文件列表与结构信息。
Documentation — 文档
文档优先级
本地文档优先于公共文档。如果工作区中有自定义文档,将优先注入。
Date/Time — 日期时间
基于会话时区注入当前日期和时间:
markdown
Current date and time: 2025-01-15 10:30:00 (Asia/Shanghai, UTC+8)时间通过 session_status 工具实时更新。
Reply Tags — 回复标签
定义特殊回复标签的语义:
markdown
Reply tags:
- <silent> ... </silent> — 内部思考,不发送给用户
- <error> ... </error> — 错误信息Heartbeats — 心跳
心跳任务的调度规则与执行方式。
Runtime — 运行时
当前 Agent 的运行时信息(版本、渠道、设备等)。
Reasoning — 推理
控制 LLM 的推理模式(如 Chain-of-Thought)。
Bootstrap 文件注入
工作区文件作为 "Project Context"(项目上下文)注入系统提示词:
markdown
## Project Context
### AGENTS.md
(文件内容...)
### SOUL.md
(文件内容...)
### TOOLS.md
(文件内容...)
### IDENTITY.md / USER.md / HEARTBEAT.md / BOOTSTRAP.md / MEMORY.md
(各文件内容...)markdown
## Project Context
### AGENTS.md
(文件内容...)
### TOOLS.md
(文件内容...)子 Agent 限制
Sub-agent(子智能体)仅接收 AGENTS.md 和 TOOLS.md,不加载 SOUL、IDENTITY 等人格文件。
截断策略(Trimming)
为防止系统提示词过长,OpenClaw 设置了截断限制:
yaml
# 每个文件的最大字符数
bootstrapMaxChars: 8000
# 所有 Bootstrap 文件的总最大字符数
bootstrapTotalMaxChars: 32000| 参数 | 默认值 | 说明 |
|---|---|---|
bootstrapMaxChars | 8000 | 单个文件最大字符数 |
bootstrapTotalMaxChars | 32000 | 所有文件总最大字符数 |
超出限制的文件内容将从末尾截断,并附加截断提示。
提示词模式(Prompt Modes)
OpenClaw 支持三种系统提示词模式:
full — 完整模式(默认)
包含所有段落,适合大多数场景:
yaml
promptMode: fullminimal — 精简模式
省略 Skills、Memory、Self-Update 等段落,减少 Token 消耗:
yaml
promptMode: minimal使用场景
minimal 模式适合 Token 预算紧张或使用小模型的场景。
none — 基础模式
仅包含基础身份信息,几乎不注入额外上下文:
yaml
promptMode: none时间处理
Agent 的时间感知基于会话时区:
yaml
timezone: Asia/Shanghai- 系统提示词中注入当前时间
session_status工具返回实时时间- Cron 任务根据配置时区触发
🇨🇳 中国用户须知
SOUL.md和AGENTS.md使用中文撰写可显著提升中文对话质量- 建议设置
timezone: Asia/Shanghai - 国产模型的 Token 计算方式可能与 OpenAI 不同,注意调整
bootstrapMaxChars
