什么是 Prompt Engineering?

什么是 Prompt Engineering?
解释这个词之前,首先需要解释 prompt 这个词。

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

它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。AI 模型会基于 prompt 所提供的信息,生成对应的文本,亦或者图片。

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

Prompt
What is the capital of China?

而 Prompt Engineering (中文意思为提示工程,后缩写为 PE)则是:
Prompt Engineering 是一种人工智能(AI)技术,它通过设计和改进 AI 的 prompt 来提高 AI 的表现。Prompt Engineering 的目标是创建高度有效和可控的 AI 系统,使其能够准确、可靠地执行特定任务。

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

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

的确,如果你只想让 AI 给你答案,你不需要额外做什么,只需要输入文字即可。但如果你想要得到满意的答案,甚至精确的答案。就需要用到 PE 这个技术。

因为人类的语言从根本上说是不精确的,目前机器还没法很好地理解人类说的话,所以才会出现 PE 这个技术。另外,受制于目前大语言模型 AI 的实现原理,部分逻辑运算问题,需要额外对 AI 进行提示(这里你不需要深究原因,暂时先知道这是个问题即可)。

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

What is 100100/40056?

ChatGPT 会返回一个错误的答案 0.4464(注意,如果你用下方的 Dyno 运行,答案应该也是错误的,API 版本的回答是 14):

Prompt
What is 100100/40056?

但如果我们对 prompt 进行一些修改,答案则会是正确的。注意,如果你用下方的 Dyno 运行旧版的模型 API 的版本,做了修改后,答案应该还是错误的,需要用到 Role Prompting 才能生成正确答案。(这个后续章节会讲解)

Prompt
What is (100100)/40056?

另外,目前的 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 是个非常高杠杆的技能。

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

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

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

添加新评论