ChatGPT新手必学秘籍,10分钟教你从入门到精通掌握Prompt

周末去电影院看了《飞驰人生2》。可能是最近研究AI上了头,看电影的时候满脑子闪过的都是AI相关的东西。

要是把ChatGPT比作是一台赛车,那我们就相当于这台赛车的驾驶员。

赛车有性能好坏之分,驾驶员同样有能力上的差距。

所以做同一件事儿的时候,即使有人拿着最强的GPT4.0,可能都比不过另一个人拿着文心一言3.5做的效果好。

核心原因就在于“驾驶员”的“驾驶技术”——Prompt。

好的“驾驶员”可以在各种场景下运用好各种“驾驶技巧”以达到最佳的效果。

但烂的“驾驶员”可能无论什么赛道全都是一通乱开,最后再把原因归咎于“车不行”。

所以,AI时代的各位“驾驶员”,想要开好ChatGPT这台赛车的话,建议大家先学会怎么开车。

今天这篇文章主要跟大家分享一下Prompt的创作技巧。

市面上关于Prompt的论文教程很多,但如果要我推荐,首选的必定是OpenAI官方推出的Prompt engineering。

ChatGPT新手必学秘籍,10分钟教你从入门到精通掌握Prompt

相比于思维链、结构化提示词这些比较高级的Prompt编写技巧,OpenAI的Prompt engineering更像是一本人教版教材。

想学会高级驾驶技巧,就必须要先从最基础的“科目二”开始学起。

S弯还没学会就想跑巴音布鲁克,结果只能是车毁人亡。

所以这篇文章小福就带着兄弟们来好好学一学怎么样开好ChatGPT这台车。

Prompt engineering总共给出了6条Prompt编写规则,分别是:

策略一:编写清晰的指令

提供具体细节和格式要求来减少模型猜测的必要性。

策略二:提供参考文本

通过提供相关的参考文本来帮助模型生成更准确的回答。

策略三:分解复杂任务

将复杂任务分解成简单的子任务以降低错误率。

策略四:给模型时间‘思考’

通过要求模型进行思考之后再回答来提高答案的可靠性。

策略五:使用外部工具

利用外部工具来弥补模型的不足和提高任务的执行效率。

策略六:系统测试改变

通过系统地测试来评估对提示的改变是否真正提高了性能。

接下来,小福来给大家分条拆解每条策略的具体操作技巧。

策略一:编写清晰的指令

其实就是要我们在跟ChatGPT交流的时候,说话要说清楚。

就像是你让别人给你买奶茶,要是不说你想要什么口味的,人家怎么会知道给你买什么呢?

那怎么编写一条清晰的Prompt呢?

6个具体的操作技巧:

1、给足够的细节

就是说,你要是想要个准确的答案,就得把问题说全。

比如你问的太简单了,模型可能就猜不到你真正想问的。

比如说:

你要是问:“Excel里怎么加数字?”这就太宽泛了。

你要是问:“我怎么能在Excel里自动计算一行的美元数额,然后把所有行的总和放在最右边一列,列名叫‘总计’?”这样提问就清楚多了。

2、让模型扮演角色

就像是给模型分配一个角色,让它按这个角色来回答你。

举个栗子:

“帮我写封感谢信给螺丝供应商,他们这么快就送来货了,帮了我们大忙。”

然后你设定的角色是:“回答中每段都得有个笑话或者俏皮话。”

这样GPT的回答就会更符合我们期望的风格或者内容。

3、用分隔符来区分

通过使用三重引号、XML标签、章节标题等分隔符,可以帮助模型更清晰地区分和理解输入内容的不同部分。

特别是在处理复杂任务时更能减少混淆。

如果你的问题里有好几部分,用这些特殊符号来分开,这样模型就不会搞混了。

比如:

“用三重引号括起来的文本,帮我总结成一诗歌。”

4、分步骤说明

就是把你要做的事情拆成一步步的,告诉模型该怎么做,这样它就能一步步跟上了。

比如:

第一步:“我会给你一段用三个引号括起来的文本。你就用一句话总结,前面加个‘摘要:’。”

第二步:“然后把这摘要翻译成西班牙语,前面加个‘翻译:’。”

把这些步骤明确地写出来,GPT就可以更容易地按照指示进行操作。

5、给出示例

有时候,直接给个例子比光说要怎么做还管用,尤其是当你希望模型按照某种风格回答时。

比如:

