开头就下达指令:大模型最听话

OpenAI最新提示指南中有两点挺有意思的,用大白话翻译就是:
  1. 如果你要输入很长的内容,记得把你的要求(指令)在开头和结尾各写一遍
  2. 要是你觉得麻烦不想写两遍,那至少要把你的要求放在最开头

这个技巧其实对所有模型都有效。

有意思,因为那篇叫《迷失在中间位置》的论文(论文链接https://arxiv.org/pdf/2307.03172)试了两种方法:

  • 第一种:指令→文档→问题→答案
  • 第二种:(指令+问题)→文档→(指令+问题)→答案
最后发现这两种方法都不能真正解决"模型容易忽略中间内容"的问题(这个结论是基于GPT-3.5 Turbo、GPT-4和Claude 1等早期模型的实验结果)。

后来汤森路透公司发了篇新论文,发现如果在处理长文本时,每隔一定篇幅就重复一遍指令,确实比单纯把指令放在文档前后更有效。他们用的是gpt-4-1106-preview(也就是GPT-4 Turbo)。

其实说到底,哪种方法最管用完全取决于模型训练时用的数据。重点来了:如果换了新模型你不做测试验证,那结果肯定会翻车啊!