9.3 KiB
9.3 KiB
Claude 提示词工程规范参考
本文档汇总了 Claude 官方提示词工程的最佳实践,供优化提示词时参考。
目录
核心原则
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> |
角色设定 |
使用原则
- 一致性:整个提示词使用相同的标签名称
- 语义化:标签名称应反映其内容含义
- 嵌套合理:对层次内容使用嵌套标签
<outer><inner></inner></outer> - 引用标签:在指令中引用标签名称,如"使用
<contract>标签中的合同..."
示例
<instructions>
分析以下合同,识别关键条款和潜在风险。
</instructions>
<contract>
{{CONTRACT_TEXT}}
</contract>
<output_format>
1. 关键条款摘要
2. 潜在风险点
3. 建议行动
</output_format>
示例提示 (Few-shot)
何时使用
- 需要特定输出格式
- 复杂任务需要展示期望标准
- 减少对指令的误解
最佳实践
- 数量:提供 3-5 个多样化的示例
- 相关性:示例应与实际用例相似
- 多样性:覆盖边缘情况和挑战
- 清晰度:使用
<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 结构
- 复杂任务包含示例或分步骤
- 定义了明确的输出格式
- 使用正向表述而非否定
- 如需要,设定了合适的角色
- 约束条件清晰
- 提供了足够的变量占位符