阅读(1.9k) 书签 (0)

Prompt Engineering 简介

2023-05-08 14:04 更新

什么是 Prompt Engineering?​

解释这个词之前,首先需要解释 prompt 这个词。

简单的理解它是给 AI 模型的指令

它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。

AI 模型会基于 prompt 所提供的信息,生成对应的文本,亦或者图片。

比如,我们在 ChatGPT 里输入 ​What is the capital of China?​ (中国的首都是什么?),这个问题就是 prompt。

而 Prompt Engineering (中文意思为提示工程,后缩写为 PE)则是:

Prompt Engineering 是一种人工智能(AI)技术,它通过设计和改进 AI 的 prompt 来提高 AI 的表现。
Prompt Engineering 的目标是创建高度有效和可控的 AI 系统,使其能够准确、可靠地执行特定任务。
说大白话就是:学会如何正确的提问。

看上去很难懂,我试着换个方式让你理解。

你可能用过不少 AI 相关的产品,你或许会觉得好像只需要会说话、会打字,就能让 AI 输出答案。好像不需要什么技术。

的确,如果你只想让 AI 给你答案,你不需要额外做什么,只需要输入文字即可。

但如果你想要得到满意的答案,甚至精确的答案。就需要用到 PE 这个技术。

因为人类的语言从根本上说是不精确的,目前机器还没法很好地理解人类说的话,所以才会出现 PE 这个技术。

另外,受制于目前大语言模型 AI 的实现原理,部分逻辑运算问题,需要额外对 AI 进行提示(这里你不需要深究原因,暂时先知道这是个问题即可)。

举个例子,如果我们在 ChatGPT 里输入这样的一段话:

What is 100*100/400*56?

ChatGPT 会返回一个错误的答案 0.4464

但如果我们对 prompt 进行一些修改,答案则会是正确的。


另外,目前的 AI 产品还比较早期,因为各种原因,产品设置了很多限制,如果你想要绕过一些限制,或者更好地发挥 AI 的能力,也需要用到 Prompt Engineering 技术。这个我们在后续的章节会讲到。

所以,总的来说,Prompt Engineering 是一种重要的 AI 技术:

  • 如果你是 AI 产品用户,可以通过这个技术,充分发挥 AI 产品的能力,获得更好的体验,从而提高工作效率。
  • 如果你是产品设计师,或者研发人员,你可以通过它来设计和改进 AI 系统的提示,从而提高 AI 系统的性能和准确性,为用户带来更好的 AI 体验。

需要学习 PE 吗?​

坦率说来,大家对 PE 有一些争议,

前面一节我解释了 prompt 的各种好处。但也有人认为这个就像当年搜索工具刚出来的时候,出现了不少所谓的「搜索专家」,熟练使用各种搜索相关的奇技淫巧。但现在这些专家都不存在了。因为产品会不断迭代,变得更加易用,无需再使用这些技巧。

拿前面提到的数学问题为例,API 版本算出来是 14,但 ChatGPT 的版本则看上去更准确一些,相信不久的将来,我们无需在公式前加括号,它就能返回正确的结果(2023-03-02)。

但综合我对产品和用户的理解,以及各位大佬的看法,我的理解是:

现在 AI 的发展还比较早期,了解和学习 PE 价值相对比较大,但长远来看可能会被淘汰。这个「长远」可能是 3 年,亦或者 1 年。

OpenAI 的 CEO Sam Altman 在今年 2 月底提到给 ChatBot 写 prompt 是个非常高杠杆的技能。

image.png

但如果你看过 Sam Altman 去年的访谈,他在去年 9 月的时候就提过,5年内我们很可能就不再需要 PE。

image.png

从用户的角度看,我认为学习 prompt 可以让你更好地使用 ChatGPT 等产品。

从产品的角度看,对于用户来说,我认为 prompt 会是个短期过度形态,未来肯定会有更友好的交互形式,或者理解能力更强的 AI 产品。


One More Thing​

前特斯拉 AI 负责人 Andrej Karpathy(对了,他之前就在 OpenAI,最近二进宫回OpenAI 了) 今年 1 月底,说了这样的一句话:

image.png

所以本教程所有案例以及 prompt 都会以英文撰写。不管 PE 最后会怎样,看完后,起码你的英语水平会提高。

这并不意味着不能使用中文进行提问,ChatGPT的翻译功能也很强大,你可以提出要求让ChatGPT使用中文回答问题,但因为训练材料的问题,使用英文获得的答案可能会比较准确。

尽管如此,我们仍会给每个提示附上中文命令,便于用户理解,PE是一种提问的思想,是与语言无关的,使用中文也可以得到很不错的结果!