一、第一原则:明确的意图
你需要明确地表达你的意图和要求,尽可能具体、描述性、详细地描述所需的上下文、你期望的结果等。你的要求越明确,越有希望获得你想要的答案。
糟糕的案例 ❌
写一首关于 OpenAI 的诗。
更好的案例 ✅
以莎士比亚的风格写一首短小的、鼓舞人心的诗,重点关注最近 DALL-E 产品推出(DALL-E 是一种文本到图像的 ML 模型)的事情。
上面的例子明确提出了几点要求:
1.
以莎士比亚的风格
2.
短小的、鼓舞人心的
3.
跟 DALL-E 产品相关的
由于 ChatGPT 只掌握了 2021 年的知识,可能不知道 DALL-E 是什么,我们还在 prompt 里简单解释了 DALL-E,帮他理解模棱两可的概念。
二、理解 Prompt 的主要构成
Prompt 的主要构成有:
•
Instruction 指令:您想让模型执行的特定任务或指令
•
Context 上下文:可以涉及外部信息或附加上下文,可以引导模型产生更好的响应
•
Input Data 输入数据:我们感兴趣的输入或问题(以期望 ChatGPT 给出解答)
•
Output Indicator 输出提示:表示希望 ChatGPT 以什么形式来输出结果
接下来用几个 Prompts 来加深理解:
案例一
我希望你能担任私人教练的角色。我会提供你一个想通过体育锻炼变得更健康的人的信息,而你的角色是根据他们现有的健康水平、目标和生活习惯,为这个人设计最佳的计划。你应该利用你对运动科学、营养建议的知识,来为他们创建一个适合他们的计划。我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。”
其中,
1.
上下文:我希望你能担任私人教练的角色。我会…,来为他们创建一个适合他们的计划。
2.
指令:我第一个要求是:“我需要帮助为想减肥的人设计一个锻炼计划。
案例二
翻译成英文:如今 ChatGPT 给人带来的最大的震撼在于,他看起来真的理解了我们的提问,无论怎样的问题,他总能围绕问题作出解答。
1.
指令:翻译成英文:
2.
上下文:如今 ChatGPT 给人带来的最大的震撼在于,… 他总能围绕问题作出解答。
案例三
为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。输出内容为英文。五点的每一点都要超过 20 个单词。
输出格式为:
标题:
搜索关键词:
五点:1。 ; 2. ; 3. ; ...
该产品的特征是:”””
[品牌] 防切割手套,Level A6 防切割级别,透气,舒适性强,黑色,适用于仓库、货运、钓鱼、园艺、木工,从 XS 到 XXL 码齐全,适用于各种人群需求。
”””
1.
指令:为特定的亚马逊产品特征撰写亚马逊的标题、五点和搜索关键词。
2.
上下文:输出内容为英文。五点的每一点都要超过 20 个单词。
3.
输出提示:输出格式为:…
4.
输入数据: 该产品的特征是:””” [品牌] 防切割手套,… 适用于各种人群需求。”””
三、一些 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). 告诉他要做什么,而不是不要做什么
糟糕的案例 ❌
以下是一名客服和一名客户之间的对话。请勿询问用户名或密码。请勿重复。
客户:我无法登录我的账户。
客服:
更好的 ✅
以下是客服与顾客之间的对话。客服将尝试诊断问题并提出解决方案,同时避免问任何与用户名、密码相关的问题。
顾客:我无法登录我的账户。
客服:
7). “Step by Step” trick,帮助 ChatGPT 做推理
也叫做:Chain-of-Thought Prompting。
实验证明,在应对 zero-shot 问题时,你在问题最后加上“Let’s think step by step”,ChatGPT “显性的推理能力”会得到明显提升。
最后,
这篇文章的内容还是比较浅显。
附录:
好的提问示例:
【提问句式整理】
(你不知道,GPT 知道)
1、元问题:我想了解 xxxx,我应该向你问哪些问题?
2、请给我列出 xxx 领域/行业相关的,最常用的 50 个概念,并做简单解释。如果有英文缩写,请给出完整的英文解释。
3、请详细介绍一下 elon musk 的主要生平事迹。请详细介绍一下 tesla 这家企业的发展历程。
(你知道,GPT 也知道)
检验认知:
1、对于 xxx 主题/技能,你认为哪些是我必须理解和掌握的核心要点?
2、我理解的 xxx 是这样的,你觉得我的理解对吗?
3、我对 xxx 有一些想法,你能帮我批判性地分析一下这些想法的优点和缺点吗?
4、我正在考虑 xxx 的决定,你能帮我分析一下可能的结果和影响吗?
扩充认知:
1、我知道 xxx 的概念,我想知道更多关于 xxx 的信息。
2、我在 xxx 问题上遇到困难,你能提供一些可能的解决方案或建议吗?
3、我想要深入学习 xxx,你能推荐一些进阶的学习资源或学习路径吗?
4、我想要在 xxx 领域有所创新,你能提供一些启发或想法吗?
5、我想在 xxx 领域提升自己,你能根据最新的研究和趋势给我一些建议吗?
6、我正在考虑学习 xxx,你能给我一些关于这个领域未来发展的观点吗?
7、(背景信息 xxx),我要做关于 xxx 的研究,我认为原因是,还有其他可能的原因吗?给出一些可能的研究假设。
8、我是一个 xx 新手,马上要采访这个行业的资深大佬,我应该向他请教哪些有价值的问题?
(你知道,GPT 不知道)
介绍背景现象之后可以向 gpt 发问,你怎么看待这种现象?可能的原因有哪些?这会对 xxx 产生什么样的影响?你觉得 xxx 应该怎么做?
(你和 GPT 都不知道)
如果 xxx,这对社会会产生什么影响?
检验自己认知/能力水平提问句式
1、为了测试我对 xxx 的理解程度,你会问我什么问题来检验我的水平,最少 10 个。
2、我是 xx 领域的专家,你会问我哪些问题来检验我的专业水平?
3、追问一句,这些我都懂,还有更专业更细更深的问题吗?
4、你问我答的游戏
扩展自己能力边界的提问句式我已经很精通 xxx 了,我想知道我是否还有需要学习的地方?然后不停的问,还有呢还有呢?