深入解读ChatGPT Prompt,如何高效下达ChatGPT的指令命令【转】

AI热门转载1年前 (2023)发布 小艾虎
569 0 0

尊重原创,本文转载自微信公众号: 白子阳 2023-05-10 23:09 发表于江苏

 

ChatGPT Prompt 入门指南

前言

鸽了许久,终于把一直想写的入门指南写完了。读完这篇公众号文章之后,应该能够 “入门” ChatGPT。

如果你想获取本文配套的 PPT,请与我联系~

 

导读

本篇内容将会分为五个模块,具体框架如下:

Part 1:ChatGPT 基础概念

通过对 ChatGPT 基础概念的解析,初步了解什么是 ChatGPT,它的一些能力和边界。

Part 2:Prompt 基础结构 & Part 3:Prompt 使用技巧

了解 Prompt 的基础结构,了解在特定的结构范式下,如何更好使用 ChatGPT。

Part 4:使用场景实践

示例一些能与 ChatGPT 结合应用的场景,理解 ChatGPT 和实际业务的结合程度。

Part 5:ChatGPT & Midjourney

让 ChatGPT 生成提示词,以更好地生成需要的 AI 绘画的提示词。

 

1 基础概念解析

1.1 什么是 ChatGPT?

我们先来看 Wikipedia 对于 ChatGPT 的定义:

Wikipedia:ChatGPT is an artificial intelligence (AI) chatbot developed by OpenAI and released in November 2022. It is built on top of OpenAI’s GPT-3.5 and GPT-4 foundational large language models (LLMs) and has been fine-tuned (an approach to transfer learning) using both supervised and reinforcement learning techniques.

翻译:ChatGPT 是由 OpenAI 开发的人工智能(AI)聊天机器人,于 2022 年 11 月发布。它建立在 OpenAI 的 GPT-3.5 和 GPT-4 基础大语言模型(LLM)之上,并使用监督和强化学习技术进行了微调(一种迁移学习方法)。

维基百科给出的关于 ChatGPT 的概念其实比较难以理解。在不了解 AI 技术,大语言模型、自然语言等概念的前提下,我们很难通过概念去理解什么是 ChatGPT。

然后,我又去问了 ChatGPT 如何简单地理解它:

简单来说,ChatGPT 可以像一个人一样与用户进行文字对话,回答问题、提供建议或参与讨论。它就像一个智能机器人助手,你可以通过文字向它询问问题或分享你的想法,它会给你一个合理的回答或建议。它可以帮助你解决问题、获取信息、学习知识或者仅仅是作为一个聊天伙伴与你互动。
通过 ChatGPT 给出的回答,我们可以将 ChatGPT 理解为一个智能机器人助手,它要比我们过去接触的语音对话机器人或者语音助手更具备智能。

结合 ChatGPT 的发展历程,我们可以对 ChatGPT 做一个更完整的定义:

ChatGPT 是一个读过全世界大量在线公开文本信息,并且涌现出逻辑思维能力的大型语言模型 (LLM),可以有清晰理解你提供的任务,为你生成自然、连贯具有逻辑的各类文本。

ChatGPT 跟以前许多的语言模型不一样,最特殊的一点是它 “涌现” 出了逻辑思维能力。它能够理解我们我们在说什么,然后去根据我们的提问去生成各类文本。

 

1.2 ChatGPT 能干什么?

在不考虑多模态的前提下,ChatGPT 最核心的能力是生成文本。这里的文本指的不仅是文字,还包括了代码和字符。

在文字的层面,ChatGPT 可以为我们写一篇小说、帮我们完成日报、或者写一篇发言稿。

又或者在视频制作层面,它可以协助我们确定视频的标题、简介,还可以完善脚本、分镜。

在代码和字符层面,因为这两者本身也具备文本性质,我们也可以让 ChatGPT 去帮助我们写代码,或者生成一些页面的框架。

总之,在文字层面上的多数任务,ChatGPT 都能协助我们提高效率,做得更好。

需要注意的是,ChatGPT 并没有主观能动性,它并不能取代任何职业,而是能提高效率,将劳动力从许多重复性的工作中解放出来。

 

1.3 ChatGPT 不能干什么?

在不考虑 ChatGPT Plugin 的前提下,ChatGPT 也有自己的边界和局限:

局限1:ChatGPT 无法获取最新的知识(训练文本截止到 2021 年 9 月)

在说明 ChatGPT 的局限之前,需要先对 ChatGPT 进行说明:

GPT 是一种自然语言处理(NLP)模型,英文全称为:“Generative Pre-trained Transformer”。
由于 GPT 模型是通过预训练(Pre-trained)形成的,这意味着数据内容都是有一个截止日期的。目前 ChatGPT 的训练文本截止到 2021 年 9 月,它没有办法获取最新的知识。

局限2:语料库不收录互联网上未公开的信息

ChatGPT 训练所使用的内容都是基于网络上公开的语料,这意味着我们无法通过 ChatGPT 去获取一些私人信息或者企业机密。

同时,OpenAI 也对 ChatGPT 的回答进行了限制和调整,它并不会回答违背法律和道德的内容。

局限3:受低质量语料影响,ChatGPT 的知识未必准确,回答可能存在错误

在训练过程中,由于 ChatGPT 需要大量的语料进行喂养,在这个过程中也会吸纳进错误的、低质量的内容。我们在实际使用中也会发现 ChatGPT 生成的内容并不尽如人意。

此外,ChatGPT 的回答是基于概率生成的,这也会影响生成的内容。由于语料的混杂,在许多场景下 ChatGPT 会生成原本不存在的内容,而不是真实、准确的内容。

局限4:如果不详细写明需求(背景、限定、目的等),它无法输出你想要的内容

目前的自然语言处理技术尚不能做到识别用户意图,所以我们需要通过多次提问来最终获取我们想要的结果。

如果我们不把需求(想法、背景、偏好)完整阐述,ChatGPT 则没有办法精准回答你的需求的。

所以回到这篇文章的主旨,我们需要更好地通过 Prompt(提示词)去提示 ChatGPT,让它能够更高效地去达成我们的目的。

就这个过程而言,也是学会如何进行提问和有效沟通的过程。

 

1.4 什么是 Prompt

在日常的工作中,我们都需要去表达我们的需求,无论是通过 PRD 文档,还是通过代码,本质上都是一种将想法转译的过程。

和 ChatGPT 进行对话也是如此,我们如果想要让它帮助我们完成一个具体的任务,那么就需要清楚地表述自己的想法、背景和偏好。

我们回到网络上去看,很多人对 ChatGPT 都不以为然,认为 OpenAI 推出的聊天机器人并不智能,而且有时候还会经常给出一些莫名其妙的回答。实际上大部分情况是因为 Prompt 没有写好。

以实际工作为例子,产品在上线之前存在需求评审和产品测试的环节,就是对原有需求进行修正。这里的需求可以理解为你对 ChatGPT 提出的问题。

在需求描述不清的前提下,同事并不能了解你的意图,工作也无法很好进行开展。同样地,如果没有很好地表达你想要的内容,ChatGPT 也无法给到令你满意的回答。

所以,Prompt 就是一种需求的优化。

通过不断地和 ChatGPT 进行对话,优化措辞、提供详细的背景信息、明确问题范围,来获得满足于我们需求的回答。

 

1.5 ChatGPT 的使用场景

讲完了一些基础的定义,我们继续讲大家最为关心的一个内容,也就是 ChatGPT 能为我们做什么。

上面我们说过,ChatGPT 的语料是基于互联网上公开的内容,这些内容大部分和文本相关。

所以我们可以认为与文本相关的内容(文字、代码、字符),ChatGPT 都能够帮我们更好地实现。

那么我们需要使用什么语言去和 ChatGPT 进行沟通呢?

首先需要说明为什么会存在这个问题。

就 ChatGPT 的训练语料来说,英文语料要远比中文多。使用英文进行对话,ChatGPT 会提供更多的细节。

如果我们有使用过微软的 New Bing(基于 GPT-4 )的话其实也比较容易理解。

使用中文和英文进行对话,New Bing 给出答案的详细程度和参考链接也是完全不同的。

那么,我们有必要使用英文和 ChatGPT 进行对话吗?

在 3 月份 OpenAI 发布了 GPT-4。在官方的模型测评中可以看见,普通话(Mandarin)对话和英文对话的差距为 20%。

