# Prompt编写技巧
## 原则1 编写明确和具体的指令
### 1、使用分隔符将需要处理的文本分隔开
比如:
'''(text)'''
"""(text)"""
---(text)---
<(text)>
<tag>(text)</tag>
### 2、要求结构化输出
Prompt:
生成三个虚构的书名以及他们的作者和类型的列表,并以Json格式提供以下keys,即书籍ID、标题、作者和类型。
输出:
以下是三个虚构书籍的信息,以JSON格式提供:
```json
[
{
"书籍ID": "001",
"标题": "《梦境编织者》",
"作者": "莉莉安·莫尔",
"类型": "奇幻文学"
},
{
"书籍ID": "002",
"标题": "《钢铁之翼》",
"作者": "马克斯·雷诺兹",
"类型": "科幻小说"
},
{
"书籍ID": "003",
"标题": "《迷雾之城的秘密》",
"作者": "艾米丽·霍桑",
"类型": "悬疑推理"
}
]
```
### 3、要求模型检查是否满足条件
如果任务存在未必满足的假设,可告诉模型首先检查这些假设,如果不满足,则指示停止完成任务。
Prompt1:
"""做蛋糕非常简单,将鸡蛋的蛋清和蛋黄分离,蛋清加入糖打发至硬性发泡,蛋黄与低筋面粉、牛奶、油等混合后,将蛋白霜分次加入蛋黄糊中翻拌均匀,倒入模具中烘烤。烘烤温度一般为150-180度,时间约为30-40分钟,烘烤完成后蛋糕就做好了。"""
对以上三个引号界定的文本,如果文本包含一系列的指示,重写那些指示并按照以下格式写出步骤:
步骤1 - ...
步骤2 - ...
...
步骤N - ...
如果文本不包含指示序列,则写入“未提供步骤”。
输出1:
以下是按照步骤格式重写的指示:
步骤1 - 将鸡蛋的蛋清和蛋黄分离。
步骤2 - 在蛋清中加入糖,打发至硬性发泡。
步骤3 - 将蛋黄与低筋面粉、牛奶、油等混合均匀。
步骤4 - 将打发好的蛋白霜分次加入蛋黄糊中,翻拌均匀。
步骤5 - 将混合好的面糊倒入模具中。
步骤6 - 将模具放入预热好的烤箱,设置烘烤温度为150-180度,时间约为30-40分钟。
步骤7 - 烘烤完成后,取出蛋糕,冷却后即可享用。
Prompt2:
"""蛋糕是一种面食,通常是甜的,典型的蛋糕是以烤的方式制作出来。蛋糕的材料主要包括了面粉、甜味剂(通常是蔗糖)、黏合剂(一般是鸡蛋,素食主义者可用面筋和淀粉代替)、起酥油(一般是牛油或人造牛油,低脂肪含量的蛋糕会以浓缩果汁代替),液体(牛奶、水或果汁),香精和发酵剂(例如酵母或者发酵粉)。"""
对以上三个引号界定的文本,如果文本包含一系列的指示,重写那些指示并按照以下格式写出步骤:
步骤1 - ...
步骤2 - ...
...
步骤N - ...
如果文本不包含指示序列,则写入“未提供步骤”。
输出2:
未提供步骤
### 4、少量训练提示
要求模型执行任务之前,提供成功执行任务的实例。
Prompt:
你的任务是要以一致的语气回答。
<老师>:简单介绍一下电视机。
<学生>:电视机(television set),是指根据人眼的视觉暂留特性和视觉心理,利用电子技术传送活动的图像画面和音频信号的设备,即电视接收机。也是重要的广播和视频通信工具。电视机的基本系统由摄像、传输和显像3部分组成。
<老师>:简单介绍一下电脑。
输出:
电脑(computer)是一种能够按照程序指令进行高速运算和信息处理的电子设备。它由硬件和软件两部分组成,硬件包括主机、显示器、键盘、鼠标等外设,软件则包括操作系统和各种应用程序。电脑广泛应用于办公、教育、娱乐、科学研究等多个领域,是现代社会不可或缺的信息处理工具。
## 原则2 给模型思考的时间
### 1、指定完成任务所需的步骤
Prompt:
文本:
```小明和小红是邻居,他们关系很好。每天放学后,他们都会一起回家。有一天,小明生病了,小红主动去照顾他。她给小明买来了药,还给他煮了一碗热腾腾的鸡汤。小明感动得热泪盈眶,他紧紧地握住小红的手说:“谢谢你,小红!你真是个好朋友!”从那以后,小明和小红更加珍惜彼此的友谊。他们一起学习,一起玩耍,一起成长。```
执行以下操作:
1 - 用一句话总结以上由三个反引号界定的文本。
2 - 将总结翻译成英语。
3 - 在英语总结中列出每个人的名字。
4 - 输出一个JSON对象,其中包含以下Keys:英语总结,名字。
输出:
以下是按照要求完成的操作:
1 - **总结**:小明生病时,小红主动照顾他,两人友谊更加深厚,共同学习成长。
2 - **英语总结**:When Xiao Ming fell ill, Xiao Hong took care of him, which deepened their friendship, and they grew together through learning and playing.
3 - **名字**:Xiao Ming, Xiao Hong
4 - **JSON对象**:
```json
{
"英语总结": "When Xiao Ming fell ill, Xiao Hong took care of him, which deepened their friendship, and they grew together through learning and playing.",
"名字": ["Xiao Ming", "Xiao Hong"]
}
```
### 2、指示模型在匆忙做出结论之前思考解决方案
Prompt1:
确认学生的解决方案是否正确。
问题:
我正在建设一个太阳能发电装置,需要帮助计算财务数据。
- 场地成本为每平方米100元
- 我可以以每平方米250元的价格购买太阳能电池板
- 我协商了一份维护合同,每年固定费用为10万元,另外每平方米10元
写出一个函数来表示第一年运营的总成本,函数以平方米数作为自变量。
学生的回答:
设x为装置的平方米数。
成本:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100000 + 100x
总成本:100x + 250x + 100000 + 100x = 450x + 100000
输出1:
学生的解决方案是正确的。
Prompt2:
你的任务是判断学生的解决方案是否正确。
要解决这个问题,请按照以下步骤进行:
- 首先,先自己解决这个问题。
- 然后,比较你的解决方案和学生的解决方案,评估学生的解决方案是否正确。在你自己解决问题之前,不要决定学生的解决方案是否正确,一定要确保自己解决问题。
使用以下格式:
问题:
```
问题描述
```
学生的解决方案:
```
学生的解决方案描述
```
实际的解决方案:
```
实际的解决方案描述
```
实际的解决方案和学生的解决方案是否一致:
```
一致或不一致
```
学生方案评估:
```
正确或不正确
```
问题:
我正在建设一个太阳能发电装置,需要帮助计算财务数据。
- 场地成本为每平方米100元
- 我可以以每平方米250元的价格购买太阳能电池板
- 我协商了一份维护合同,每年固定费用为10万元,另外每平方米10元
写出一个函数来表示第一年运营的总成本,函数以平方米数作为自变量。
学生的回答:
设x为装置的平方米数。
成本:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100000 + 100x
总成本:100x + 250x + 100000 + 100x = 450x + 100000
输出:
问题:
```
我正在建设一个太阳能发电装置,需要帮助计算财务数据。
- 场地成本为每平方米100元
- 我可以以每平方米250元的价格购买太阳能电池板
- 我协商了一份维护合同,每年固定费用为10万元,另外每平方米10元
写出一个函数来表示第一年运营的总成本,函数以平方米数作为自变量。
```
学生的解决方案:
```
设x为装置的平方米数。
成本:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100000 + 100x
总成本:100x + 250x + 100000 + 100x = 450x + 100000
```
实际的解决方案:
```
设x为装置的平方米数。
成本:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100000 + 10x
总成本:100x + 250x + 100000 + 10x = 360x + 100000
```
实际的解决方案和学生的解决方案是否一致:
```
不一致
```
学生方案评估:
```
不正确
```