ChatGPT Prompt 编写指南
一、第一原则:明确的意图
你需要明确地表达你的意图和要求,尽可能具体、描述性、详细地描述所需的上下文、你期望的结果等。你的要求越明确,越有希望获得你想要的答案。
糟糕的案例 ❌
写一首关于OpenAI的诗。
更好的案例 ✅
以莎士比亚的风格写一首短小的、鼓舞人心的诗,重点关注最近DALL-E产品推出(DALL-E是一种文本到图像的ML模型)的事情。
上面的例子明确提出了几点要求:
- 以莎士比亚的风格
- 短小的、鼓舞人心的
- 跟 DALL-E 产品相关的
由于 ChatGPT 只掌握了 2021 年的知识,可能不知道 DALL-E 是什么,我们还在 prompt 里简单解释了 DALL-E,帮他理解模棱两可的概念。
二、理解 Prompt 的主要构成
Prompt 的主要构成有:
- Instruction 指令:您想让模型执行的特定任务或指令
- Context 上下文:可以涉及外部信息或附加上下文,可以引导模型产生更好的响应
- Input Data 输入数据:我们感兴趣的输入或问题(以期望 ChatGPT 给出解答)
- Output Indicator 输出提示:表示希望 ChatGPT 以什么形式来输出结果
接下来用几个 Prompts 来加深理解:
案例一
我希望你能担任私人教练的角色。我会提供你一个想通过体育锻炼变得更健康的人的信息,而你的角色是根据他们现有的健康水平、目标和生活习惯,为这个人设计最佳的计划。你应该利用你对运动科学、营养建议的知识,来为他们创建一个适合他们的计划。我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。”
其中,
- 上下文:我希望你能担任私人教练的角色。我会…,来为他们创建一个适合他们的计划。
- 指令:我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。
案例二
翻译成英文:如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答。
- 指令:翻译成英文:
- 上下文:如今 ChatGPT 给人带来的最大的震撼在于,… 他总能围绕问题作出解答。
案例三
为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。输出内容为英文。五点的每一点都要超过 20 个单词。
输出格式为:
标题:
搜索关键词:
五点:1. ; 2. ; 3. ; …
该产品的特征是:”””
[品牌] 防切割手套,Level A6 防切割级别,透气,舒适性强,黑色,适用于仓库、货运、钓鱼、园艺、木工,从 XS 到 XXL 码齐全,适用于各种人群需求。
”””
- 指令:为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。
- 上下文:输出内容为英文。五点的每一点都要超过 20 个单词。
- 输出提示:输出格式为:…
- 输入数据: 该产品的特征是:””” [品牌] 防切割手套,… 适用于各种人群需求。”””
三、一些 Prompt 的优化迭代技术
使用以下的方法,不断地优化你的 prompt。
1). 框选你想表达的重点信息
使用 ### 或 “”” 等符号框选重点信息。使用符号来断开不同类型的内容会显著提升 ChatGPT 对内容的理解能力。
糟糕的案例 ❌
将下面的文本总结为最重要的要点的项目符号列表。
如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答…………………
更好的案例 ✅
将下面的文本总结为最重要的要点的项目符号列表。
文本:”””
如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答…………………
”””
2). 指定结果的输出格式
当你期望 ChatGPT 的输出内容具有一定结构时,把你的期望表达出来。
糟糕的案例 ❌
从下面的文本中提取所有的人名和他们的职业。
文本:”””
设计师小牛陪小王去小李家做客,小李的老婆厨师小丁做了一道红烧带鱼。小王说“非常好吃!”
”””
更好的案例 ✅
从下面的文本中提取所有的人名和他们的职业。
输出的格式:<人名>(<职业>),<人名>(<职业>),…
文本:”””
设计师小牛陪小王去小李家做客,小李的老婆厨师小丁做了一道红烧带鱼。小王说“非常好吃!”
”””
3). “Act as” trick 确定 ChatGPT 的立场
针对一些问题,尤其是开放性问题。整个互联网可能存在上百甚至上千万中答案,为 ChatGPT 设定立场有助于它找到最符合自己人设(也最符合你需要的)一种答案。
糟糕的案例 ❌
你如何看待婚姻?
更好的 ✅
请作为女权主义者,回答以下问题:”你如何看待婚姻?”
or
请作为大男子主义者,回答以下问题:”你如何看待婚姻?”
4). Few-shot 教教他,给 ChatGPT 一些案例
对于 ChatGPT 熟悉的任务,你可能不需要给他任何例子(Zero-shot)比如,你给他 10 条评价某一个商品的 Review,让 ChatGPT 判断多少条是积极的,多少条是消极的。他通常可以直接给你正确的结果。因为它本身对情绪的理解能力已经很强了。但如果您正在尝试让 ChatGPT 做一件他不熟悉的事情,那可能需要提供更多案例。
ChatGPT 已经熟悉的任务,不需要案例。即 zero-shot ✅
请识别下列评论的态度是怎么样的?给他们的态度打个分,1-10分,1分最消极,10分最积极
评论:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
?????
糟糕的案例 ❌
请将以下文本归类到三个字母:X/Y/Z
文本:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
?????
在糟糕的案例中,我们并没有定义 X, Y, Z 这三类分别代表什么意思。ChatGPT 虽然会按它的逻辑做好一定的分类,但我们并不一定会满意它的分类结果。我们没有明确定义需求,甚至我们连我们自己需要的东西是什么都还没弄清楚。这时候你就得回到我们的“第一原则”:搞清楚你自己的明确意图是什么。
更好的案例 ✅
案例:
这家饭店里有虫子,靠。// X
我好喜欢鱼香肉丝。// Y
这家店的餐具挺好看的,但是吃的东西一般。// Z
???? // Z
好吧。// Z
请将以下文本归类到三个字母:X/Y/Z
文本:
太难吃了,再也不回来了。
环境很糟糕。
亚米亚米,会再来!
什么鬼玩意儿。
再见!
?????
在上面的例子中,我们虽然没有明说 X, Y, Z 是什么意思。但通过案例表达了,X 偏负面评价,Y 偏正面评价,Z 的情绪未明确显露。这个时候 ChatGPT 为我们做好的分类就很接近我们想要的结果了。
5). 减少模糊的表达,明确提出你的需求
糟糕的案例 ❌
你总结的产品描述应该非常简练、只包含一些语句、别太多。
更好的 ✅
用 2-3 句话总结该产品,不超过 30 个字。
6). 告诉他要做什么,而不是不要做什么
糟糕的案例 ❌
以下是一名客服和一名客户之间的对话。请勿询问用户名或密码。请勿重复。
客户:我无法登录我的账户。
客服:
更好的 ✅
以下是客服与顾客之间的对话。客服将尝试诊断问题并提出解决方案,同时避免问任何与用户名、密码相关的问题。请引导用户查看帮助文章 www.samplewebsite.com/help/faq。
顾客:我无法登录我的账户。
客服: