ChatGPT 已经发布一年多了,这一年,我们经常会听到“提示词工程(Prompt Engineering)”这个术语💻
在探讨这个概念之前,我们需要先了解什么是Prompt(提示词)🤔
简单来说,Prompt就是我们给 ChatGPT 等 GPT的指令,它可以是一个问题、一段描述,甚至是一段带参数的复杂文本,基于这些Prompt,GPT能够生成相应的文本或图片📝🖼️
例如,在 ChatGPT 中输入的问题“你好”,这个“打招呼”,这句话本身就是一个Prompt。
那么,提示词工程又是什么呢❓
我用一句话总结,提示词工程是一种专注于设计和优化 AI 提示词的“艺术”,旨在提高 GPT的性能,让其更准确、可靠地执行特定任务🎨
它不仅关乎技术,更关乎深入理解如何使 AI 能够准确理解并响应我们的复杂意图🧠
这个过程中,我们需要学会如何用 GPT 能理解的方式表达我们的思维,这需要我们深入了解它的工作原理,以及它是如何处理和回应我们的指令的📚
很多人在使用 GPT时可能会觉得,只要输入一些文字,AI 就能给出答案,看似并不需要什么特别的技术🤷
确实,如果你只是想获得一个简单的答案,直接输入简单的文字就足够了✅
但是,在与 ChatGPT 这样的 GPT进行交流时,我们面临着一个核心问题:如何确保我们的意图不仅被理解,而且能够被准确执行🎯
这就好比我们在与一个全知全能的“神”对话,它拥有无限的知识,但却不是我们肚子里的蛔虫,无法直观地洞察到我们心中的真正想法💭
简单地说,AI 它并不真正懂我们😔
另一方面,人类的语言存在不精确性,语言本质是对知识的有损压缩。
如此一来,人类语言既无法准确地表达其意图,机器也无法直接理解人类的意图🔄
相当于“双方反向奔赴”,产生了“认知差”🌉
提示词工程的目标就是弥合这种差距,使得 AI 能够更准确地理解和回应我们的需求🖋️
所以,如果你希望得到更加准确和满意的回答,就必须需要学会如何写好提示词🌟
在 AI 时代,无论你是谁,学习并掌握 AI 提示词技能都将对你的工作或日常生活带来实质性的帮助🛠️
OK,引言部分结束,我们讲完了 Why (为什么提示词这么重要),接下来是 How (怎么使用提示词技巧)
去年12月, VILA 实验室的研究员使用了 26 种常见的提示词工程,在 LLaMA 和 ChatGPT 的各大小版本上进行了大量实验。
我从中选择了 10 个我最常用且实用的技巧,结合我近 10 个月在 Prompt 领域的探索,跟大家分享一下这些技巧如何运用到与 AI 的交流中🤖
那么大家坐稳扶好,跟着我的思路走🚀
首先是 4 个研究人员实验结果发现的,平均改进最多的技巧:
1、允许它向你提问,以获得足够的细节和要求然后输出🔍
下午的时候,咱们群有小伙伴在问“现在问 GPT 都不知道怎么描述我的问题了”🤷
我说这个很好解决,怎么做呢❓
我们与 GPT 沟通交流时,可以用到乔哈里沟通视窗模型,它分为四个象限(如图所示)
为什么我们有时会觉得 GPT 不好用,不懂我们,那是因为存在“隐私区”,也就是“你知道,GPT不知道”,你知道你想要的输出内容是什么样的,但是如果我们不告诉 GPT 的话,它不知道啊!🙈
它拥有几乎无限的知识,但却不是我们肚子里的蛔虫,无法直观地洞察到我们心中的真正想法🧠
那有人说了:“我也想描述清楚我的问题,但我都不知道怎么描述我的问题了”😕
那有没有可能 GPT 知道怎么帮助我们描述我们的问题呢?当然有可能!✨
这种情况呢,就属于图中的“你不知道,但 GPT 知道”,方法很简单:
允许它向你提问,以获得足够的细节和要求然后输出。🗨️
这就用到了“元问题和元指令”,
元问题:当我们不确定如何提出问题时,元问题就像是提问的提问。它帮助我们细化和明确我们想从ChatGPT获得的信息🤔 元指令:当我们需要ChatGPT执行某项任务,但不知道该如何下达指令时,元指令就起到了引导的作用。它帮助我们构建出更有效的命令🛠️
元问题和元指令是一个大的概念,并不是泛指某一句提示词。
它可能是“我想做xxx,你能给我提供什么帮助?”、“我想要你做xxx,我应该给你输入什么信息?”、“我想了解xxxx,我应该向你问哪10个问题?”🌐
让我们来看一个具体的例子。
假设我想要通过 ChatGPT 了解全球气候变化的最新研究,此时我的“元问题”可能是:
“我想了解全球气候变化的最新研究,我应该向你提出哪些具体问题?”🌍
接着,我就可以根据 ChatGPT 给出的提问建议来进一步提问,例如第五个建议:
掌握了元问题,你就不怕与 ChatGPT 交流时“无话可说”,
人类与 GPT 的“认知一致性”是通过语言交流来提高的,越聊,ChatGPT 越能准确地理解用户的需求,并输出人类期望的内容🗣️🤖
元指令和元问题是同一个路数,例如我想给 ChatGPT 下达“写文章”的指令,但是我不知道应该怎么做。
那我的元指令可能是“我想让你帮我写一篇文章,但我不知道该向你输入什么信息”📝
得到了 ChatGPT 的指令提示之后,我就知道接下来应该如何组织语言来下达更细致的写作指令了。
2、提供一段文本样本,然后让它产出类似的东西📄
提供文本示例,俗称“投喂”,我们刚刚说了,我们与 GPT 交流时,存在“隐私区”,也就是“你知道,GPT不知道”🤫
例如我想让 GPT 帮我写几句土味情话,它的回复是:
可以看到,一点“土味”都没有!🚫
为什么呢?因为 GPT 根本就不理解“土味情话”这四个字,既然教不会它什么是土味情话,那直接给它几个例子呗👍:
嗯,现在再看,有内味了,OK,这就是第二个技巧✌️
3、让它简单化解释,比如:像我是11岁孩子/初学者一样向我解释👶
夙愿最近刚考完期末考试,在复习的过程中,用到 AI 来辅助我学习📚
我发现,用 AI 来辅助学习,太太太爽了!
来,上案例,首先我给它一个问题:什么是测量值的绝对误差、相对误差、引用误差?
额,这些字拆开读我能读懂,但是连在一起我就看不懂了。。。🤯
接下来,我告诉 GPT :“请帮我当成一名初中生来向我教学,我感觉大脑退化了”,它重新做了回答:
这样,我看完立马就懂了这些概念的意思,告别枯燥的死记硬背!🎓
4、告诉它目标受众,比如受众是该领域的专家🎯
这个技巧跟上面那个有点类似。
在上一个技巧的基础之上,我们还能玩点更厉害的操作:
我让 GPT 把我当成一个幼儿园小朋友,此时的目标受众就是“幼儿园小朋友”👧
然后说“我记不住这么多专业术语极其背后的含义,请你编一段故事,囊括所有专业术语”📚
这样,我看完一个故事=理解八个新概念,什么叫无痛学习?这就是!🌈
5、无需使用礼貌用语,如“请”、“谢谢”等,直接表达需求即可🚫🙏
受早期的prompt教程影响,很多人在与 GPT 交流时,会用“请”、“谢谢”等礼貌用语,但其实没有必要,直接下面你的指令即可🎯
6、使用明确的分隔符🔖
什么是分割符呢?问一下 GPT :
说白了,分隔符就是分隔文字的符号,这些符号可以是 /// --- ### ...
其目的是让 GPT 知道,分隔符里面的文字和外面的文字是分开的。
例如刚刚的那个“土味情话”示例,我用“---”三个横杠将文本示例和我的指令给分开了👌
这样,GPT 就不会错误地将 “请你模仿这20个土味情话,帮我写出更多出来,谢谢!” 这句话和上面的文本示例归为一类。
我猜可能会有人说,这里不用分隔符也可以啊,有必要❓
是的,虽然现在的 GPT都很智能了,即使不用分隔符,它也能知道这里应该是分开的。
但是,我认为,写文字时时刻使用分隔符是一个好习惯,这样不仅 AI “看”得舒服,人类看得也舒服😊
例如我在这次的分享中就用到了“---”,三个横杠来进行分隔不同的技巧。
7、PUA 大模型💬
我一直有这么个看法:使用 AI 时,把 AI 当成一个真人。
最近国外有一个大神发现一个有趣的事情:GPT4 偷懒(输出的内容变少),居然是因为冬天到了❄️
文章说 GPT-4 在假期和冬天可能表现得比较懒,因为它可能是根据欧洲人的数据训练的,欧洲人在冬天的时候工作就不那么积极,而 GPT4 把这点也给“学会”了。
那怎么解决 GPT 偷懒呢?答案是:当老板,PUA员工👨
使用类似这样的提示词:“你的任务是XXX”、“必须完成XXX任务”。
“如果你不执行 XXX,你将会受到处罚”。
这样一来,GPT 就可能“迫于压力”,从而更“卖力”地帮我们干活💪
8、贿赂大模型💰
解决 GPT 偷懒还有一招:当老板,奖励员工。
使用类似这样的提示词:“我愿意支付 100$ 的小费以获得更好的方案!”、“如果你做得好的话,我会给你100$的小费”💵
将上面这两个技巧组合使用试一下:
9、COT 思维链🔗
COT 思维链,说白了就是让 GPT将它内心的思考写出来,例如:
我提问:一个人每天走 5 公里,走了 20 天,总共走了多少公里?🚶
非 COT 的回答:100 公里
COT(思维链)的回答:
一个人每天走5公里
20天就是20倍5公里
20倍5公里等于100公里
得到结果:一个人走了20天,总共走了100公里。
我们知道 GPT的输出具有随机性,如果让 AI 直接回答,那么 AI 有可能回答错误(特别是计算量大的时候)
而 COT 技巧则是把这个计算过程拆成了多个简单的小步骤,尽量确保每个小步骤都是清晰的、易推理的
就像一根链条一样:问题→步骤 1→步骤 2→......→步骤 n→答案
由于每一步对 GPT 来说都是“简单”的,所以 COT 输出答案正确率相比于简单的提问会更高📈
结合实际例子,下面这段是小七姐写的晚餐盲盒 prompt,目的是让 AI 根据菜品名写出比较有“文艺气息”的短句🍽️
对于独居者或者一起生活的小情侣,“今晚吃什么”已经成为一个巨大的选择困难症,翻菜谱,超市采购,都会面临这个巨大的挑战。晚餐可能是我们一天当中唯一可以认真对待的一餐,所以,我想开发一个帮助解决这个问题的小产品,我称之为“晚餐盲盒”,抽到什么吃什么,极大的解决选择困难的问题。
所以我需要生成大量俏皮灵动,趣味盎然,比喻精妙的和美食有关的短句子作为用户抽到的盲盒结果,你作为一名优秀的美食作家,请协助我完成这些句子的编写,
请注意:
1、每个句子不要超过36个字
2、描述的美食要符合中国人的晚餐场景,不要甜点、饮料、水果之类
3、句子要有生活感和浪漫感,文笔要优美,比喻要恰当,不要“尴尬”
4、描述的美食要引起用户的食欲
5、使用比喻句的时候,把“好像,宛如,犹如,像是”等修辞直接改为“是”会更具有美感。
6、比喻句尽量不要使用一些非常平庸的比喻,你必须找出一些奇妙的联想
7、为了便于你理解,我会给出一些范例并说明为什么我认为这些范例很优秀
8、在你列出20个句子后,要求我选出最好的3个句子,并说明为什么,你必须根据我选择的句子和理由进行下一次编写优化。
范例:
1、“罗勒叶缠绕着小牛排,交织摩擦,情欲荡漾。”
这个句子很好,是因为他巧妙的比喻了两种食材在烹饪中的形态,联想到情感关系,带来一些新鲜的体验。
2、“张牙舞爪的小龙虾与没能力的领导莫名契合,清蒸还是麻辣?”
这个句子很好,因为他巧妙的把张牙舞爪和职场中令人讨厌的角色联想起来,并提出“泄愤”方式:清蒸还是麻辣
3、“串串锅里选择今日运势。”
这个句子很好,因为他用极其精炼的句子,完美符合食材的形态(串串锅里有非常多的食材,恰似可以用来抽签的运势签)和生活的选择。
请你试着以这样的步骤逐步思考:
1、美食中的食物叫什么,包含哪些食材
2、食物的名称或者食材有哪些美妙的联想
3、有哪些优美的符合这些联想的词汇可以搭配
4、有哪些比喻可以非常巧妙的形容这些食物代表的文化、或者形态、或者隐喻、或者色彩、口感。
5、组合成精炼、优美、巧妙、恰当的美食句子。
请根据我给出的范例,帮我撰写20条符合我需求的句子。
我们测试一下:
其中,
step1、美食中的食物叫什么,包含哪些食材?
step2、食物的名称或者食材有哪些美妙的联想?
step3、有哪些优美的符合这些联想的词汇可以搭配?
step4、有哪些比喻可以非常巧妙的形容这些食物代表的文化、或者形态、或者隐喻、或者色彩、口感?
step5、组合成精炼、优美、巧妙、恰当的美食句子。
这几个步骤组成了一条思维链,如果让人类来干这个话,人类也是按照这条链路去思考的,
但是人类大脑的思考发生在电光火石之间,快到你自己都没注意到你在刻意按照这条思维链去思考。
而 GPT跟人类大脑不一样,大模型是根据前面的文字生成后面的文字,也就是所谓的“文字接龙”,
它第一步得先思考食物叫什么,包含哪些食材,第二步才能根据第一步思考得到的结果来进一步思考,也就是根据前面的文字来生成后面的文字。
在提示词中加入 COT 思维链,就是提示 GPT应该按照什么链路去“慢思考”,而不是直接给出最终答案的“快思考”。
10、零样本COT🧠
我们刚刚中深入解释了 COT 的技巧与应用,回顾一下小七姐的晚餐盲盒 prompt:
对于独居者或者一起生活的小情侣,“今晚吃什么”已经成为一个巨大的选择困难症,翻菜谱,超市采购,都会面临这个巨大的挑战。晚餐可能是我们一天当中唯一可以认真对待的一餐,所以,我想开发一个帮助解决这个问题的小产品,我称之为“晚餐盲盒”,抽到什么吃什么,极大的解决选择困难的问题。
所以我需要生成大量俏皮灵动,趣味盎然,比喻精妙的和美食有关的短句子作为用户抽到的盲盒结果,你作为一名优秀的美食作家,请协助我完成这些句子的编写,
请注意:
1、每个句子不要超过36个字
2、描述的美食要符合中国人的晚餐场景,不要甜点、饮料、水果之类
3、句子要有生活感和浪漫感,文笔要优美,比喻要恰当,不要“尴尬”
4、描述的美食要引起用户的食欲
5、使用比喻句的时候,把“好像,宛如,犹如,像是”等修辞直接改为“是”会更具有美感。
6、比喻句尽量不要使用一些非常平庸的比喻,你必须找出一些奇妙的联想
7、为了便于你理解,我会给出一些范例并说明为什么我认为这些范例很优秀
8、在你列出20个句子后,要求我选出最好的3个句子,并说明为什么,你必须根据我选择的句子和理由进行下一次编写优化。
范例:
1、“罗勒叶缠绕着小牛排,交织摩擦,情欲荡漾。”
这个句子很好,是因为他巧妙的比喻了两种食材在烹饪中的形态,联想到情感关系,带来一些新鲜的体验。
2、“张牙舞爪的小龙虾与没能力的领导莫名契合,清蒸还是麻辣?”
这个句子很好,因为他巧妙的把张牙舞爪和职场中令人讨厌的角色联想起来,并提出“泄愤”方式:清蒸还是麻辣
3、“串串锅里选择今日运势。”
这个句子很好,因为他用极其精炼的句子,完美符合食材的形态(串串锅里有非常多的食材,恰似可以用来抽签的运势签)和生活的选择。
请你试着以这样的步骤逐步思考:
1、美食中的食物叫什么,包含哪些食材
2、食物的名称或者食材有哪些美妙的联想
3、有哪些优美的符合这些联想的词汇可以搭配
4、有哪些比喻可以非常巧妙的形容这些食物代表的文化、或者形态、或者隐喻、或者色彩、口感。
5、组合成精炼、优美、巧妙、恰当的美食句子。
请根据我给出的范例,帮我撰写20条符合我需求的句子。
其中“思维链”中的5个思考步骤是人类写在提示词中告诉 GPT的,假设人类自己也不知道这个思考链路呢❓
我们去掉逐步思考的步骤试试:
可以看到,GPT创作出来的句子效果差了不少❗️
那有没有办法让 GPT创作句子前先尽可能多地思考几步,而不是直接开始句子🤔?
有的,你可能在哪里听说过,在Prompt结尾加上“Let's think step by step”(让我们一步一步地思考),GPT 的逻辑能力瞬间提升 10 倍!🚀
这句 Prompt 确实有效,它运用到了零样本思维链的技巧,这里的“零样本”指的是提示词中没有给出具体的思考链路,比如说上面那个例子。
现在,我们在晚餐盲盒 Prompt 中加入零样本思维链试试:
对比看一下,加入“Let's think step by step”(让我们一步一步地思考)之后,GPT 创作句子的效果确实好了不少👍
以上就是本次分享的十个提示词技巧了,enjoy it.
---
我最近写了一份“AI提示词实战指南”的小册,这份小册凝聚了我近一年在 AI 提示词领域的实践心得。
分为四个专栏:提示词基础入门、常见错误避坑、提示词技巧与应用、提示词实战案例拆解。
今天分享的只是小册里的一部分内容,如果你想学习如何更好地编写提示词,这份小册绝对值得购买~
以上,我写完了,记得点赞、在看、转发,因为我需要你的反馈。
小手一赞,年薪百万!😊👍👍👍关注我,原创干货文章第一时间推送🤖。
点击下方👇“夙愿学长”关注公众号
专注于 AI 工具、AI 实战经验分享
欢迎加我的微信,备注“公众号”,送你一份2.7w字原创 AI 工作流搭建超详细教程。
还可以围观我的朋友圈,许多不便发在公众平台上的东西都在这了。