bookworm-smart-assistant/skills/prompt-optimizer/references/prompt-rules.md

9.3 KiB
Raw Permalink Blame History

Claude 提示词工程规范参考

本文档汇总了 Claude 官方提示词工程的最佳实践,供优化提示词时参考。

目录

  1. 核心原则
  2. XML 标签使用规范
  3. 示例提示 (Few-shot)
  4. 思维链 (Chain of Thought)
  5. 角色设定
  6. 输出格式控制
  7. Claude 4 特别注意事项
  8. 常见任务模板

核心原则

1. 明确具体 (Be Explicit)

Claude 4 模型对清晰、明确的指令响应最好。

不佳:

创建一个分析仪表板

优秀:

创建一个分析仪表板。包含尽可能多的相关功能和交互。
超越基础,创建一个功能完整的实现。

2. 提供动机 (Provide Motivation)

解释为什么需要某种行为,帮助 Claude 更好地理解目标。

不佳:

不要使用省略号

优秀:

你的回复将被文字转语音引擎朗读,所以不要使用省略号,
因为文字转语音引擎不知道如何发音。

3. 正向表述 (Positive Framing)

告诉 Claude 要做什么,而不是不要做什么。

不佳:

不要使用 Markdown 格式

优秀:

你的回复应该由流畅连贯的散文段落组成。

4. 适度复杂性 (Right-size Complexity)

简单任务用简单提示词,复杂任务才需要详细结构。


XML 标签使用规范

为什么使用 XML 标签

  • 清晰度:清楚分隔提示词的不同部分
  • 准确性:减少 Claude 误解提示词的错误
  • 灵活性:便于查找、添加、删除或修改部分内容
  • 可解析性:便于从输出中提取特定部分

推荐的标签名称

标签 用途
<instructions> 主要指令
<context> 背景信息
<input> / <input_data> 输入数据
<examples> 示例集合
<example> 单个示例
<output_format> 输出格式定义
<constraints> 限制条件
<thinking> 思考过程
<answer> 最终答案
<document> 文档内容
<role> 角色设定

使用原则

  1. 一致性:整个提示词使用相同的标签名称
  2. 语义化:标签名称应反映其内容含义
  3. 嵌套合理:对层次内容使用嵌套标签 <outer><inner></inner></outer>
  4. 引用标签:在指令中引用标签名称,如"使用 <contract> 标签中的合同..."

示例

<instructions>
分析以下合同,识别关键条款和潜在风险。
</instructions>

<contract>
{{CONTRACT_TEXT}}
</contract>

<output_format>
1. 关键条款摘要
2. 潜在风险点
3. 建议行动
</output_format>

示例提示 (Few-shot)

何时使用

  • 需要特定输出格式
  • 复杂任务需要展示期望标准
  • 减少对指令的误解

最佳实践

  1. 数量:提供 3-5 个多样化的示例
  2. 相关性:示例应与实际用例相似
  3. 多样性:覆盖边缘情况和挑战
  4. 清晰度:使用 <example> 标签包裹

示例格式

<examples>
<example>
<input>Added user authentication with JWT tokens</input>
<o>
feat(auth): implement JWT-based authentication

Add login endpoint and token validation middleware
</o>
</example>

<example>
<input>Fixed bug where dates displayed incorrectly</input>
<o>
fix(reports): correct date formatting in timezone conversion

Use UTC timestamps consistently across report generation
</o>
</example>
</examples>

思维链 (Chain of Thought)

何时使用

  • 复杂的分析或推理任务
  • 数学或逻辑问题
  • 需要多步骤决策的任务

优势

  • 准确性:逐步推理减少错误
  • 连贯性:结构化思考产生更有组织的回复
  • 可调试性:便于发现提示词问题

实现方式

基础方式:

在回答之前,请先逐步思考这个问题。

结构化方式:

<instructions>
分析这个问题,将你的思考过程放在 <thinking> 标签中,
最终答案放在 <answer> 标签中。
</instructions>

详细步骤方式:

<instructions>
请按以下步骤分析:
1. 识别问题的关键要素
2. 列出相关的已知信息
3. 考虑可能的解决方案
4. 评估每个方案的优缺点
5. 选择最佳方案并解释原因

将思考过程放在 <thinking> 标签中,结论放在 <answer> 标签中。
</instructions>

角色设定

何时使用

  • 需要特定专业视角
  • 希望调整语气和风格
  • 模拟特定场景

最佳实践

