✍️ OpenClaw Prompt 模板工程最佳实践

Prompt 不是写给人看的,是写给模型看的。好的 Prompt 模板就像好的代码——可复用、可测试、可版本控制。这篇指南教你从「写提示词」升级到「工程化提示词」。

📋 目录

🤔 为什么需要模板化?

散装 Prompt 的问题

模板化的好处

🏗️ 模板结构设计

一个好的 Prompt 模板应该包含以下部分:

# SKILL.md 模板结构 ## 角色定义 你是 {{role}},擅长 {{expertise}}。 ## 任务描述 {{#if task_type == "analysis"}} 分析以下内容并给出专业意见: {{else if task_type == "generation"}} 根据以下要求生成内容: {{/if}} ## 输入数据 {{input_data}} ## 输出格式 请按以下格式输出: {{output_format}} ## 约束条件 - 语言:{{language}} - 长度:不超过 {{max_length}} 字 - 风格:{{tone}}

📦 变量系统

变量类型

# 变量定义示例 variables: role: type: string default: "AI 助手" description: "Agent 的角色" language: type: string enum: ["zh-CN", "en-US", "ja-JP"] default: "zh-CN" max_length: type: number default: 2000 min: 100 max: 10000 tone: type: string enum: ["professional", "casual", "humorous"] default: "professional"

🔀 条件分支

# 条件分支示例 {{#if user_level == "beginner"}} 请用简单易懂的语言解释,避免专业术语。 举一个生活中的例子来类比。 {{else if user_level == "intermediate"}} 请提供技术细节和代码示例。 {{else if user_level == "expert"}} 请深入分析底层原理,包含架构图和性能数据。 {{/if}}

📋 版本管理

# prompt-templates/ # ├── v1.0.0/ # │ ├── analysis.md # │ └── generation.md # ├── v1.1.0/ # │ ├── analysis.md # 改进了输出格式 # │ └── generation.md # └── latest -> v1.1.0/ # 版本对比 openclaw prompts diff v1.0.0 v1.1.0 # 回滚到指定版本 openclaw prompts rollback v1.0.0 # 查看版本历史 openclaw prompts history analysis.md

🧪 A/B 测试

# 配置 A/B 测试 openclaw prompts ab-test \ --template analysis.md \ --variant-a v1.0.0 \ --variant-b v1.1.0 \ --sample-size 100 \ --metrics "quality_score,user_satisfaction" # 查看测试结果 openclaw prompts ab-results analysis.md # 选择胜出版本 openclaw prompts ab-winner analysis.md --apply

🎯 常用模式

模式一:Chain-of-Thought(思维链)

请按以下步骤分析问题: 1. **理解问题**:用自己的话复述问题 2. **分解问题**:将大问题拆解为小步骤 3. **逐步推理**:对每个步骤给出推理过程 4. **得出结论**:综合所有推理给出最终答案 5. **验证答案**:检查答案是否合理

模式二:Few-Shot(少样本学习)

以下是几个示例: 示例1: 输入:{{example_input_1}} 输出:{{example_output_1}} 示例2: 输入:{{example_input_2}} 输出:{{example_output_2}} 现在请处理: 输入:{{actual_input}} 输出:

模式三:Self-Reflection(自我反思)

请完成以下任务,然后自我审查: 1. 完成任务 2. 检查是否有遗漏 3. 评估输出质量(1-10分) 4. 如果低于8分,重新优化 任务:{{task}}
💡 好的 Prompt 模板不是一蹴而就的。持续收集用户反馈,通过 A/B 测试迭代优化,才能找到最有效的模板。