Skip to content
广告 · 本站推荐广告

系统提示词

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 10

Safety — 安全规则

内置安全约束,防止 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.mdTOOLS.md,不加载 SOUL、IDENTITY 等人格文件。

截断策略(Trimming)

为防止系统提示词过长,OpenClaw 设置了截断限制:

yaml
# 每个文件的最大字符数
bootstrapMaxChars: 8000

# 所有 Bootstrap 文件的总最大字符数
bootstrapTotalMaxChars: 32000
参数默认值说明
bootstrapMaxChars8000单个文件最大字符数
bootstrapTotalMaxChars32000所有文件总最大字符数

超出限制的文件内容将从末尾截断,并附加截断提示。

提示词模式(Prompt Modes)

OpenClaw 支持三种系统提示词模式:

full — 完整模式(默认)

包含所有段落,适合大多数场景:

yaml
promptMode: full

minimal — 精简模式

省略 Skills、Memory、Self-Update 等段落,减少 Token 消耗:

yaml
promptMode: minimal

使用场景

minimal 模式适合 Token 预算紧张或使用小模型的场景。

none — 基础模式

仅包含基础身份信息,几乎不注入额外上下文:

yaml
promptMode: none

时间处理

Agent 的时间感知基于会话时区:

yaml
timezone: Asia/Shanghai
  • 系统提示词中注入当前时间
  • session_status 工具返回实时时间
  • Cron 任务根据配置时区触发

🇨🇳 中国用户须知

  • SOUL.mdAGENTS.md 使用中文撰写可显著提升中文对话质量
  • 建议设置 timezone: Asia/Shanghai
  • 国产模型的 Token 计算方式可能与 OpenAI 不同,注意调整 bootstrapMaxChars

下一步

基于MIT协议开源 | 内容翻译自 官方文档,同步更新