在本教程中,我们将探讨提示的不同构成部分,以及如何规范化提示的结构,以提高其效力。虽然已经有一些方法来形式化提示工程中的术语,但我们将提供更详细的信息,以帮助您更好地理解。
提示的组成部分
以下是构成提示的一些常见组成部分:
- 角色
- 指令/任务
- 问题
- 上下文
- 示例(多示例提示中的一部分)
在之前的教程中,我们已经讨论了角色、指令和示例。问题通常是一个单一的问题,例如:“法国的首都是什么?”上下文包含与您期望模型生成的回应相关的信息。
并不是每个提示都包含所有这些组成部分,而且它们之间的顺序也没有固定的规则。例如,以下两个提示都包含了一个角色、一个任务说明和一个上下文,但它们的组成部分的顺序不同,但目标相同:
提示 1:
复制你是一名医生。请阅读这份病史并预测患者的风险: 2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。
你是一名医生。请阅读这份病史并预测患者的风险: 2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。
提示 2:
复制2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。 你是一名医生。请阅读这份病史并预测患者的风险:
2000年1月1日:打篮球时右臂骨折。戴上石膏进行治疗。 2010年2月15日:被诊断为高血压。开了利辛普利的处方。 2015年9月10日:患上肺炎。用抗生素治疗并完全康复。 2022年3月1日:在一次车祸中患上脑震荡。被送进医院接受24小时的监护。 你是一名医生。请阅读这份病史并预测患者的风险:
然而,第二个提示更好,因为指令出现在提示的末尾,这样语言模型更有可能按照指令执行,而不是深入分析与上下文相关的信息。如果使用第一个提示,模型可能更倾向于回答类似于“2022年3月15日:与神经科医生预约随访,以评估脑震荡恢复进展”的回答,而不是直接预测患者的风险。
标准提示
我们引入了术语“标准提示”,以描述只包含问题的提示,或者仅包含问题并以问答(QA)格式存在的提示。这一术语在许多引用的文章和论文中被广泛使用。我们定义这个术语是为了讨论新类型提示与标准提示的区别。
两个标准提示的示例
标准提示 1:
复制法国首都是什么?
法国首都是什么?
标准提示 2(QA 格式):
复制Q: 法国首都是什么? A:
Q: 法国首都是什么? A:
多示例标准提示
多示例标准提示是在标准提示的基础上添加了多个示例以解决任务的一种提示。在研究中,有时也直接称为标准提示,尽管我们在本指南中尽量避免使用这种术语。
两个多示例标准提示的示例
多示例标准提示 1:
复制西班牙的首都是什么? 马德里 意大利的首都是什么? 罗马 法国的首都是什么?
西班牙的首都是什么? 马德里 意大利的首都是什么? 罗马 法国的首都是什么?
多示例标准提示 2(QA 格式):
复制Q:西班牙的首都是什么? A:马德里 Q:意大利的首都是什么? A:罗马 Q:法国的首都是什么? A:
Q:西班牙的首都是什么? A:马德里 Q:意大利的首都是什么? A:罗马 Q:法国的首都是什么? A:
多示例提示有助于模型学习上下文,这意味着模型可以通过不断更新参数来学习输出结果。
阅读全文
温馨提示: