13
如何写好一个 Prompt
大模型开发/技术交流
- Prompt
2023.10.127496看过
引导式工程(Prompt Engineering):一种优化 AI 对话的策略
引导式工程(Prompt Engineering)是一种策略,用于优化人工智能(AI)模型的表现。这种策略的关键在于设计有效的"引导"(prompt),使 AI 模型能够更准确地理解并响应用户的需求。本文将详细介绍引导式工程的概念,以及如何写好一个引导,包括需要的步骤、注意事项和技巧,并提供一些实例供参考。
什么是引导式工程?
在 AI 对话系统中,"引导"是指向模型提供的输入,用于引导模型生成对应的输出。引导式工程主要关注如何设计这些引导,以使 AI 模型能够更准确、更有效地完成特定任务。
对于 OpenAI 的 GPT-3 和 GPT-4 等模型来说,引导式工程是非常重要的。这些模型虽然在自然语言理解和生成方面有着出色的表现,但它们的表现往往会受到输入引导的影响。一个优秀的引导可以让模型更好地理解任务的需求,从而生成更加满足需求的输出。
如何写好一个引导?
编写一个有用的引导并不总是直观的,它需要一些策略和技巧。以下是一些步骤和建议:
-
明确你的目标:首先,你需要明确你希望 AI 模型完成的任务。这可能是生成一段文本、回答一个问题,或者完成一个复杂的任务,如编写一段代码。明确的目标可以帮助你聚焦在如何构建能够引导模型达到这个目标的引导上。
-
设计引导:根据你的目标,开始设计引导。尝试让引导尽可能清晰、简洁,同时包含足够的上下文信息。这可能需要一些试错和迭代。
-
测试和优化:对你的引导进行测试,看看模型的输出是否满足你的期望。如果不满足,那么可能需要调整你的引导,或者尝试一些不同的引导策略。
基本注意事项和技巧
以下是一些编写引导时的注意事项和技巧:
-
使用一致并且没有歧义的语言,避免同一个事物/指代在上下文中出现多种称谓。
-
使用专业人设和语调,通过人设设定(你是一个代码工程师/数据标注员)进行效果,同时使用语调相关的提示词引导回答的语调(比如“使用专业,精确的用语回答/使用亲和,简单的语调回答,务必使小学生都能看懂)
-
提供足够的上下文:AI 模型通常需要足够的上下文信息才能产生有用的输出。在你的引导中加入相关的背景信息或者先前的对话内容,可以帮助模型理解任务的需求。
-
明确任务的格式:如果你希望模型的输出符合特定的格式,那么在引导中明确这一格式要求通常会很有帮助。例如,如果你希望模型回答一个是非问题,你可以在引导中明确指出这一点。
-
使用迭代式引导:对于复杂的任务,你可能需要使用一系列的引导,逐步引导模型完成任务。这种策略称为迭代式引导,可以帮助模型更好地理解和完成复杂的任务。
-
提供样本和例子,提供少量的样本,可以包括正例和反例让模型学习。
-
对于特殊词语使用符号,比如你想让模型特别关注的信息或者任务的关键步骤用“”,<>等进行特别标注
-
限制返回的回答长度
-
复杂的任务在 prompt 中体现中间思考过程,比如让模型求给定的一组数中能否相加成为24点,prompt 可以为
你现在需要判断给出的一组数中能否通过加减乘除运算得出24,如果能够得出24你需要返回 True, 否则返回 False。请你根据下面的例子对待解决问题进行回答:例子:输入: 6, 3, 5, 3思考过程:(6-3)×(5+3)=24输出: True输入: 6, 3思考过程:6 + 3 = 96 - 3 = 36 * 3 = 186 / 3 = 2输出: False待解决问题: 6, 8
进阶技巧
-
zero shot prompt: https://www.promptingguide.ai/zh/techniques/zeroshot
-
few shot prompt: https://www.promptingguide.ai/zh/techniques/fewshot
-
chain of thoughts: https://www.promptingguide.ai/zh/techniques/cot
.........
资源
基于吴恩达 Prompt Engineering for Developer 的总结文档, 强烈建议先阅读一下这部分:
prompt 优化的一个工具:
总之,就是多试,基于试验的结果来不断优化 prompt.
本文作者王建,已获作者授权发布,如需转载请联系
评论