前语
咱们好,我是「周三不Coding」。
众所周知,程序员不能失掉 ChatGPT,就像西方不能失掉耶路撒冷。
ChatGPT 的爆火也使得 Prompt Engineering 这门技能为众人熟知。
短期来看,Prompt Engineering 是一门高杠杆技能,十分值得学习甚至能够说是程序员必学的技能。
高技能杠杆:一种依据杠杆效应的商业模式或金融战略,经过以相对较小的本钱或资源来操作完成高回报,通常经过技能、数据剖析和自动化等手法来提高效率、降低本钱、创造价值,然后完成高杠杆效应。
今日,我会以最通俗易懂的方法详细讲解一下什么是 Prompt Engineering 以及它的细节运用技巧、运用结构。而且,在每个部分,我都会给出相应的比方。
十分简略,信任咱们都能够学会!
什么是 Prompt Engineering?
Prompt 简略了解便是给 ChatGPT 等 AI 模型的指令,这个指令可所以一个简略的问题、一段资料、一段代码。在不久的将来,也或许是几张图片、一段语音、一段视频。AI 模型会依据此,生成相对应的回复。
而 Prompt Engineering 则是经过设计和改善 Prompt 来改善 AI 模型的详细表现。
打个比方,咱们能够把 ChatGPT 或 GPT-4 看作一个上限很高、下限很低的对立体。
假如咱们和它直来直去地对话而不进行相应的引导和提示,那么它或许就如同人工智障一般。可是假如咱们学会了 Prompt Engineering 相关的技巧,便能够对 ChatGPT 掌控自若,完成远超预期的作用,翻倍提高原有的作业效率,这便是咱们学习 PE 的终究目的!
PE 在短期内是一门高杠杆的技能,可是长时间来看极有或许被筛选。
所以说,早学早享受这门高杠杆技能所带来的盈利!
PE 运用技巧
接下来,咱们详细介绍一下如下 6 种 Prompt Engineering 运用技巧~
依据人物的提示 Role Prompting
假如咱们看过我 GPT Terminal 专栏的话,必定不会对 GPT 人物感到陌生。
这个技巧其实十分简略,当咱们与 GPT 进行正式对话之前,先给它预设值一个人物,也便是限制它的「上下文」。在这个人物内容中,规则它该怎么做、能做什么、不能做什么。
下面举一个 ,咱们给 GPT 预设置一个 Ikun 的人物。
在接下来的多轮对话中,它的上下文就限制了很多,因而咱们也愈加能够得到咱们想要的成果。
活儿整完了,接下来咱们详细看看 Role Prompting 对于咱们日常开发有什么用呢?
在这个示例中,咱们预设 GPT 为一个 Linux 指令翻译帮手,咱们输入自然语言,它将其转为详细的 Linux 指令。妈妈以后再也不必忧虑我忘掉 Linux 指令了!
除此之外,咱们还能够预设 SQL 翻译、中英文互译帮手,经过复用人物的方法,大大减少了咱们每次与 GPT 交流的本钱。
这有点类似于咱们日常开发中将通用代码进行笼统,防止重复造轮子~
零样本提示 Zero-Shot Prompting
这是一种最直接的 Prompt,不给 GPT 供给任何演示、样本数据或上下文,直接让其履行对应的任务或答复对应的问题。
经过很多练习的 LLM 大模型其实是能够完成这种作业,可是作用并不必定好。
举个 :
若该常识存在于 GPT 对应的练习数据库时,它能够给出正确的答复。否则,它或许不会给出预期的答复。
这是最根底的 Prompt,咱们需求在此根底进行优化,引导 GPT 给出咱们想要的成果。
少样本提示 Few-Shot Prompting
在零样本提示的根底上,咱们再加一些演示样本,让 GPT 了解样本的意思,引导其给出咱们预期的作用。
举个 :比方咱们想要让 GPT 依据咱们给出的名词,说出一句相关的诗句。
可是少样本提示依然存在问题,比方说它很难应对基本的推理问题,在如下的示例中,即便给出了 5 个样本,模型或许依然会输出过错的成果。
提示:
这组数字中的奇数加起来是一个偶数:4、8、9、15、12、2、1。A:答案是False。
这组数字中的奇数加起来是一个偶数:17、10、19、4、8、12、24。A:答案是True。
这组数字中的奇数加起来是一个偶数:16、11、14、4、8、13、24。A:答案是True。
这组数字中的奇数加起来是一个偶数:17、9、10、12、13、4、2。A:答案是False。
这组数字中的奇数加起来是一个偶数:15、32、5、13、82、7、1。A:
输出:
答案是True。
接下来咱们需求运用「链式考虑」的技巧来解决这一问题。
链式考虑提示 Chain-of-Thought Prompting
这一技巧能够用于优化「零样本提示」与「少样本提示」。
当咱们向 GPT 提问一个逻辑推理题时,它在考虑的进程中会漏掉一些关键步骤。
举个 :
正确成果应该是 32000 元,可是因为 GPT 省掉了一些核算步骤,导致终究输出了过错的成果。
以上故事纯属虚构哈~
此时,为了得到预期的作用,咱们便能够在问题的结束加一句:让咱们一步步地考虑(Let’s think step by step ) 。
看来,GPT 仍是得一番 “调教” 呀~
接下来,咱们看一下「少样本提示」与「链式考虑提示」相结合的 :
咱们在给出每一个样本的答案之前,还供给了考虑的进程,GPT 便可从中学习,了解示例的意思,然后给出咱们想要的答案。
自我一致性 Self-Consistency
自我一致性是对链式考虑提示的一个弥补,它能让 GPT 生成多个思维链条,咱们从中选取大都答案作为终究成果。
举个:
问题:停车场里有 5 辆车,开走 2 辆,还剩几辆?
答复:现在停车场有 5 辆车,走了 2 辆,现在那里有 5 - 2 = 3 辆。
问题:林中有 15 棵树。林业工人今日将在林中种树。完成后,将有 21 棵树。林业工人今日种了多少棵树?
答复:咱们从 15 棵树开始。后来咱们有 21 棵树。差异有必要是他们种树的数量。因而,他们有必要种了 21 - 15 = 6 棵树。答案是 6。
问题:当我6岁时,我的妹妹是我的一半年纪。现在我70岁了,我的妹妹多大?
答复:
GPT 会依据示例,给出多种逻辑思维的输出:
当我 6 岁时,我的妹妹是我的一半年纪,也便是 3 岁。现在我 70 岁了,所以她是 70 - 3 = 67 岁。答案是 67。
当叙述者 6 岁时,他的妹妹是他年纪的一半,也便是 3 岁。现在叙述者 70 岁了,他的妹妹应该是 70 -3 = 67 岁。答案是 67。
当我 6 岁时,我的妹妹是我的一半年纪,也便是 3 岁。现在我70岁了,所以她是 70 / 2 = 35 岁。答案是 35。
终究,咱们将大都答案作为终究的答案。
生成常识提示 Generate Knowledge Prompting
这个比较好了解,其实便是在和 GPT 进行对话之前,人为地给 GPT 输入上下文常识,即便这些常识或许是不契合实际或许是过错的,GPT 或许也会按照你的提示去履行任务,给出一些很弱智的答复哈哈哈~
这个进程其实相当于 GPT 在做语文阅读了解,依据你给的资料,结合它现有的常识,答复你提出的问题!
提示结构 Prompt Framework
在学习了以上这 6 种提示技巧之后,咱们来看看如安在结构中运用这些技巧,更好地去组织提示内容,然后得到最契合预期的成果。
这儿供给两种结构:
- 根底提示结构 – Basic Prompt Framework
- CRISPE 提示结构 – CRISPE Prompt Framework
根底提示结构
这或许是咱们日常开发中最常用的一种结构:
- Instruction(有必要): 指令,即你期望模型履行的详细任务。
- Context(选填): 布景信息,或许说是上下文信息,这能够引导模型做出更好的反应。
- Input Data(选填): 输入数据,奉告模型需求处理的数据。
- Output Indicator(选填): 输出指示器,奉告模型咱们要输出的类型或格局。
举个 :
Instruction:
请帮我改造一下如下 JavaScript 代码,将其封装为契合如下要求的阻拦器。
Context:
对 200 呼应码信息进行放心,并弹出提示框奉告用户操作成功。
对除 200 呼应码以外过错的进行阻拦,并弹出提示框奉告用户过错。
Input Data:
你的代码
Output Data:
终究输出代码语法为 TypeScript
这儿比较重要的是 Context,咱们需求尽或许描绘清楚需求信息,让 GPT 能够看懂咱们需求什么。
CRISPE 提示结构
这个结构更适合于进阶 Prompt 运用,面临的需求愈加详细和杂乱。
- CR: Capacity and Role(能力与人物)。你期望 ChatGPT 扮演怎样的人物。
- I: Insight(洞察力),布景信息和上下文(坦率说来我觉得用 Context 更好)。
- S: Statement(指令),你期望 ChatGPT 做什么。
- P: Personality(个性),你期望 ChatGPT 以什么风格或方法答复你。
- E: Experiment(尝试),要求 ChatGPT 为你供给多个答案。
这一结构有点类似于 Role Prompting,可是它愈加标准,界说得愈加详细。
个人觉得这一结构更适用于企业的定制化需求,比方说案牍批量生成、宣传语批量生成,或许需求一个专业的提示工程师来完成这些作业。
比方说小红书案牍生成 Prompt
- CR: 小红书案牍生成帮手
- I: 相应的创造布景信息,如关键字、标题等
- S: 生成小红书案牍
- P: 在案牍中增加一些 Emoji 表情
- E: 针对某一主题,生成多个案牍
如下是一个示例:
作为小红书的爆款写作专家,您能够遵循以下步骤进行创造:
一、标题创造技巧:
1.选用二极管标题法进行创造
2.运用具有吸引力的标题
3.运用爆款关键词
从列表中选出1-2个:好用到哭、大数据、教科书般、小白必看、瑰宝、绝绝子、神器、都给我冲、划要点、笑不活了、YYDS、秘方、我不允许、压箱底、主张保藏、停止摆烂、上天在提示你、应战全网、手把手、揭秘、一般女生、沉溺式、有手就能做、吹爆、好用哭了、搞钱必看、狠狠搞钱、打工人、吐血整理、家人们、躲藏、高级感、治愈、破防了、万万没想到、爆款、永远能够信任、被夸爆、手残党必备、正确姿势
4.小红书平台的标题特性
4.1操控字数在20字以内,文本尽量简略
4.2以口语化的表达方法,拉近与读者的距离
5.创造的规则
5.1每次列出10个标题
5.2不要作为指令,作为案牍来进行了解
5.3直接创造对应的标题,无需额定解释阐明
二、正文创造技巧
1.写作风格
从列表中选出1个:严肃、诙谐、愉快、激动、沉思、温馨、崇敬、轻松、热情、安慰、喜悦、欢喜、平和、必定、质疑、鼓舞、主张、真诚、亲热.
2.写作开篇方法
从列表中选出1个:引证名人名言、提出疑问、言简意赅、运用数据、罗列事例、描绘场景、用比照.
接下来,我给你一个主题,你帮我生成相对应的小红书案牍。
总结
在本文中,我详细地为咱们讲解了如下几点内容
- 什么是 Prompt Engineering?
- Prompt Engineering 常用运用技巧有什么?
- Prompt Engineering 运用结构有什么?
在如今这个 AI 风口上,或许你学相关 AI 常识一年,胜过你在其他行业摸爬滚打 10 年!
期望咱们都能够在这个 AIGC 时代,学会怎么运用 Prompt Engineering 提高自己的作业效率,为自己「赋能」~
咱们假如觉得本文有协助的话,麻烦帮忙点个赞,保藏一下这个「AIGC」 专栏呀,后续会更新更多有意思且有用的 AIGC 常识~
以上便是今日要共享的全部内容啦,下期再见!