【未来力场】OpenAI研究报告:GPT 最佳实践
本指南分享了如何从GPT获取更好结果的策略和技巧。这里描述的方法有时可以组合使用以达到更大的效果。我们鼓励大家进行试验,找到最适合自己的方法。
这里演示的一些例子目前只适用于我们最强大的模型,gpt-4。如果你还没有接触到gpt-4,可以考虑加入等待名单。一般来说,如果你发现一个GPT模型在某个任务上失败,而另一个更强大的模型可用,那么重新使用更强大的模型尝试往往是值得的。
获取更好结果的六种策略
1、写清晰的指令
GPT无法读取你的思绪。如果输出结果过长,可以请求简洁的回复。如果输出结果过简单,可以请求专家级的写作。如果你不喜欢输出的格式,可以演示你想看到的格式。GPT对你想要的内容猜测得越少,你得到它的可能性就越大。
策略:
在查询中包含详细信息以获得更相关的答案
让模型采用一个人格
使用分隔符清晰地指示输入的不同部分
明确完成任务所需的步骤
提供示例
明确输出的期望长度
2、提供参考文本
GPT可以自信地虚构答案,特别是当被问及冷门话题或要求引用和URLs时。就像一张笔记可以帮助学生在考试中取得更好的成绩一样,向GPT提供参考文本可以帮助它用更少的杜撰来回答问题。
策略:
指导模型使用参考文本回答
指导模型引用参考文本中的信息来回答
3、将复杂任务拆分为简单的子任务
正如在软件工程中将复杂系统分解为一系列模块化组件是好的实践一样,提交给GPT的任务也是如此。复杂的任务比简单的任务更容易出错。此外,复杂任务往往可以重新定义为一系列简单任务的工作流,其中早期任务的输出被用来构建后期任务的输入。
策略:
使用意图分类来确定用户查询的最相关指令
对需要很长对话的对话应用程序,对前面的对话进行总结或筛选
分段总结长文档,并递归构建完整总结
4、给GPT“思考”的时间
如果要求你计算17乘以28,你可能不会立刻知道答案,但是你可以花时间算出来。同样,GPT在试图立刻回答而不是花时间算出答案时,会出现更多的推理错误。在答案之前要求一个推理链可以帮助GPT更可靠地推理出正确答案。
策略:
指导模型在仓促得出结论前先自行找出解决方案
使用内心独白或一系列查询来掩盖模型的推理过程
询问模型在之前的遍历中是否遗漏了什么
5、使用外部工具
通过将其他工具的输出输入给GPT来弥补GPT的弱点。例如,一个文本检索系统可以告诉GPT有关的文档。一个代码执行引擎可以帮助GPT进行数学运算和运行代码。如果一个任务可以被一个工具而不是GPT更可靠或更有效地完成,那么把任务外包出去以获取两者的最佳效果。
策略:
使用基于嵌入的搜索实现有效的知识检索
使用代码执行来进行更精确的计算或调用外部API
6、系统性地测试改变
如果你能衡量性能,那么改进性能就更容易。在某些情况下,对提示的一次修改可能会在少数例子中提高性能,但在更具代表性的例子集上导致整体性能下降。因此,为了确定改变对性能的净效益,可能需要定义一个全面的测试套件(也称为"eval")。