OpenAI 官方推荐六大策略:如何让 GPT 更有效率
2024年3月31日
OpenAI 更新了 GPT 的最佳实践指南 — GPT best practices,官方直接推荐六大策略,加上具体的优化方法,搭配简单易懂的例子,让你能更有效掌握 GPT 模型的强大。
我们一起来看看这六个策略包含什么吧!
指令要清晰 (write clear instructions)
GPT 不会读心术。如果觉得 GPT 回答太多,就告诉它要精简一点。如果回答得太简单,就要求要用专家的口吻。如果你不喜欢回答的格式,那就具体列出你偏好的格式。当 GPT 越不需要去猜你想要的是什么,你就更可能获得你想要的回覆。
举例来说,如果你想让 GPT 帮你总结会议记录,下方的范例一会是比较差的结果:
// 范例一 总结会议记录 --- [会议记录]
以下范例二、提供清晰的指令,会得到更好的结果:
// 范例二 用一个段落总结会议记录。然后写下演讲者的 Markdown 清单以及他们的每个要点。 最后,列出发言人建议的后续步骤或行动项目。 --- [会议记录]
提供参照(provide reference text)
GPT 有时候会很有信心地创造出虚假的回覆、一本正经说瞎话,特别是被问到关于冷僻主题,或者需要引用和网址的时候。就像一张笔记可以帮助学生在考试中得到更好的成绩一样,给 GPT 提供参考文本也可以帮助 GPT 减少虚构的答案。
举例来说,你可以用以下的指令为 GPT 提供参考文章,并让 GPT 从参考文章中回答问题:
使用下方提供的由三重引号内的文章来回答问题。 如果在文章中找不到答案,请回答“我找不到答案”。 --- """文章一""" """文章二""" """文章三""" 问题:[问题]
将复杂任务拆成简单的子任务 (split complex tasks into simpler subtasks)
就像在写程式时会把一个复杂的系统分解成许多模组一样,对 GPT 也是如此。复杂的任务错误率比较高,而且这些复杂的任务,常常可以被重定义成一系列简单任务,把简单任务串联成输入,会更可能正确解决。
举例来说,你可以透过以几种策略
- 使用分类来让 GPT 参照处理子任务
- 对于需要很长对话的对话应用,总结或过滤先前的对话
让 GPTs 有时间思考 (give GPTs time to “think”)
如果问你 17 乘以 28 是多少,你可能不会立刻知道答案,但给你一些时间你就能算出来。GPT 也是如此,当要 GPT 立刻答问题的时候,可能会出现更多的错误。在回答之前,先问问 GPT 思考过程,这样可以帮助 GPT 更可靠地推理出正确的答案。
举例来说,你可以引导 GPT 思考解题过程,让 GPT 不要直接回答问题:
首先制定自己的问题解决方案。 然后将你的解决方案与学生的解决方案进行比较,并评估学生的解决方案是否正确。 在你自己完成问题之前,不要决定学生的解决方案是否正确。 --- 问题陈述:XXX 学生的解答:XXX
善用外部工具 (use external tools)
透过将其他工具的输出结果,输入给 GPT,将可以补足 GPT 的弱点。
举例来说,文字检索系统可以告诉 GPT 相关的文件。代码执行引擎可以帮助 GPT 机器人做数学运算和执行代码。如果一个任务可以由其他工具更可靠或高效地完成,那就把它交给那个工具,接着搭配 GPT,这样可以得到两者的最佳结果。
系统性测试改变 (test changes systematically)
有些情况下,对提示词进行修改可能会在某些单独的例子上得到更好的结果; 但在其他更有代表性的例子上,我们有可能得到整体更糟的表现。因此,当我们要确定提示词的修改或策略时,会需要定义一个全面性的测试,用系统性的方式评估,才能确保提示词是最佳的,让这个改变对总体影响是正面的。