回过头看,GPT – 4 的发布时间距离 ChatGPT 的发布仅仅过了 3 个多月。这不仅说明了模型之间的迭代速度非常快,还解答了我提出的这个问题:

在大模型迭代速度很快的前提下,不同语言之间的输出差距会被不断缩小。现在可能是 20%,后续可能是 10%、5%。
我们可以得出一个简单的结论,在后续 GPT 的版本迭代中,自然语言可能会更“自然”,不会因为不同语言的语料库的数量在答案上产生较大的差异。

现在有许多用户为了更好地获取结果,先将自己的中文 Prompt 翻译成英文,再让 ChatGPT 输出回答。

这样的操作其实是存在问题的,首先翻译软件并不能够很好地进行翻译,通过翻译的文本再和 ChatGPT 进行对话,输出的质量可能依旧不佳。

在当前中英文 Prompt 的输出差异较小的前提下,通过转译和 ChatGPT 沟通的必要性不是很大,同时也会影响对话效率。

 

2 Prompt 的基础结构

2.1 Prompt 的结构

OpenAI 并没有对 Prompt 给出过明确的定义,但是网络上有非常多关于 “如何写好 Prompt” 的方法,内容虽然相同,但是结构都是通用的。

这个结构主要包括四个部分,分别是:背景、指令词、输入和输出的要求:

1、背景:关于任务的附加信息,提供补充资料以助模型更深入地理解需求

2、指令词:指导模型掌握您所需任务或问题的关键词,使模型能够准确把握需求

3、输入:向模型呈现的问题或详细内容,应具备清晰、完整性以保证模型产出满意答案

4、输出要求:模型生成答案时,对答案格式、长度等方面的约束条件

示例如下:

我正在为一场周年活动做准备(背景),请帮我写一个活动策划案(指令词),要求在 300 字以内(输出要求),帮我罗列一个内容框架(输入)。
按照这个结构逻辑去写 Prompt,我认为能够解决 90% 的问题。剩余 10% 则是根据具体的需求(业务场景)进行微调。

这里说的微调指的是扩大或者缩小回答的范围,引导 ChatGPT 去回答某一层级 / 类型的问题。

我们日常在使用 ChatGPT 的时候可以通过这四个维度进行拆解。标准化结构的好处是能够很快地发现提问时缺失的信息或者错误的描述。

另外,每个人的需求都是不一样的。可以让 ChatGPT 多写或者少写内容,对字数进行限制。也可以让它对原始文本进行总结或者扩写,以优化我们的内容。

 

小提示

在一开始和 ChatGPT 进行对话的时候,我们可能并没有一个好的想法,也不知道从何做起。但是可以通过多次对话,让 ChatGPT 对你进行引导,在对话过程中闪现灵感时刻。

 

2.2 对模糊提问的回答

讲完了 Prompt 的基础框架,接下来的内容主要是对 Prompt 进行详细描述。理解 ChatGPT 在不同的情况下是如何对我们的 Input Data 进行理解的。

示例:使用较少字符对 ChatGPT 发起提问

从上面的例子我们可以总结:ChatGPT 会猜测你的 Input Data 并输出答案。

但是问题又来了,ChatGPT 是怎么猜测我们的回答的?

回到上文提到的一点,ChatGPT 使用的是语料非常多,一共有 1750 亿个参数。

Transformer 的特点即在于它会从海量的语料中选择概率最大的回答,也就是在训练语料中高频出现的内容。

这说明在和 ChatGPT 进行对话的时候,需要使用引导词汇去提示 ChatGPT。否则它并不知道我们想要干什么,只能基于文本概率去猜测。

 

2.3 对文本提问的回答

理解我们为什么要使用 Prompt 和 ChatGPT 进行对话后,接下来我们需要尝试如何让它给出更好的回答。

ChatGPT 最强的能力是文本处理。它能够帮助我们完成不同语种间的翻译、文章总结和扩写以及其他文本处理场景。

于是,我们让它给出更好回答的方式也同样也要基于文本逻辑。一般来说,会有三种优化输出的方式:

1、清楚地描述指令

2、明确输出要求

3、提供 Input Data 让 ChatGPT 学习

1. 清楚地描述指令

这关乎你对于一件事情是如何进行描述的。

示例1:“今天心情很好。”

这是一个陈述句,你知道说话的人今天心情不错,可能处在一个比较开心的状态。但是你并不知道说话的背景、意图以及变化。

