首页 教程 分类 Skills下载 关于
ZH EN JA KO
高级用法

OpenClaw自定义系统提示词高级技巧

· 10 分钟

前言

系统提示词(System Prompt)是定义 AI Agent 行为的基石。一个精心设计的系统提示词可以让 AI 准确扮演特定角色、遵循特定规则、产出特定格式的回复。OpenClaw 不仅支持静态的系统提示词,还提供了强大的动态模板系统,支持 15+ 内置参数和条件逻辑,让你构建出能够自适应不同场景的智能提示词。

本文将系统讲解 OpenClaw 的系统提示词高级配置技巧。

基础配置

静态系统提示词

最简单的方式是在 Agent 配置中直接指定提示词:

{
  agents: {
    "my-agent": {
      systemPrompt: "你是一个专业的技术助手。你的回答应该简洁、准确、有代码示例。"
    }
  }
}

从文件加载

对于较长的提示词,推荐使用独立文件:

{
  agents: {
    "my-agent": {
      systemPromptFile: "./prompts/tech-assistant.md"
    }
  }
}

动态模板系统

OpenClaw 的系统提示词支持 Mustache 风格的模板语法,运行时动态替换参数。

基本语法

你好,{{userName}}。当前时间是 {{currentTime}}。

全部内置参数

OpenClaw 提供了以下内置模板参数:

参数名 说明 示例值
{{userName}} 当前用户名 "张三"
{{userId}} 用户ID "user_12345"
{{channelType}} 频道类型 "dm" / "group"
{{channelName}} 频道名称 "技术讨论群"
{{platform}} 聊天平台 "telegram" / "discord"
{{agentId}} Agent ID "my-agent"
{{agentName}} Agent 显示名 "技术助手"
{{currentDate}} 当前日期 "2026-03-14"
{{currentTime}} 当前时间 "14:30:00"
{{currentDateTime}} 完整日期时间 "2026-03-14 14:30:00"
{{timezone}} 时区 "Asia/Shanghai"
{{locale}} 语言区域 "zh-CN"
{{sessionId}} 会话ID "session-abc123"
{{messageCount}} 当前会话消息数 "15"
{{modelName}} 使用的模型名 "claude-sonnet-4-20250514"
{{toolList}} 可用工具列表 "search, calculator, ..."

使用示例

你是 {{agentName}},一个运行在 {{platform}} 上的 AI 助手。

当前环境信息:
- 用户:{{userName}}
- 时间:{{currentDateTime}}({{timezone}})
- 频道:{{channelName}}({{channelType}})
- 会话已进行 {{messageCount}} 轮对话

你可以使用以下工具:{{toolList}}

请根据以上环境信息调整你的回复风格和内容。

条件逻辑

根据平台切换行为

{{#if platform == "telegram"}}
你正在 Telegram 上运行。请使用 Markdown 格式化回复,善用 emoji 表情。
消息长度控制在 4096 字符以内。
{{/if}}

{{#if platform == "discord"}}
你正在 Discord 上运行。可以使用 Discord 的 Markdown 语法。
支持代码块高亮和 embed 格式。
{{/if}}

{{#if platform == "slack"}}
你正在 Slack 上运行。使用 Slack 的 mrkdwn 格式。
支持 Block Kit 富文本格式。
{{/if}}

根据频道类型调整风格

{{#if channelType == "dm"}}
你正在与用户进行一对一私聊。可以提供详细的个性化回复。
可以记住用户的偏好和历史信息。
{{/if}}

{{#if channelType == "group"}}
你正在群组中。请注意:
- 只在被 @提及 或明确需要时才回复
- 回复应简洁,避免刷屏
- 注意群组话题的上下文
{{/if}}

根据时间动态调整

{{#if hour >= 22 || hour < 6}}
用户似乎在深夜使用,请在适当时候提醒注意休息。
{{/if}}

{{#if dayOfWeek == "Saturday" || dayOfWeek == "Sunday"}}
今天是周末,回复可以更轻松随意一些。
{{/if}}

高级组合技巧

多层提示词拼接

OpenClaw 支持将系统提示词分为多个层次,按顺序拼接:

{
  agents: {
    "my-agent": {
      systemPrompt: {
        // 基础人格层
        base: "./prompts/base-personality.md",
        // 工具使用指南层
        tools: "./prompts/tool-guidelines.md",
        // 安全规则层
        safety: "./prompts/safety-rules.md",
        // 动态上下文层
        context: "当前用户:{{userName}},平台:{{platform}}"
      }
    }
  }
}

最终的系统提示词会按 base → tools → safety → context 的顺序拼接。

自定义参数

除了内置参数,你还可以定义自己的模板参数:

{
  agents: {
    "my-agent": {
      systemPromptFile: "./prompts/custom-agent.md",
      promptParams: {
        companyName: "极客科技",
        productName: "SuperApp",
        supportEmail: "[email protected]",
        workingHours: "周一至周五 9:00-18:00",
        maxResponseLength: 500
      }
    }
  }
}

在提示词模板中使用:

你是 {{companyName}} 的 {{productName}} 产品客服助手。

回复规则:
- 回复不超过 {{maxResponseLength}} 字
- 遇到无法解决的问题,引导用户联系 {{supportEmail}}
- 工作时间为 {{workingHours}}

知识库注入

将外部知识库的内容动态注入到系统提示词中:

{
  agents: {
    "my-agent": {
      systemPrompt: {
        base: "你是一个产品专家...",
        // 从知识库文件中加载FAQ
        knowledge: {
          source: "./knowledge/faq.md",
          // 最大注入Token数
          maxTokens: 4000
        }
      }
    }
  }
}

Persona 预设组合

OpenClaw 内置了一套 Persona 预设系统,你可以基于预设进行定制:

{
  agents: {
    "my-agent": {
      // 基础人格预设
      persona: "professional",  // 可选: friendly, professional, technical, creative
      // 在预设基础上追加自定义指令
      systemPromptAppend: "额外规则:所有代码示例必须使用Python。"
    }
  }
}

提示词调试

查看实际生效的提示词

# 查看Agent最终拼接后的系统提示词
openclaw agent inspect my-agent --show-prompt

# 带上下文模拟(指定平台和用户)
openclaw agent inspect my-agent --show-prompt \
  --platform telegram --channel-type dm --user "test-user"

提示词版本管理

建议将提示词文件纳入版本控制,这样你可以:

  • 追踪每次提示词修改的历史
  • 通过 PR 审查提示词变更
  • 快速回滚到之前的版本
prompts/
├── base-personality.md
├── tool-guidelines.md
├── safety-rules.md
├── CHANGELOG.md
└── v2/
    └── base-personality.md

最佳实践

  1. 分层设计:将提示词分为人格层、工具层、规则层,各司其职
  2. 善用模板参数:避免硬编码,让提示词能适应多种场景
  3. 平台适配:不同聊天平台的消息格式和长度限制不同,用条件逻辑适配
  4. 版本控制:提示词是代码,应该像代码一样管理
  5. 定期测试:修改提示词后,在各平台和场景下验证效果
  6. 保持精简:系统提示词越长,消耗的 Token 越多,成本越高

小结

系统提示词是 AI Agent 的灵魂。OpenClaw 的动态模板系统让你可以根据用户身份、聊天平台、时间上下文等因素自动调整提示词内容,构建出真正智能的、能适应不同场景的 AI 助手。掌握这些高级技巧,将让你的 Agent 在各种复杂场景下都能表现出色。

OpenClaw 是开源免费的个人AI助手,支持 WhatsApp、Telegram、Discord 等多平台接入