1.Prompt Engineering的意义
Prompt的设计在很大程度上决定着LLM性能发挥的上下限,提供一个好的Prompt才能使LLM的能力得到充分发挥。
Prompt的设计有以下两个关键原则:
1.编写清晰
2.具体的指令和给予模型充足的思考时间
2.Prompt设计的原则及使用技巧
2.1 编写清晰、具体的指令
Prompt 需要清晰明确地表达需求,提供充足上下文,不要过于繁琐或简陋
以下是几个相关技巧:
1.使用分隔符如```,""",< >, ,: 等清晰地表示输入的不同部分,但要注意输入的内容不要与你的预设 Prompt 相冲突,以预防提示词注入(Prompt Rejection)
2.寻求结构化的输出,即按照某种格式组织的内容输出,例如 JSON、HTML 等
3.要求模型在回答前先检查是否满足任务中预设的条件,如果不满足,则指出并停止执行后续的完整流程
4.提供少量示例“预热”语言模型,让它为新的任务做好准备
2.2给模型时间去思考
通过 Prompt 引导语言模型进行深入思考,可以要求其先列出对问题的各种看法,说明推理依据,然后再得出最终结论。
以下是几个相关技巧:
1.指定完成任务所需的步骤,将一个复杂任务拆分成数个子任务交给大模型来完成
2.指导模型在下结论之前找出一个自己的解法,常应用于判断性问题上,如果让模型直接进行判断,模型可能因“幻觉”问题而给出错误判断,因此可先让模型自己思考问题,再将自己的思考与问题相比对给出正确率更高的回答(在引导模型自己回答问题时注意采用先前提到的几个技巧)