前语

咱们好,我是「周三不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 运用技巧~

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

依据人物的提示 Role Prompting

假如咱们看过我 GPT Terminal 专栏的话,必定不会对 GPT 人物感到陌生。

这个技巧其实十分简略,当咱们与 GPT 进行正式对话之前,先给它预设值一个人物,也便是限制它的「上下文」。在这个人物内容中,规则它该怎么做、能做什么、不能做什么。

下面举一个 ,咱们给 GPT 预设置一个 Ikun 的人物。

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

在接下来的多轮对话中,它的上下文就限制了很多,因而咱们也愈加能够得到咱们想要的成果。

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

活儿整完了,接下来咱们详细看看 Role Prompting 对于咱们日常开发有什么用呢?

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

在这个示例中,咱们预设 GPT 为一个 Linux 指令翻译帮手,咱们输入自然语言,它将其转为详细的 Linux 指令。妈妈以后再也不必忧虑我忘掉 Linux 指令了!

除此之外,咱们还能够预设 SQL 翻译、中英文互译帮手,经过复用人物的方法,大大减少了咱们每次与 GPT 交流的本钱。

这有点类似于咱们日常开发中将通用代码进行笼统,防止重复造轮子~

零样本提示 Zero-Shot Prompting

这是一种最直接的 Prompt,不给 GPT 供给任何演示、样本数据或上下文,直接让其履行对应的任务或答复对应的问题。

经过很多练习的 LLM 大模型其实是能够完成这种作业,可是作用并不必定好。

举个 :

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

若该常识存在于 GPT 对应的练习数据库时,它能够给出正确的答复。否则,它或许不会给出预期的答复。

这是最根底的 Prompt,咱们需求在此根底进行优化,引导 GPT 给出咱们想要的成果。

少样本提示 Few-Shot Prompting

在零样本提示的根底上,咱们再加一些演示样本,让 GPT 了解样本的意思,引导其给出咱们预期的作用。

举个 :比方咱们想要让 GPT 依据咱们给出的名词,说出一句相关的诗句。

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

可是少样本提示依然存在问题,比方说它很难应对基本的推理问题,在如下的示例中,即便给出了 5 个样本,模型或许依然会输出过错的成果。

提示:

这组数字中的奇数加起来是一个偶数:489151221A:答案是False。
这组数字中的奇数加起来是一个偶数:171019481224A:答案是True。
这组数字中的奇数加起来是一个偶数:161114481324A:答案是True。
这组数字中的奇数加起来是一个偶数:17910121342A:答案是False。
这组数字中的奇数加起来是一个偶数:15325138271A

输出:

答案是True

接下来咱们需求运用「链式考虑」的技巧来解决这一问题。

链式考虑提示 Chain-of-Thought Prompting

这一技巧能够用于优化「零样本提示」与「少样本提示」。

当咱们向 GPT 提问一个逻辑推理题时,它在考虑的进程中会漏掉一些关键步骤。

举个 :

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

正确成果应该是 32000 元,可是因为 GPT 省掉了一些核算步骤,导致终究输出了过错的成果。

以上故事纯属虚构哈~

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

此时,为了得到预期的作用,咱们便能够在问题的结束加一句:让咱们一步步地考虑(Let’s think step by step )

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

看来,GPT 仍是得一番 “调教” 呀~

接下来,咱们看一下「少样本提示」与「链式考虑提示」相结合的 :

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

咱们在给出每一个样本的答案之前,还供给了考虑的进程,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 在做语文阅读了解,依据你给的资料,结合它现有的常识,答复你提出的问题!

爆肝一晚上,我总结了 2023 年程序员必学的 Prompt Engineering 高杠杆技术!

提示结构 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 常识~

以上便是今日要共享的全部内容啦,下期再见!