目录

Prompt-engineering设计原则一

Prompt engineering设计原则(一)

一、清晰具体的prompt

一个合理的prompt设计决定了大模型能力的上下限。更长、更复杂的Prompt,给出更清晰明确的上下文

1. 使用分隔符

使用```来作为分隔符,防止提示词注入(用户的输入和提示词有冲突,会导致模型被操纵)

https://i-blog.csdnimg.cn/direct/d79bc4e7aedd4b34bdaa8c3e798a98c3.png

2. 结构化的输出(JSON)

一般使用Json来进行输出,这样输出的格式不会乱,而且后续可以通过Python提取json中的内容

https://i-blog.csdnimg.cn/direct/dc9a00dc608647f08a2f25a0c9c0150d.png

或者以直接给出json模板的形式

https://i-blog.csdnimg.cn/direct/5a535175ff04402cbcfa223b470cc340.png

这里要注意,

在 prompt 模板中,系统会把 JSON 示例中的 { 误认为是变量占位符了。需要用双大括号 { { 来转义。

所以json内容在{ { }}中,变量占位符用 {}

而且json的键对应的字典也需要在{ {}}中

3. 要求模型检查是否满足条件

https://i-blog.csdnimg.cn/direct/586049f562fd401c80e6d0e5259e0c3d.png

4. 提供少量案例

https://i-blog.csdnimg.cn/direct/6dc2d201e6fc484bbafbb5d5f2962a39.png

二、给模型时间去思考

1.指定完成任务所需的步骤

我们应通过 Prompt 指引语言模型进行深入思考。可以要求其先列出对问题的各种看法,说明推

理依据,然后再得出最终结论。在 Prompt 中添加逐步推理的要求,能让语言模型投入更多时间逻辑思

维,输出结果也将更可靠准确。

https://i-blog.csdnimg.cn/direct/ee05dcb05aef4913afff8447b6580fa8.png

https://i-blog.csdnimg.cn/direct/fa9170162f9e4a3d94ac87d16b71ad4b.png

2. 指导模型在下结论之前找出一个自己的解法

我们可以在 Prompt 中先要求语言模型自己尝试解决这个问题,思考出自己的解法,然后再与提

供的解答进行对比,判断正确性。这种先让语言模型自主思考的方式,能帮助它更深入理解问题,做出

更准确的判断。

https://i-blog.csdnimg.cn/direct/4f607a1b0f8a43d190818918cf39911c.png

但实际上学生的解法是错误的

在接下来这个 Prompt 中,我们要求模型先自行解决这个问题,再根据自己的解法与学生的解法进行对

比,从而判断学生的解法是否正确。同时,我们给定了输出的格式要求。通过拆分任务、明确步骤,让

模型有更多时间思考,有时可以获得更准确的结果。在这个例子中,学生的答案是错误的,但如果我们

没有先让模型自己计算,那么可能会被误导以为学生是正确的。

https://i-blog.csdnimg.cn/direct/0c18dca82e004d77b1e4de755f838635.png