在第一课中,我们快速回顾了一些关键的提示技巧。在第二课中,我们编写了一个提示,将所有这些技巧“盲目”地应用于单个提示。理解这些技巧至关重要,但理解提示工程工作流程和决策框架也同样重要。
什么是提示工程? #
提示工程是为 Claude 等大型语言模型设计有效指令以产生所需输出的艺术和科学。提示工程的核心是设计、改进和优化提供给模型的文本输入(提示),以引出准确、相关和有用的响应。它是关于以一种最大限度地提高模型对给定任务的理解和性能的方式与 Claude“沟通”。提示工程的重要性怎么强调都不为过:
- 增强 AI 能力:精心设计的提示可以显著提高 AI 的性能,使其能够以更高的准确性和效率处理复杂任务。
- 弥合人类意图与 AI 输出之间的差距:提示工程有助于将人类目标转化为 AI 模型可以有效解释和采取行动的语言。
- 优化资源使用:熟练的提示工程可以减少令牌使用量,降低成本并缩短生产环境中的响应时间。
它与“基本提示”有何不同? #
我们将“基本提示”定义为简单地向 AI 模型提问或给出直接的指令。另一方面,提示工程是一个更复杂和深思熟虑的过程。
- 复杂性:基本提示通常涉及简单查询的单轮交互。另一方面,提示工程可能涉及多轮对话、复杂指令以及精心构建的输入和输出。
- 精确度:基本提示可能含糊不清,导致结果不一致。这在一次性提示情况下可能没问题,但不会扩展到生产用例。工程提示是精确的,几乎没有模型误解的空间。
- 迭代改进:与可能只是一次性活动的基本提示不同,提示工程涉及随着时间的推移对提示进行系统测试、分析和改进。
- 可扩展性:提示工程旨在创建能够处理各种输入和用例的提示,使其适合生产环境。
从本质上讲,提示工程将与模型的交互从随意的对话提升为精心策划的交流,旨在最大限度地发挥模型在可重复解决实际问题方面的潜力。随着我们学习本课程,您将学习掌握这一关键技能所需的技术和思维方式。
提示工程构建迭代流程 #
第一次尝试就坐在一张白纸前制作出完美的提示当然很好,但现实情况是,提示工程是一个迭代过程,涉及创建、测试和优化提示以实现最佳性能。了解此生命周期对于开发有效的提示和解决出现的问题至关重要。
- 初始提示创建
- 测试和识别问题
- 选择适当的技术
- 实施改进
- 迭代和优化
让我们详细讨论一下这些部分。
初始提示创建 #
首先编写一个“初稿”提示,清楚地阐明您的最终目标。理想情况下,第一次尝试结合了我们之前介绍过的一些提示技巧:定义目标、确定关键信息、构建良好的提示等。无论哪种方式,提示的最终版本都不太可能与初稿相似。
测试和识别问题 #
现在您有了基本的提示,下一步是针对各种可能的输入对其进行测试。我们即将推出的提示评估课程将详细介绍此过程,但归结为:
- 准备测试用例:创建一组涵盖各种场景和边缘情况的多样化输入。
- 运行初始测试:使用准备好的输入进行提示并观察输出。
- 分析结果:“评分”模型的响应。这可以通过多种方式完成:通过代码、人类专业知识或使用大型语言模型。
在整个测试过程中,要记住的关键指标包括:
- 准确性:输出是否正确且相关?
- 一致性:模型在不同输入中的表现是否相似?它如何处理极端情况?
- 完整性:输出中是否包含所有必需信息?
- 遵守说明:模型是否遵循所有给定的指示?
选择适当的技术 #
- 测试初始提示并确定具体问题后,就该对提示进行一些更改了。理想的方法不是盲目地进行改进,而是包括以下步骤:
- 诊断根本原因:对于每个已确定的问题,尝试了解其发生的原因。
- 研究解决方案:根据您的诊断,探索可以解决问题的提示工程技术。
- 选择技术:选择最有希望实施的策略。
实施改进 #
- 接下来,实际实施原始提示中的改进。修改原始提示以结合您选择的技术来解决先前确定的问题。如果您要进行多项更改,请考虑一次实施一项,以更好地了解它们各自的影响。
迭代和细化 #
重复上述过程!
- 重新测试:通过最初使用的相同测试用例运行更新后的提示。
- 比较结果:分析输出结果如何变化,以及目标问题是否已得到解决。
- 识别新问题:查找可能因更改而引入的任何新问题。
- 重复循环:继续进行测试、分析和改进,直到获得令人满意的性能。