Claude 提示词最佳实践

原文:Best Practices for Prompt Engineering

什么是提示工程

提示工程是构建指令以获得更好 AI 输出的技艺。它决定了你如何措辞查询、指定风格、提供上下文并引导模型行为。一个精心设计的提示与模糊指令之间的差异,可能意味着一次性得到所需结果和多轮往返澄清意图之间的区别。

核心技巧

1. 明确清晰

  • 不要假设模型会推断你的意图——直接说明
  • 使用明确的语言,准确表达你想要什么

示例对比:

  • ❌ 模糊: “创建一个分析仪表板”
  • ✅ 明确: “创建一个分析仪表板。包含尽可能多的相关功能和交互。超越基础,创建功能完整的实现”

2. 提供上下文和动机

  • 解释"为什么"某事重要,帮助 AI 更好理解你的目标

示例对比:

  • ❌ 效果差: “永远不要使用项目符号”
  • ✅ 效果好: “我更喜欢自然段落形式的回复,而不是项目符号,因为我觉得流畅的散文更易读、更有对话感”

3. 具体化

  • 越具体地说明你想要什么,结果越好
  • 包括:具体数字、约束条件、格式要求、受众信息

示例对比:

  • ❌ 模糊: “为地中海饮食创建膳食计划”
  • ✅ 具体: “为糖尿病前期管理设计地中海饮食膳食计划。每日1,800卡路里,强调低血糖指数食物。列出早餐、午餐、晚餐和一份零食,附完整营养分解”

4. 使用示例(少样本提示)

  • 展示而非描述,澄清难以用语言表达的细微要求
  • 对 Claude 4.x 等现代模型特别有效

何时使用: 复杂格式、特定风格、微妙差异、新颖任务

5. 允许表达不确定性

  • 明确允许 AI 表达不确定性,而不是猜测
  • 减少幻觉,提高可靠性

示例: “分析这份财务数据并识别趋势。如果数据不足以得出结论,请直说而不是推测”

高级技巧

预填充响应

  • 为 AI 开始响应,引导格式、语气或结构
  • 特别适合强制输出格式或跳过开场白

API 示例:

messages=[
  {"role": "user", "content": "将产品描述中的名称和价格提取为 JSON"},
  {"role": "assistant", "content": "{"}
]

思维链提示 (Chain of Thought)

  • 要求逐步推理后再回答
  • 适合复杂分析任务

三种实现方式:

  1. 基础: “逐步思考”
  2. 引导式: 提供特定推理阶段
  3. 结构化: 使用标签分离推理和最终答案

注意: Claude 提供"扩展思考"功能,通常比手动 CoT 更好

控制输出格式

  1. 告诉 AI 该做什么,而非不该做什么
  2. 让提示风格匹配期望输出
  3. 明确格式偏好

提示链

  • 将复杂任务分解为较小的连续步骤
  • 每个提示处理一个阶段,输出进入下一个指令
  • 以延迟换取更高准确性

示例流程:

  1. 总结医学论文
  2. 审查总结的准确性
  3. 根据反馈改进总结

可能遇到的传统技巧

XML 标签

  • 早期推荐用于添加结构
  • 现代模型已不太需要,但在特定情况下仍有用
  • 可用清晰标题、空白和明确语言替代

角色提示

  • 定义专家角色和视角
  • 现代模型通常不需要过度角色设定
  • 直接说明想要的视角往往更有效

组合使用技巧

决策框架:

  1. 请求是否清晰明确?→ 优先提高清晰度
  2. 任务简单?→ 只用核心技巧
  3. 需要特定格式?→ 使用示例或预填充
  4. 任务复杂?→ 考虑分解(链式)
  5. 需要推理?→ 使用扩展思考或思维链

常见错误

  • ❌ 过度工程化:不是每个提示都需要每种技巧
  • ❌ 假设模型"应该知道"
  • ❌ 混合冲突指令
  • ❌ 过度约束角色
  • ❌ 忽略测试

关键原则

最佳提示不是最长或最复杂的,而是以最少必要结构可靠实现目标的提示。

提示工程本质上是关于沟通:用帮助 AI 最清楚理解你意图的语言说话。从核心技巧开始,持续使用直到成为第二天性,只在解决特定问题时才引入高级技巧。

上下文工程

提示工程是上下文工程的基础构建块。每个精心设计的提示都成为塑造 AI 行为的更大上下文的一部分,与对话历史、附加文件和系统指令一起创造更好的结果。


核心建议: 从简单开始,仅在需要时增加复杂性。测试每个添加是否真正改善结果。提示工程是一项技能,需要实践和客观测量才能掌握。

留言讨论