5.4 系统提示词

OpenClaw 的系统提示词是为每次运行定制构建的,采用紧凑且结构化的格式,不同于其他代理框架的默认提示词。

核心特性

  • 定制构建: 每次运行时根据配置动态生成
  • 紧凑高效: 优化 token 使用,只包含必要信息
  • 结构化: 分为固定的功能区块
  • OpenClaw 专有: 不使用 Anthropic 的 prompt-caching-agent 默认提示词

提示词结构

系统提示词包含以下固定区块:

1. Tooling (工具说明)

描述可用工具的功能和使用方法。

  • 工具列表和参数说明
  • 工具调用约定
  • 错误处理指南

2. Safety (安全指引)

安全防护规则和行为准则。

重要
安全防护是建议性的,不是强制可执行的。它们依赖于模型的理解和遵守,无法从技术层面强制执行。

3. Skills (技能清单)

可用的技能文件路径列表。

  • 以文件路径形式呈现 (如 skills/python-expert.md)
  • 模型通过 read 工具按需加载详细内容
  • 支持动态技能管理

4. Workspace (工作区信息)

当前工作区的路径和配置信息。

5. Documentation (文档路径)

提供多种文档来源:

  • 本地 docs/ 目录
  • npm 包文档
  • 公共镜像站点
  • ClawHub 官方文档

6. Sandbox (沙箱状态)

指示当前会话是否运行在沙箱模式。

7. Time (时间信息)

当前时间戳和时区信息。

8. Reply Tags (回复标签)

用于格式化回复的标签规范。

9. Heartbeats (心跳机制)

保持缓存活跃的心跳配置。

10. Runtime (运行时信息)

Node.js 版本、平台信息等运行时环境。

11. Reasoning (推理模式)

推理级别和思维链配置。

提示词模式

full (完整模式)

默认模式,包含所有区块。

{
  "agents": {
    "default": {
      "systemPromptMode": "full"  // 默认值
    }
  }
}

minimal (最小模式)

精简模式,通常用于子代理。

{
  "agents": {
    "sub-agent": {
      "systemPromptMode": "minimal"
    }
  }
}

最小模式特点:

  • 移除冗余的背景信息
  • 保留核心工具和安全指引
  • 减少 token 消耗

none (无提示词)

完全不使用系统提示词,适用于特殊场景。

{
  "agents": {
    "custom-agent": {
      "systemPromptMode": "none"
    }
  }
}

Bootstrap 文件注入

系统提示词会自动注入工作区的 Bootstrap 文件:

常见 Bootstrap 文件

  • AGENTS.md: 代理配置和角色定义
  • SOUL.md: 代理的核心价值观和行为准则
  • USER.md: 用户偏好和上下文信息
  • IDENTITY.md: 代理身份和人格特征
  • TOOLS.md: 自定义工具说明
  • MEMORY.md: 长期记忆摘要
  • memory/YYYY-MM-DD.md: 每日记忆文件

文件处理规则

  • 截断限制: 单个文件最多注入 20,000 字符
  • 缺失处理: 缺失的文件会显示"missing file"标记
  • 动态加载: 支持运行时更新 Bootstrap 文件
# 工作区目录结构示例
~/.openclaw/workspace/
├── AGENTS.md           # 代理定义
├── SOUL.md             # 核心价值观
├── USER.md             # 用户信息
├── IDENTITY.md         # 身份设定
├── TOOLS.md            # 工具说明
├── MEMORY.md           # 记忆摘要
├── memory/
│   ├── 2026-02-01.md  # 今日记忆
│   └── 2026-01-31.md  # 昨日记忆
├── skills/
│   ├── python-expert.md
│   └── devops-guide.md
└── canvas/
    └── project-ideas.md

配置示例

全局配置

{
  "systemPrompt": {
    "mode": "full",
    "includeBootstrap": true,
    "maxBootstrapChars": 20000,
    "sections": {
      "tooling": true,
      "safety": true,
      "skills": true,
      "workspace": true,
      "documentation": true,
      "sandbox": true,
      "time": true,
      "replyTags": true,
      "heartbeats": true,
      "runtime": true,
      "reasoning": true
    }
  }
}

代理级配置

{
  "agents": {
    "main-agent": {
      "systemPromptMode": "full"
    },
    "helper-agent": {
      "systemPromptMode": "minimal",
      "customPromptPrefix": "你是一个专注于代码审查的助手。"
    },
    "sandbox-agent": {
      "systemPromptMode": "minimal",
      "sandbox": true
    }
  }
}

技能管理

技能在系统提示词中以路径形式列出:

Available skills (use `read` tool to load):
- skills/python-expert.md
- skills/devops-guide.md
- skills/database-optimization.md

模型需要时会主动调用 read 工具加载技能内容:

{
  "name": "read",
  "input": {
    "file_path": "~/.openclaw/workspace/skills/python-expert.md"
  }
}

文档配置

系统提示词中的文档路径配置:

{
  "documentation": {
    "local": "~/.openclaw/workspace/docs/",
    "npm": "node_modules/@openclaw/openclaw/docs/",
    "mirror": "https://docs.openclaw.ai",
    "clawhub": "https://clawhub.openclaw.ai"
  }
}

最佳实践

优化建议
  • 精简 Bootstrap 文件: 保持 Bootstrap 文件简洁,避免冗余信息
  • 合理使用模式: 主代理用 full,子代理用 minimal
  • 技能描述精炼: 技能文件标题清晰,内容结构化
  • 定期更新 SOUL: 根据使用反馈优化代理行为准则
  • 监控 token 使用: 使用 /status 检查系统提示词的 token 占用

常用命令

# 查看当前系统提示词 (开发模式)
openclaw debug prompt

# 检查 Bootstrap 文件状态
openclaw setup --check

# 重新生成默认 Bootstrap 文件
openclaw setup --workspace

# 查看 token 使用情况 (包括系统提示词)
/status

与其他框架的区别

注意
OpenClaw 不使用 Anthropic 的 prompt-caching-agent 默认提示词。系统提示词完全由 OpenClaw 自主设计和维护,针对多代理协作和工作区管理进行了优化。

相关概念