# Claude 提示词工程规范参考 本文档汇总了 Claude 官方提示词工程的最佳实践,供优化提示词时参考。 ## 目录 1. [核心原则](#核心原则) 2. [XML 标签使用规范](#xml-标签使用规范) 3. [示例提示 (Few-shot)](#示例提示-few-shot) 4. [思维链 (Chain of Thought)](#思维链-chain-of-thought) 5. [角色设定](#角色设定) 6. [输出格式控制](#输出格式控制) 7. [Claude 4 特别注意事项](#claude-4-特别注意事项) 8. [常见任务模板](#常见任务模板) --- ## 核心原则 ### 1. 明确具体 (Be Explicit) Claude 4 模型对清晰、明确的指令响应最好。 **不佳:** ``` 创建一个分析仪表板 ``` **优秀:** ``` 创建一个分析仪表板。包含尽可能多的相关功能和交互。 超越基础,创建一个功能完整的实现。 ``` ### 2. 提供动机 (Provide Motivation) 解释为什么需要某种行为,帮助 Claude 更好地理解目标。 **不佳:** ``` 不要使用省略号 ``` **优秀:** ``` 你的回复将被文字转语音引擎朗读,所以不要使用省略号, 因为文字转语音引擎不知道如何发音。 ``` ### 3. 正向表述 (Positive Framing) 告诉 Claude 要做什么,而不是不要做什么。 **不佳:** ``` 不要使用 Markdown 格式 ``` **优秀:** ``` 你的回复应该由流畅连贯的散文段落组成。 ``` ### 4. 适度复杂性 (Right-size Complexity) 简单任务用简单提示词,复杂任务才需要详细结构。 --- ## XML 标签使用规范 ### 为什么使用 XML 标签 - **清晰度**:清楚分隔提示词的不同部分 - **准确性**:减少 Claude 误解提示词的错误 - **灵活性**:便于查找、添加、删除或修改部分内容 - **可解析性**:便于从输出中提取特定部分 ### 推荐的标签名称 | 标签 | 用途 | |------|------| | `` | 主要指令 | | `` | 背景信息 | | `` / `` | 输入数据 | | `` | 示例集合 | | `` | 单个示例 | | `` | 输出格式定义 | | `` | 限制条件 | | `` | 思考过程 | | `` | 最终答案 | | `` | 文档内容 | | `` | 角色设定 | ### 使用原则 1. **一致性**:整个提示词使用相同的标签名称 2. **语义化**:标签名称应反映其内容含义 3. **嵌套合理**:对层次内容使用嵌套标签 `` 4. **引用标签**:在指令中引用标签名称,如"使用 `` 标签中的合同..." ### 示例 ```xml 分析以下合同,识别关键条款和潜在风险。 {{CONTRACT_TEXT}} 1. 关键条款摘要 2. 潜在风险点 3. 建议行动 ``` --- ## 示例提示 (Few-shot) ### 何时使用 - 需要特定输出格式 - 复杂任务需要展示期望标准 - 减少对指令的误解 ### 最佳实践 1. **数量**:提供 3-5 个多样化的示例 2. **相关性**:示例应与实际用例相似 3. **多样性**:覆盖边缘情况和挑战 4. **清晰度**:使用 `` 标签包裹 ### 示例格式 ```xml Added user authentication with JWT tokens feat(auth): implement JWT-based authentication Add login endpoint and token validation middleware Fixed bug where dates displayed incorrectly fix(reports): correct date formatting in timezone conversion Use UTC timestamps consistently across report generation ``` --- ## 思维链 (Chain of Thought) ### 何时使用 - 复杂的分析或推理任务 - 数学或逻辑问题 - 需要多步骤决策的任务 ### 优势 - **准确性**:逐步推理减少错误 - **连贯性**:结构化思考产生更有组织的回复 - **可调试性**:便于发现提示词问题 ### 实现方式 **基础方式:** ``` 在回答之前,请先逐步思考这个问题。 ``` **结构化方式:** ```xml 分析这个问题,将你的思考过程放在 标签中, 最终答案放在 标签中。 ``` **详细步骤方式:** ```xml 请按以下步骤分析: 1. 识别问题的关键要素 2. 列出相关的已知信息 3. 考虑可能的解决方案 4. 评估每个方案的优缺点 5. 选择最佳方案并解释原因 将思考过程放在 标签中,结论放在 标签中。 ``` --- ## 角色设定 ### 何时使用 - 需要特定专业视角 - 希望调整语气和风格 - 模拟特定场景 ### 最佳实践 ```xml 你是一位拥有 10 年经验的高级软件架构师,专注于分布式系统设计。 你的风格是严谨但易于理解,善于用类比解释复杂概念。 ``` ### 角色要素 - 专业背景和经验年限 - 专长领域 - 沟通风格 - 特定约束(如面向新手) --- ## 输出格式控制 ### 方法 1:明确描述格式 ``` 以 JSON 格式输出,包含 name、age、skills(数组)字段。 ``` ### 方法 2:提供模板 ```xml # [标题] ## 背景 [一段话描述背景] ## 主要发现 - 发现 1 - 发现 2 ## 建议 1. 建议 1 2. 建议 2 ``` ### 方法 3:使用示例 ```xml { "summary": "简要总结", "score": 85, "details": ["细节1", "细节2"] } ``` ### 方法 4:格式指示器 使用 `` 标签要求特定格式: ```xml pure_json ``` --- ## Claude 4 特别注意事项 ### 1. 显式请求 Claude 4 更精确地遵循指令。如果需要"超越基础"的行为,需要明确请求: ``` 包含尽可能多的相关功能和交互。超越基础,创建一个功能完整的实现。 ``` ### 2. 示例的影响 Claude 4 对示例非常敏感。确保: - 示例与期望行为一致 - 避免示例中包含不想要的模式 ### 3. 并行工具调用 Claude 4 擅长并行执行多个工具。可以添加提示: ``` 为了最高效率,当需要执行多个独立操作时, 请同时调用所有相关工具,而不是顺序调用。 ``` ### 4. 思考能力 利用 Claude 4 的 interleaved thinking: ``` 在收到工具结果后,仔细反思其质量, 在继续之前确定最佳下一步。 使用你的思考来规划和迭代。 ``` --- ## 常见任务模板 ### 文本总结 ```xml 你是一位专业的内容摘要专家。 请总结以下文本的要点。要求: 1. 保留核心信息,去除冗余 2. 使用简洁的语言 3. 保持原文的主要观点 4. 字数控制在原文的 20% 以内 {{TEXT}} ## 摘要 [一段话核心总结] ## 要点 - 要点 1 - 要点 2 - 要点 3 ``` ### 代码生成 ```xml 你是一位经验丰富的 {{LANGUAGE}} 开发者。 请编写代码实现以下功能: {{REQUIREMENTS}} 要求: 1. 代码简洁高效 2. 包含必要的错误处理 3. 添加清晰的注释 4. 遵循 {{LANGUAGE}} 最佳实践 - 使用 {{FRAMEWORK/VERSION}} - 不使用外部依赖(除非必要) - 代码需要可直接运行 首先简要说明实现思路,然后提供完整代码。 ``` ### 内容创作 ```xml 你是一位专业的 {{CONTENT_TYPE}} 创作者, 风格 {{STYLE}},面向 {{AUDIENCE}}。 请创作一篇关于 {{TOPIC}} 的内容。 要求: 1. 语气:{{TONE}} 2. 长度:约 {{LENGTH}} 字 3. 结构:{{STRUCTURE_REQUIREMENTS}} 4. 关键点:{{KEY_POINTS}} [如需要,提供风格示例] - 原创内容,不要复制现有材料 - 保持一致的语气和风格 - 确保内容准确性 ``` ### 数据分析 ```xml 你是一位资深数据分析师。 {{BUSINESS_CONTEXT}} 分析以下数据,重点关注: 1. {{FOCUS_AREA_1}} 2. {{FOCUS_AREA_2}} 分析步骤: 1. 数据质量检查 2. 描述性统计 3. 趋势和模式识别 4. 洞察和建议 {{DATA}} ## 执行摘要 [关键发现的一段话总结] ## 数据质量 [数据质量评估] ## 分析发现 [详细分析,包含具体数据支持] ## 建议 [基于分析的可行建议] ``` --- ## 优化检查清单 优化提示词后,检查以下项目: - [ ] 任务目标明确、无歧义 - [ ] 提供了必要的上下文 - [ ] 指令具体、可执行 - [ ] 使用了适当的 XML 结构 - [ ] 复杂任务包含示例或分步骤 - [ ] 定义了明确的输出格式 - [ ] 使用正向表述而非否定 - [ ] 如需要,设定了合适的角色 - [ ] 约束条件清晰 - [ ] 提供了足够的变量占位符