一、提示词
1.1 指南
1.1.1 写清楚并具体的指示
策略 1:使用分隔符
- 三引号:
""" - 三反引号:```
- 三破折号:
--- - 尖括号:
<> - XML 标签:
<tag></tag>
python
text = f """
需要解析总结的文本信息
"""
prompot = f """
将由三个反引号分隔的文本概括为一句话。
```{text}```
"""
response = get_completion(prompot)
print(response)

策略 2:请求结构化输出
- JSON / HTML
python
"""
prompot = f """
(Generate a list of three made-upbook titles alongwith their
authors and genres.Provide them in JSON format with
the following keys:book id, title, author, genre.)
生成三本虚构书籍的清单,包括书名、作者和类型。请用 JSON
格式提供,并包含以下键:书籍编号、书名、作者、类型。
"""
response = get_completion(prompot)
print(response)

策略 3:检查条件是否满足,检查完成任务所需的假设
python
text = f """
泡一杯茶很简单!首先,你需要把一些水烧开。在这过程中,拿一个杯子,把茶包放进去。一旦水够热,就把水倒在茶包上。让茶静置一会儿,让茶叶浸出味道。几分钟后,取出茶包。如果你喜欢,可以根据口味加一些糖或牛奶。就是这样!你就有了一杯美味的茶可以享用了。
"""
prompot = f """
您将获得由三引号分隔的文本。如果其中包含一系列指令,请按以下格式重写这些指令:
step1:...
step2:...
...
stepn:...
"如果文本中不包含一系列指令,则只需写"未提供步骤。"
\"\"\"{text}\"\"\"
"""
response = get_completion(prompot)
print(response)

python
text = f """
今天阳光明媚,鸟儿在歌唱。是去公园散步的美好一天。花儿盛开,树木在微风中轻轻摇曳。人们到处走动,享受宜人的天气。有的人在野餐,有的人在玩游戏,或者只是躺在草地上放松。这是花时间在户外、欣赏大自然美景的完美一天。
"""
prompot = f """
您将获得由三引号分隔的文本。如果其中包含一系列指令,请按以下格式重写这些指令:
step1:...
step2:...
...
stepn:...
"如果文本中不包含一系列指令,则只需写"未提供步骤。"
\"\"\"{text}\"\"\"
"""
response = get_completion(prompot)
print(response)

策略4:少量示例提示 提供完成任务的成功示例


1.1.2 给模型思考的时间
例如:短时间给出答案,用少量的词说明这个问题,就会出现模型自己猜想结果,导致结果出现不稳定性和错误性
策略 1:明确完成任务的步骤
步骤 1:...
步骤 2:...
步骤 N:...
python
text = f """
在一个迷人的村庄里,兄妹杰克和吉尔踏上了去山顶水井取水的旅程。
他们一边唱着歌一边爬山,却不幸遇到意外------杰克绊到一块石头,
从山上滚了下来,吉尔也跟着摔了下去。虽然有些擦伤,这对兄妹还是
回到了家,得到了温暖的拥抱。尽管发生了意外,他们的冒险精神依然不
减,继续愉快地探索。
"""
prompot = f """
执行以下操作:
1 - 用一句话总结用三个反引号标记的以下文本。
2 - 将总结翻译成法语。
3 - 列出法语总结中的每个名字。
- 输出一个包含以下键的 JSON 对象:
- french_summary,num_names。
- 用换行符分隔你的答案。
text
```{text}```
"""
response = get_completion(prompot)
print(response)

- 输入条件


策略2:指导模型在仓促下结论之前先自己想出解决方案
python
prompot = f """
确定学生的解决方案是否正确。
问题:
我正在建设一个太阳能发电项目,我需要帮助计算财务。土地价格为每平方英尺 100 美元。我可以以每平方英尺 250 美元的价格购买太阳能板。我谈好了维护合同,每年固定花费 10 万美元,每平方英尺额外花费 10 美元。
第一次运营年的总成本作为平方英尺数的函数是多少?
学生的解答:设 x 为安装面积(平方英尺)。费用:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100,000 + 100x
总成本:100x + 250x + 100,000 + 100x100,000
"""
response = get_completion(prompot)
print(response)