你问:“教我耐心是什么。”

模型回答的风格示例:“就像是,一条小河能刻出最深的峡谷,一首伟大的交响乐从一个音符开始,最复杂的挂毯也是从一根线开始的。”

6、指定所需的输出长度

这点其实没什么好讲的,就是字面意思。

总之,就是你越是告诉模型你想要什么,它给出的回答就越能打中你的心思。

记得,跟模型交流,清晰是王道!

ChatGPT新手必学秘籍,10分钟教你从入门到精通掌握Prompt

策略二:提供参考文本

当我们跟ChatGPT交流的时候,有时候它会根据我们的问题编出一些答案。

这就好比是,你问你的朋友一个超专业的问题,他不懂,但为了不失面子,就随便编了个答案告诉你。

为了避免这种情况,我们可以给模型一些参考文本,就像是给你的朋友一本书,告诉他答案在书里。

怎么做呢?

直接告诉模型用书里的内容回答;

就好比你对你的朋友说,“用这本书回答我刚才的问题。”这样模型就会去参考文本找答案。

要求模型引用书里的内容;

如果你想让答案更有说服力,你可以要求模型在回答时直接引用书里的内容。

举个例子:

比如说,我们想了解“全球变暖对农业的影响”,而我们手头有一篇详细的研究报告。

任务:利用这篇报告回答“全球变暖如何影响农作物的生长周期?”

操作步骤:

先把报告给模型:就像是把书递给你朋友,让他有材料可查。

构建提问:然后告诉模型,用报告里的内容来回答你的问题。

比如说,“根据你手头的这篇报告,讲讲全球变暖是怎么影响农作物生长周期的?”

如果需要,还可以要求引用:告诉模型,回答时最好引用报告里的具体内容,这样答案更靠谱。

预期结果:

模型会根据报告内容,告诉你全球变暖通过改变气候条件,比如温度和降水,怎样影响到农作物的种植、生长和收获。

可能还会告诉你报告里提到的一些具体数据或例子来支撑它的解释。

通过这种方法,我们不仅能够获得更加精确和有依据的答案。

还能在一定程度上避免模型产生无根据的虚假信息,从而提高整个回答过程的质量和可信度。

策略三:分解复杂任务

说简单点,就是我们在解决一个大难题时,先把它拆成小块来一块块解决。

比如有一个超级复杂的拼图,如果想着一次性拼完,费时费力还不一定能成功。

但如果我们把它分成几个小区域,每次只专注于完成一小块,那这事儿就容易多了。

具体怎么做呢?

意图分类:

就好比你在一个大型超市里购物,先决定去哪个区域(水果、蔬菜、肉类),这样就不会在超市里乱转半天。

对于我们需要解决的问题也是,先看看这是哪类问题,然后再决定用什么策略解决。

长谈短说:

如果有人跟你说了一大堆话,你可能需要先梳理一下,再决定怎么回答。

同样地,对于长时间的对话,我们也可以先总结一下,再继续对话。

一步步来:

比如你要写一篇论文,需要先写个大纲,然后逐段完成。

对于超长的文档也是,我们可以一小节一小节地总结。

最后把所有小总结再汇总成一篇完整的总结。

举个栗子:

假设我们有一个复杂任务:为一个客户服务应用分类和处理客户查询。

步骤一:意图分类

首先,我们将每个客户查询分类到主要类别和次要类别。

比如,主要类别可以是账单问题、技术支持、账户管理或一般咨询。

每个主要类别下可以有更具体的次要类别。

如账单问题下的次要类别可以是退订或升级、添加付款方式、收费说明、争议收费等。

步骤二:提供具体指令

根据客户查询的分类,为模型提供处理下一步所需的更具体指令。

例如,如果客户需要技术支持中的“故障排除”,系统会告诉模型提供特定的故障排除步骤。

实际应用示例:

用户查询:“我需要让我的互联网再次工作。”

系统首先对查询进行分类,确定这是一个技术支持中的“故障排除”请求。

然后,系统提供具体指令,要求模型引导用户检查所有路由器的电缆是否连接好,询问用户使用的路由器型号,并根据型号提供重启设备的步骤。

通过这种方式,一个复杂的任务被有效地分解成了一系列简单、易于管理的子任务。

每个子任务都有明确的指令和目标,从而提高了整体任务的准确性和效率。

策略四:给模型时间“思考”

当你遇到一个难题,比如突然有人问你:“17乘以28等于多少?”

