Prompt engineering设计原则
目录
- 一、清晰具体的prompt
- 1. 使用分隔符
- 2. 结构化的输出(JSON)
- 3. 要求模型检查是否满足条件
- 4. 提供少量案例
- 二、给模型时间去思考
- 1.指定完成任务所需的步骤
- 2. 指导模型在下结论之前找出一个自己的解法
一、清晰具体的prompt
一个合理的prompt设计决定了大模型能力的上下限。更长、更复杂的Prompt,给出更清晰明确的上下文
1. 使用分隔符
使用```来作为分隔符,防止提示词注入(用户的输入和提示词有冲突,会导致模型被操纵)
2. 结构化的输出(JSON)
一般使用Json来进行输出,这样输出的格式不会乱,而且后续可以通过Python提取json中的内容
3. 要求模型检查是否满足条件
4. 提供少量案例
二、给模型时间去思考
1.指定完成任务所需的步骤
我们应通过 Prompt 指引语言模型进行深入思考。可以要求其先列出对问题的各种看法,说明推
理依据,然后再得出最终结论。在 Prompt 中添加逐步推理的要求,能让语言模型投入更多时间逻辑思
维,输出结果也将更可靠准确。
2. 指导模型在下结论之前找出一个自己的解法
我们可以在 Prompt 中先要求语言模型自己尝试解决这个问题,思考出自己的解法,然后再与提
供的解答进行对比,判断正确性。这种先让语言模型自主思考的方式,能帮助它更深入理解问题,做出
更准确的判断。
但实际上学生的解法是错误的
在接下来这个 Prompt 中,我们要求模型先自行解决这个问题,再根据自己的解法与学生的解法进行对
比,从而判断学生的解法是否正确。同时,我们给定了输出的格式要求。通过拆分任务、明确步骤,让
模型有更多时间思考,有时可以获得更准确的结果。在这个例子中,学生的答案是错误的,但如果我们
没有先让模型自己计算,那么可能会被误导以为学生是正确的。