现在就是ai模糊的查看了一下我们学生的答案就给出了正确的,思考时间太少,所以我们需要在查看我们的答案的时候,首先大模型先进行自己的思考在对比我的答案才表达是否正确就可以提升正确率
python
prompot = f """
你的任务是判断学生的解答是否正确。
要解决这个问题,请按以下步骤操作:
首先,自己先解决这个问题。然后将你的解答与学生的解答进行比较,并评估学生的解答是否正确。在你自己做完问题之前,不要决定学生的解答是否正确。
使用以下格式:
问题:
"""
在此输入问题
"""
学生的解答:
"""
在此输入学生的解答
"""
实际解答:
"""
在此输入解题步骤和你的解答
学生的解答与实际解答是否一致:
是或否
"""
学生成绩:
"""
正确或错误
"""
问题:
我正在建设一个太阳能发电项目,我需要帮助计算财务。土地价格为每平方英尺 100 美元。我可以以每平方英尺 250 美元的价格购买太阳能板。我谈好了维护合同,每年固定花费 10 万美元,每平方英尺额外花费 10 美元。
第一次运营年的总成本作为平方英尺数的函数是多少?
学生的解答:设 x 为安装面积(平方英尺)。费用:
1. 土地成本:100x
2. 太阳能电池板成本:250x
3. 维护成本:100,000 + 100x
总成本:100x + 250x + 100,000 + 100x100,000
"""
response = get_completion(prompot)
print(response)

1.1.3 模型的限制
虚拟数据: 发表听起来合理但实际上不真实的陈述
解决方法:
首先找到相关信息,然后根据相关信息回答问题。
1.2 迭代提示开发思路
- 核心循环流程
- 想法(Idea):明确你想要实现的目标或构思初步的提示词方向。
- 执行(实现)(Implementation):将想法转化为具体的提示词(或结合代码 / 数据),并提交给模型。
- 实验结果(Experimental result):获取模型返回的输出结果。
- 错误分析(Error Analysis):对比预期结果和实际输出,分析偏差的原因,例如模糊的指令、遗漏的关键信息等。
- 回到想法:基于分析结论,优化你的目标构思和提示词,进入下一轮循环。
- 提示词设计核心指南
- 清晰明确:避免模糊表述,用具体、精准的语言描述需求。
- 分析偏差原因:当结果不符合预期时,要深入拆解问题出在哪个环节(如指令不明确、逻辑有漏洞)。
- 迭代优化:基于分析结果,不断调整你的目标构思和提示词的措辞、结构。
- 持续循环:重复上述步骤,直到输出结果满足你的需求。

- 给出自己想要的输出模板进行输出
就是说我们所得到的效果不是我们想要的我们就不断的在上述给出的答案继续增加我们所需要的效果
例如:
- 第一次:

- 第二次

1.4 摘要
将复杂多的文献进行总结
python
prod_review = """
给我女儿的生日买了这个熊猫毛绒玩具,她非常喜欢,随身带着到处去。它很软,非常可爱,脸上有友好的表情。不过对于我支付的价格来说,它有点小。我觉得可能有其他同样价格但更大的选择。它比预期提前一天到达,所以我在送给她之前自己先玩了一会儿。
"""
prompt = f '''
你的任务是生成来自电商网站的产品评论的简短摘要。将以下由三重反引号分隔的评论总结为不超过30个字。
评论:```(prod_review)```
response = get_completion(prompt)
print(response)

在此结论中我们也可以去指明,我们的身份或者我们用于干什么,那么所得到的结论会更加的接近
1.5 转换
可以进行语言中的转化:
中文 ---> 英文 java --> html 筛选文本等等