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}}{{simple_var}} - 简单替换{{#if condition}}...{{/if}} - 条件块{{#each items}}...{{/each}} - 循环块{{> partial}} - 引用其他模板片段# 变量定义示例
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 测试
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请按以下步骤分析问题:
1. **理解问题**:用自己的话复述问题
2. **分解问题**:将大问题拆解为小步骤
3. **逐步推理**:对每个步骤给出推理过程
4. **得出结论**:综合所有推理给出最终答案
5. **验证答案**:检查答案是否合理以下是几个示例:
示例1:
输入:{{example_input_1}}
输出:{{example_output_1}}
示例2:
输入:{{example_input_2}}
输出:{{example_output_2}}
现在请处理:
输入:{{actual_input}}
输出:请完成以下任务,然后自我审查:
1. 完成任务
2. 检查是否有遗漏
3. 评估输出质量(1-10分)
4. 如果低于8分,重新优化
任务:{{task}}