访问我们的提示工程教程,通过互动课程学习提示。

Claude 提供开箱即用的高水平基线性能。然而,提示工程可以帮助你进一步提高其性能,并微调其响应以更好地适应你的特定用例。这些技术对于使用 Claude 获得良好结果并非必要,但你可能会发现它们在提升输入和输出方面很有用。

要快速上手提示或了解提示的概念,请参阅提示简介


什么是提示工程?

提示工程是一门经验科学,涉及迭代和测试提示以优化性能。提示工程周期中大部分的努力实际上并不在于编写提示。相反,提示工程时间的大部分花在开发一套强大的评估上,然后根据这些评估进行测试和迭代。

提示开发生命周期

我们建议采用原则性的、测试驱动的开发方法来确保最佳的提示性能。让我们通过随附的图表,了解我们在为任务开发提示时使用的关键高级流程。

  1. 定义任务和成功标准:第一步也是最关键的一步是清楚地定义你希望 Claude 执行的具体任务。这可以是任何事情,从实体提取、问答或文本摘要到更复杂的任务,如代码生成或创意写作。一旦你有了明确定义的任务,就要建立指导评估和优化过程的成功标准。 需要考虑的关键成功标准包括:
    • 性能和准确性:模型在任务上需要达到多好的性能?
    • 延迟:模型可接受的响应时间是多少?这将取决于你的应用程序的实时要求和用户期望。
    • 价格:你运行模型的预算是多少?考虑每次 API 调用的成本、模型的大小和使用频率等因素。 从一开始就有明确、可衡量的成功标准,将有助于你在整个采用过程中做出明智的决策,并确保你为正确的目标进行优化。
  2. 开发测试用例:在定义了任务和成功标准后,下一步是创建一组多样化的测试用例,涵盖应用程序的预期用例。这些应包括典型示例和边缘情况,以确保你的提示是稳健的。提前准备好定义明确的测试用例,将使你能够客观地衡量提示相对于成功标准的性能。
  3. 设计初步提示:接下来,制作一个初始提示,概述任务定义、良好响应的特征以及 Claude 所需的任何必要上下文。理想情况下,你应该添加一些规范输入和输出的示例,供 Claude 遵循。这个初步提示将作为改进的起点。
  4. 根据测试用例测试提示:使用初步提示将测试用例输入 Claude。仔细评估模型的响应是否符合预期输出和成功标准。使用一致的评分标准,无论是人工评估、与答案对比,还是基于评分标准的 Claude 的另一个实例的判断。关键是要有一个系统的方法来评估性能。
  5. 改进提示:根据第 4 步的结果,迭代改进提示,以提高测试用例的性能,更好地满足成功标准。这可能涉及添加澄清、示例或约束来指导 Claude 的行为。要谨慎,不要过度优化狭窄的输入集,因为这可能导致过拟合和泛化能力差。
  6. 发布完善的提示:一旦你得到一个在测试用例中表现良好并满足成功标准的提示,就可以在应用程序中部署它了。监控模型在实际环境中的性能,并准备根据需要进行进一步的改进。可能会出现最初测试集中没有预料到的边缘情况。

在整个过程中,值得从最有能力的模型和不受约束的提示长度开始,以建立性能上限。一旦达到所需的输出质量,就可以尝试优化,如缩短提示或使用更小的模型,以根据需要减少延迟和成本。

通过遵循这种测试驱动的方法,并在前期仔细定义任务和成功标准,你将很好地利用 Claude 的力量来满足你的特定用例。如果你投入时间设计稳健的测试用例和提示,你将在模型性能和可维护性方面获得回报。


提示工程技术

在整个提示开发周期中,有一些技术可以用来提高 Claude 的性能,例如:

我们还提供了一个实验性的辅助元提示,它提示 Claude 根据你提供的指南为你创建提示。元提示是实验性的,但可能有助于起草初始提示或快速创建许多提示变体进行测试。

注意:早于 Claude 3 系列的模型可能需要更多的提示工程。有关更多信息,请参阅我们的旧模型指南


其他资源

要了解更多关于提示工程的信息,请查看以下资源:

  • Anthropic cookbook:以 Jupyter notebook 形式提供的一组食谱,其中包含可复制的代码,演示了如何在更高级的场景中以各种巧妙有效的方式使用 Claude,例如上传 PDF工具使用和函数调用嵌入
  • 提示工程互动教程:一个动手的分步教程,让你轻松学习有效的提示策略(需要 API 密钥)
    • 如果你想查看示例解决方案,还有一个配套的答案
  • 提示库:为各种个人和专业用例的常见、有趣和有用的任务提供预先编写的提示集合
  • 客户端 SDK:一组工具,使你更容易使用 Claude 构建应用程序并将其集成到你的应用程序中

祝你提示愉快!