示例2:“今天心情很好,因为我完成了工作。但是我并没有受到夸奖。”

同样,这也是一个陈述句。和第一个例子不一样的是,在这个句子里,你明确了说话的原因、意图和变化。

2. 明确输出要求

这个方法解决的问题是:我们想要 ChatGPT 输出何种内容形态?

明确你想要让 ChatGPT 为你输出什么内容,是总结、扩写一篇文章。还是翻译成中文或者英文。

3. 提供 Input Data 让 ChatGPT 学习

在实际使用中,ChatGPT 很有可能并不了解你提出问题的背景,这个时候给出的答案往往会存在问题。

通过提供范例的方式引导 ChatGPT,在它并不明确你的提问主体的时候,通过一些描述让它大致明确你的需求,从而进行更好的回答。

 

3 Prompt 使用技巧

3.1 角色设定

3.1.1 设定提问者的角色

让 ChatGPT 了解你的角色,可以让它提供更贴近你需求的答案,从而提高对话的质量。

示例:如何在中国股市赚到钱

在未设定角色之前,ChatGPT 给出的答案会比较宽泛,但是在设定角色之后,ChatGPT 给出的答案的针对性会更强。

这也从侧面印证了 ChatGPT 是存在关于角色的语料的,它能够理解角色设定的概念。

3.1.2 设定 ChatGPT 的角色

给 ChatGPT 设定一个角色,让它为你提供更具专业性的回答。

示例:如何做一个期货应用

同样,在没有设定角色之前,ChatGPT 给出的答案还是很宽泛,在设定角色之后,它提供给我们的一些建议,结果更多会与专业内容相关。

 

3.2 完善提问

尽可能完善提出的问题,ChatGPT 能够提供更加准确的相关的答案。

示例:规划一次旅行

参考前面提及的提问结构,我们可以将杂乱提问转化成更加明确和具体的提问结构。

相较于结构模糊的问题,ChatGPT 能够对精确的提问做出更好地回应。

 

3.3 提供背景信息

提供问题的背景信息和上下文,可以让 ChatGPT 更好地理解你的问题和需求。

示例:锻炼计划

在没有告诉 ChatGPT 背景信息的情况下,它给出的答案同样是空泛的。

但是如果我们把基础信息(比如身高、体重、体脂)、训练计划(一周三练,三次无氧运动,两次有氧运动)以及相应的时间告诉它。

ChatGPT 就会给出更加具体、更加具有匹配性的回答。

 

3.4 阶段式提问

平时我们需要解决的工作和任务,大部分都是复杂和耦合的,也就是说并不能够一次性进行解决。大部分情况下我们都会有一个解决问题的流程。

使用 ChatGPT 解决复杂问题时,我们也需要采用阶段式提问的方式。

比如说让 ChatGPT 去完成对自己的图灵测试。

如果直接给出这个任务的话,大概率是无法完成的。但是通过拆解,也就是阶段式提问就能很好地解决这个问题。

示例:图灵测试

首先,我让 ChatGPT 出了几道可以检验图灵测试的题目,让它对题目进行回答,最后让它作为一个裁判去衡量自己的答案。

在这三个阶段中,ChatGPT 分别扮演了出题者、被测试的机器以及评委。

顺带一提,ChatGPT 能否通过图灵测试是一个有意思的话题。

图灵测试是一种衡量人工智能是否能够像人类一样进行对话的测试。

科学界普遍认为如果评审员无法确定对方是人还是计算机,那么这台计算机就被认为通过了图灵测试。

在我看来,ChatGPT 并不能通过图灵测试。它的回答的过于完整和优秀,而人是存在错误的可能的。

比如,我们会写错别字,出现常见的逻辑谬误。但 ChatGPT 的表现状态太过优秀,但与之相反,人并不完美。

 

3.5 使用合理的思维顺序

第五个使用技巧关乎我们在提问的所使用的思维顺序,这也是我觉得有意思的一点。

ChatGPT 的文本生成是线性的,这意味着它并不会回溯你的提问的上下文顺序。所以这也是为什么我们经常能够看到 ChatGPT 给出一些错误答案的原因:

由于提问顺序的不同,ChatGPT 仅会依照线性的提问顺序进行解答,而不是反复推测上下文给出正确的答案。

