OpenAI官方指南: Prompt engineering
这篇是去年翻译的OpenAI官方指南Prompt engineering,值得多读几次。写这篇文章时发现OpenAI给这篇指南改了名字,之前的标题是gpt best practices,现在改为了prompt engineering. GPT最佳实践 获得更好结果的六项策略 1 指示要明确 GPT无法读懂你的心思。如果输出内容过长,可要求简短回复;如果输出内容过于简单,可要求专家级写作;如果不喜欢当前的格式,可展示你期望的格式。你的指示越明确,GPT满足你的要求的可能性就越大。 在提问中提供完整信息,以获得更准确的答复。 要求模型扮演不同角色。 使用分隔符明确区分输入的不同部分。 阐明完成任务所需的步骤。 举例说明。 指定输出内容的期望长度。 2 提供参考文字 GPT可以自信地编造虚假答案,特别是在询问关于深奥话题或要求引用和URL时。就像小抄可以帮助学生在考试中做得更好一样,向GPT提供参考文本可以帮助它减少错误信息的回答。 指导模型使用参考文献来回答问题 指导模型在回答时引用参考文献 3 将复杂的任务拆分为更简单的子任务 正如软件工程中将复杂系统拆分为一系列模块化部件的常规做法,对GPT提交的任务同样适用。复杂任务相较于简单任务具有更高的错误率。此外,复杂任务往往可以重新定义为一系列的简单任务的工作流,在这个流程中,前一个任务的输出用于构建后续任务的输入。 利用意图分类来识别用户查询中最相关的指令 对于需要长对话的对话应用,摘要或过滤之前的对话内容 分块摘要长文档,递归地构建完整摘要 4 给GPT时间思考 如果把17乘以28的题目摆在你面前,你可能不会立刻答出来,但给点时间你能慢慢算出来。同样地,GPT在被要求立即回答时,也更容易出错。让它先进行一番逻辑推理,再给出答案,就能更可靠地引导它找到正确的答案。 让模型先不急于下结论,先计算出自己的答案。 利用内心独白或一系列自问自答来掩盖模型的推理过程。 询问模型在之前的回答中是否有遗漏。 5 使用外部工具 通过结合其他工具的功能来弥补GPT的不足之处。举例来说,文本检索系统能够为GPT提供相关文档信息。代码执行引擎则能辅助GPT进行数学计算和运行代码。若外部工具能比GPT更可靠或高效地完成任务,就将任务外包出去,以实现优势互补。 使用嵌入式搜索技术,打造高效的知识检索系统 通过代码执行功能进行精确计算或接入外部API 让模型访问具体的函数 6 系统化地测试更改 衡量改进成效的诀窍在于可量化的数据。有时候,简单的提示修改可能会在零星案例中取得不错的效果,但在更广泛的案例中却适得其反。因此,要确认某项更改确实提升了性能,就需要设立一套全面的测试方案(也称为评估测试)。 以最佳答案为标准,评估模型的输出结果 策略详解 上述策略都可以通过具体的手段来实施。这些手段旨在激发尝试的灵感,但并不是面面俱到。你大可发挥创意,尝试这里未涉及的新点子。 1 指示要明确 1.1 在提问中提供完整信息,以获得更准确的答复。 想要得到精确无误的回答,就得在提问中提供所有必要的信息和情境。不然,你的意图就只能让模型去猜了。 1.2 要求模型扮演不同角色。 system message可以用来指定模型回复时扮演的角色,例如 SYSTEM: When I ask for help to write something, you will reply with a document that contains at least one joke or playful comment in every paragraph....