
提示工程
|
149
顺序
在提示词的开头或结尾放置指令。特别是对于长提示词,中间的信息往往会被遗忘
1
。
LLM
往往会关注提示词的开头部分(首位效应)或结尾部分(近因效应)。
其中,具体性可以说是最重要的。通过限制和明确模型应该生成的内容,可以减小生成与
使用场景无关内容的可能性。例如,如果我们不添加“
in two to three sentences
”这个指令,
它可能会生成完整的段落。就像人类对话一样,如果没有具体的指令或附加的上下文,模
型很难判断实际任务是什么。
6.3
高级提示工程
从表面上看,创建一个好的提示词似乎很简单,只需要提出一个具体的问题,做到准确,
添加一些示例就可以了。然而,提示工程实际上可能会很快变得很复杂,在使用
LLM
时,
这个环节常常被低估。
在这里,我们将介绍几种构建提示词的高级技术,从构建复杂提示词的迭代工作流开始,
到使用一连串的
LLM
获得更好的结果。最终,我们甚至会讲到高级推理技术。
6.3.1
提示词的潜在复杂性
正如我们在
6.2
节中探讨的那样,提示词通常由多个组件组成。在我们的第一个示例中,
提示词包含了指令、数据和输出指示器。如前所述,提示词并不限于这三个组件,你可以
根据需要构建任意复杂的提示词。
这些高级组件可以很快让提示词变得相当复杂。一些常见的组件如下。
角色定位
描述
LLM
应该扮演什么角色。例如,如果你想问一个关于天体物理学的问题,可以使
用“你是一位天体物理学专家”。
指令
任务本身。指令应该尽可能具体,避免留下太大的解释空间。
上下文
描述问题或任务背景的附加信息。它回答了“为什么提出这个指令”这样的问题。 ...