所以我们在使用 ChatGPT 时,使用合理的思维顺序显得尤为重要。然后回到我觉得它有意思的一点是:

使用合理的思维顺序引导 ChatGPT 进行提问的过程,本质上也是拆解我们的思考步骤,提升提问能力。

示例:同一个问题,以不同的顺序提问会答案不同

 

3.6 线性的思维顺序更容易理解

ChatGPT 仅会依照线性顺序进行回答,不存在反复推测上下文给出正确答案的思维模式。

对于 NLP 模型来说,线性的思维方式更加容易理解,也更符合人类天然的思维方式。

 

3.7 持续反馈和迭代

如果回答并不能够让我们满意,通过指正和修改 ChatGPT 的答案,我们能够逐步获得我们想要的答案。

示例1:账户分析要素的分析

示例2:建立一个博客网站

 

4 几个典型场景的实践

4.1 阅读

传统的阅读和学习方式可能是一个率先被颠覆的场景。

ChatGPT 的语料有一部分内容来自于公开发行的书籍,这是非常优质的语料来源。在 2021 年 9 月之前,ChatGPT 对大部分的图示都有充足的认知。

我们可以将 ChatGPT 的角色设定为一本书,我们通过不断地提问,或者让它给出一些在书上没有的例子但是是符合知识的内容,让我们更充分的了解。

其次,它也能够成为我们的复习助手。让 ChatGPT 出题,我们回答的方式,加深我们对于知识的理解。

可以认为,ChatGPT 是能够取代多数重复性的教育工种的。

最关键的一点是,ChatGPT 是免费的,同时即问即答,这是许多家教和老师所无法胜任的。

 

4.2 概念化

概念化是一个 ChatGPT 比较强大的能力。包括上面提到的 “作为一本书”,其实也是概念的一个部分。利用这一特性,我们能够让 ChatGPT 作为宇宙、基本粒子与我们交流。或者是扮演一只小白兔、一个淋浴头等等。

概念化的使用场景适用于儿童的概念教育。许多时候,小孩子对于概念的提问经常会被家长和老师选择性忽视,因为他们并不能很好地回答深刻地提问。

许多小孩子仅仅只是了解概念的表层(指概念的名称、类别和定义),但并不知道概念的内涵和实际的作用。这种情况会一直伴随一个人的成年时期。

 

4.3 翻译

ChatGPT 在翻译能力上的提升是指数级的。

许多翻译软件都是通过直译将不同语言的内容进行转换,无论是国外的 Google Translator 还是国内的百度翻译或者网易有道,都是通过直译加上对特定语句(比如古诗词)的识别进行处理。

ChatGPT 使用的自然语言处理很好的解决了 “直译” 这个问题,它能够识别语句的内容、情感倾向、语言逻辑,从而给出比较优质的译句。

示例:百度翻译 & ChatGPT 翻译

此外,我们还可以使用某种语言或者某个人物的表达风格,将翻译这个工作进行拓展,从而实现更多的变化,可塑性比较强。

 

5 ChatGPT+MidJourney

5.1 Prompt 过于复杂

我们先来看两个比较常规 Midjourney 的提示词:

示例1:动漫肖像

示例2:传统古风

初次使用 Midjourney 的时候,其实大部分人并不了解绘画和摄影,更别提运用专业领域的 Prompt 去生成一张图片。

Midjourney 非常依赖英文,这也加大了入门使用的难度。

其次,Midjourney 和 ChatGPT 一样,官方并没有直接给出图片生成的参数结构范例。

在实际使用中,我们也只能通过其他用户生成的作品来获取关键词,但是大部分都是不匹配的。但是可以通过 ChatGPT 能够帮助我们解决这个问题。

 

5.2 使用 ChatGPT 优化 Prompt

通过 ChatGPT 去生成我们想要的图片。

示例:未来太空站

 

5.3 Prompt 的发散拓展

如果我们仅有一个模糊想法或者概念,可以通过 ChatGPT 对我们的需求进行补足和优化。

示例:发散场景

 

5.4 Prompt 的组合变形

此外,我们还可以基于一些优质的 Prompt 进行扩展和优化。

示例:太空电梯

 

原文:ChatGPT Prompt 入门指南 (qq.com)

© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...