你可能不会立刻蹦出答案来,对吧?

你需要点时间去算一算。

这其实也适用于AI模型。

当模型被要求解答复杂的问题时,如果我们让它有时间先“思考”一下,就能帮助它给出更准确的答案。

举个栗子:

比方说,我们要模型帮我们解个数学题。直接问答案,它可能一下子就给出个答案,但这样容易出错。

如果我们让模型先展示一下它是怎么一步步算出来的,这不仅可以让我们看到模型的“思考过程”,还能帮助它避免错误,提高回答的准确率。

这个策略可以用几种方式来实践:

逐步推理:

就是让模型像讲故事一样,一步步告诉我们它是怎么想的,最后才给结果。

内部独白:

这个有点像模型自言自语,它会在内部“思考”一番。

但不会直接告诉我们这个过程,只告诉我们最终的答案。

这样做的好处是,比如在教学场景下,可以避免直接给学生答案,而是引导他们自己思考。

检查遗漏:

就是在模型给出答案后,我们再问问它,是不是考虑全了,有没有漏掉什么。

这样做可以确保模型提供的答案尽可能全面和精确。

通过这样的策略,我们其实是在帮助模型更好地处理和解决问题。

就像给它一点时间去头脑风暴一样,结果往往会更满意。

这就是为什么“给模型时间‘思考’”这个策略这么重要,它能显著提升模型处理复杂问题的能力。

策略五:使用外部工具

这个策略其实很实用,主要是告诉我们在用大型语言模型解决问题时,有时候模型自己搞不定,或者说不够准确、不够高效。

这时候,我们可以借助一些外部的工具,让这些工具先做一部分工作,然后再把结果交给模型来处理。

就像是给模型找了个小帮手,让模型能更好地完成任务。

举个例子:

假设我们要让模型帮我们处理一些数学计算,或者调用一些外部API获取数据。

如果直接让模型来做,它可能会犯错,或者根本就做不了。

但是,如果我们用一个代码执行引擎(比如OpenAI的代码解释器)先做这部分工作,就可以把计算结果或者API的数据直接给模型。

这样模型就有了确切的数据去完成后续的任务,比如分析数据、做出预测等等。

再比如,我们正在开发一个可以自动回答用户问题的客服机器人。

但是,问题的答案需要从一大堆文档里查找。

如果直接让模型去处理这些文档,模型可能因为文档太多而处理不过来。

这时,我们可以使用文本检索系统(比如基于嵌入向量的搜索)来帮助模型快速找到相关的文档。

然后,模型就只需要处理这些被检索出来的、相关性更高的文档,从而更快、更准确地给出答案。

总的来说,这个策略就是在模型遇到困难的时候,找到合适的工具来帮忙,让模型能更好地发挥它的优势。

这种方法不仅可以提升模型的性能,一定程度上还能节省不少成本。

策略六:系统测试改变

比如你在用ChatGPT来帮你回复邮件,但是你发现ChatGPT每次都回得特别长,差不多能写成一篇小论文了。

你就想,能不能让它回复得短一点呢?

于是你就在给AI的指令里加了一句:请简短回复。

一开始看起来效果不错,ChatGPT确实短了不少。

但是,问题来了,这样改真的好吗?

这就需要我们做一些测试来验证了。

比如,我们可以准备很多种不同类型的邮件,看看在这些不同情况下,ChatGPT的回复是不是既简短又切题。

这就像是给AI做一个大考,考它在各种情况下的表现。

通过这样的测试,你可能会发现,虽然回复短了,但有时候ChatGPT可能因为太想简短而忽略了邮件里的一些重要信息。

这时候,你可能就需要再调整一下你的指令,或者针对不同的邮件类型,给ChatGPT不同的回复策略。

也就是说,想要改进ChatGPT的表现,不仅仅是一次两次的小改动那么简单。

我们需要系统地测试和评估,不断地调整和优化,才能让ChatGPT变得更聪明,更懂你,以确保最终得到最佳的模型表现。

以上这6条Prompt编写技巧,基本上就相当于Prompt这门技术的全部基础技能。

如果你是一个AI小白,等你掌握了这些基础技能之后,再去学习更高级的Prompt编写技巧,就能更得心应手。毕竟再高级的技巧也是从基础技巧一点点发展来的。

版权声明:本站文章为原创内容,皆拥有版权信息,主要目的在于分享信息,内容仅供读者参考。

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注