<role>
你是一位拥有 10 年经验的高级软件架构师,专注于分布式系统设计。
你的风格是严谨但易于理解,善于用类比解释复杂概念。
</role>

角色要素

  • 专业背景和经验年限
  • 专长领域
  • 沟通风格
  • 特定约束(如面向新手)

输出格式控制

方法 1明确描述格式

以 JSON 格式输出,包含 name、age、skills数组字段。

方法 2提供模板

<output_format>
# [标题]

## 背景
[一段话描述背景]

## 主要发现
- 发现 1
- 发现 2

## 建议
1. 建议 1
2. 建议 2
</output_format>

方法 3使用示例

<example_output>
{
  "summary": "简要总结",
  "score": 85,
  "details": ["细节1", "细节2"]
}
</example_output>

方法 4格式指示器

使用 <format_indicator> 标签要求特定格式:

<format_indicator>pure_json</format_indicator>

Claude 4 特别注意事项

1. 显式请求

Claude 4 更精确地遵循指令。如果需要"超越基础"的行为,需要明确请求:

包含尽可能多的相关功能和交互。超越基础,创建一个功能完整的实现。

2. 示例的影响

Claude 4 对示例非常敏感。确保:

  • 示例与期望行为一致
  • 避免示例中包含不想要的模式

3. 并行工具调用

Claude 4 擅长并行执行多个工具。可以添加提示:

为了最高效率,当需要执行多个独立操作时,
请同时调用所有相关工具,而不是顺序调用。

4. 思考能力

利用 Claude 4 的 interleaved thinking

在收到工具结果后,仔细反思其质量,
在继续之前确定最佳下一步。
使用你的思考来规划和迭代。

常见任务模板

文本总结

<role>
你是一位专业的内容摘要专家。
</role>

<instructions>
请总结以下文本的要点。要求:
1. 保留核心信息,去除冗余
2. 使用简洁的语言
3. 保持原文的主要观点
4. 字数控制在原文的 20% 以内
</instructions>

<input>
{{TEXT}}
</input>

<output_format>
## 摘要
[一段话核心总结]

## 要点
- 要点 1
- 要点 2
- 要点 3
</output_format>

代码生成

<role>
你是一位经验丰富的 {{LANGUAGE}} 开发者。
</role>

<instructions>
请编写代码实现以下功能:
{{REQUIREMENTS}}

要求:
1. 代码简洁高效
2. 包含必要的错误处理
3. 添加清晰的注释
4. 遵循 {{LANGUAGE}} 最佳实践
</instructions>

<constraints>
- 使用 {{FRAMEWORK/VERSION}}
- 不使用外部依赖(除非必要)
- 代码需要可直接运行
</constraints>

<output_format>
首先简要说明实现思路,然后提供完整代码。
</output_format>

内容创作

<role>
你是一位专业的 {{CONTENT_TYPE}} 创作者,
风格 {{STYLE}},面向 {{AUDIENCE}}。
</role>

<instructions>
请创作一篇关于 {{TOPIC}} 的内容。

要求:
1. 语气:{{TONE}}
2. 长度:约 {{LENGTH}} 字
3. 结构:{{STRUCTURE_REQUIREMENTS}}
4. 关键点:{{KEY_POINTS}}
</instructions>

<examples>
[如需要,提供风格示例]
</examples>

<constraints>
- 原创内容,不要复制现有材料
- 保持一致的语气和风格
- 确保内容准确性
</constraints>

数据分析

<role>
你是一位资深数据分析师。
</role>

<context>
{{BUSINESS_CONTEXT}}
</context>

<instructions>
分析以下数据,重点关注:
1. {{FOCUS_AREA_1}}
2. {{FOCUS_AREA_2}}

分析步骤:
1. 数据质量检查
2. 描述性统计
3. 趋势和模式识别
4. 洞察和建议
</instructions>

<data>
{{DATA}}
</data>

<output_format>
## 执行摘要
[关键发现的一段话总结]

## 数据质量
[数据质量评估]

## 分析发现
[详细分析,包含具体数据支持]

## 建议
[基于分析的可行建议]
</output_format>

优化检查清单

优化提示词后,检查以下项目:

  • 任务目标明确、无歧义
  • 提供了必要的上下文
  • 指令具体、可执行
  • 使用了适当的 XML 结构
  • 复杂任务包含示例或分步骤
  • 定义了明确的输出格式
  • 使用正向表述而非否定
  • 如需要,设定了合适的角色
  • 约束条件清晰
  • 提供了足够的变量占位符