本节将基于ChatGPT来对提示工程进行整体的介绍,先讲解提示工程的基本概念,再进一步介绍提示工程的重要性,最后介绍一些提示工程常见的应用场景。本节的主要目的是帮助读者建立对提示工程的基本认知,为读者在后面学习提示工程相关技巧打下基础。在之后的章节中,我们会分别针对提示工程的各种技巧和在不同领域的实操应用进行深入讨论。
当用户输入提示之后,ChatGPT会依照提示逐词推断输出文本,最终生成完整的回答。ChatGPT回答的质量主要由两个因素决定:一是ChatGPT所使用的GPT模型的质量,包括模型的层数、预训练数据集参数的数量、质量及微调时人工反馈的质量;二是提示本身的质量。对于第一个因素,它在ChatGPT这样的预训练模型训练完成之后便基本固定,用户只能通过切换GPT模型版本,选择使用回答质量更优的GPT模型版本来进行提升。如图1.10所示,使用ChatGPT时可以在输入提示之前选择GPT模型的种类。例如,可以通过选择GPT-4这样回答质量更优的模型来提升这一因素。除此之外,普通用户或开发者很难就GPT模型本身的质量进行提升。
图1.10 ChatGPT中选择GPT模型版本
与之相反,对于第二个因素——提示的质量,普通用户的操作空间却很大。因为提示本身完全由用户编写,因此可以通过编写更好的提示来让模型充分理解用户的意图,从而让ChatGPT生成更符合要求的回答。这也便是提示工程,提示工程的核心任务就是通过设计和优化提示使ChatGPT生成符合预期的高质量内容。
前面介绍了影响ChatGPT回答质量的因素,简单来说就是选择的GPT模型质量决定了ChatGPT回答质量的上限,而提示工程决定了在这个上限之内ChatGPT能够发挥到的具体水平。图1.11较好地表示了这个关系,GPT-3.5作为比GPT-3更优质的模型,它的回答质量也相应地会高一些,这里的回答质量反映的就是回答质量的上限。每个模型都有比较确定的回答质量的上限,是因为模型都是用有限的数据训练的,针对一个训练数据没有涵盖或相关内容质量较低的话题,模型只能根据其逻辑推理能力给出一些大致推断的内容,并不能给出相对具体有价值的回答。
图1.11 ChatGPT回答质量的影响因素
下面是个简单例子,因为登陆火星相关的数据在训练集中相对较少,所以ChatGPT只能生成相对模糊的回答。
如何才能登陆火星?
登陆火星是一项极其复杂和具有挑战性的任务,需要多个步骤和技术来实现。以下是通常的火星登陆任务的主要步骤概述:
1.任务规划和准备
2.发射
3.轨道航行
4.着陆点选择
5.进入大气层和减速
6.降落阶段
7.着陆后操作
需要注意的是,这只是一个大致的概述,实际的火星登陆任务将涉及更多的具体技术和步骤,以确保任务的安全和成功。登陆火星是一项极具挑战性的工程壮举,目前只有少数国家和机构有能力实施。
具体到每个提示的回答质量还是取决于提示本身,这也就是提示工程的价值所在。在设计提示时,虽然应用提示工程不能突破模型本身决定的回答质量上限,但是正确地使用提示工程来设计和优化提示,可以在回答质量上限范围内有效提升回答质量。因此,学习和使用提示工程可以有效提升如ChatGPT这样的大语言模型的应用能力。通过合理的提示设计,ChatGPT可以提供更加准确的答案,从而协助用户完成更加复杂的任务。
“人工智能不会取代你的工作,但是会使用人工智能的人会取代你。”笔者十分认同著名经济学家理查德·鲍德温在2023年世界经济论坛中强调的这个观点。人工智能在短期内并不会发展出可以直接替代人类工作的机器人,但如果懂得如何使用人工智能工具,那么将可以大大提升日常工作效率。在不远的将来,会使用人工智能工具的人与其他不使用人工智能工具的人相比,其生产效率将遥遥领先。类似于过去计算机的出现,早期那些能够熟练使用计算机的人在工作中就获得了巨大的优势。因此,作为可以帮助人们高效使用ChatGPT这样划时代人工智能工具的重要学科,提示工程具有重要意义。提示工程的学习和应用将使人们更加熟悉人工智能工具的使用方法,提高对其能力和局限性的理解。这将帮助人们更好地将人工智能工具整合到工作流程中,使其成为工作的有力助手。
提示工程具有广泛的应用场景。提示工程基于ChatGPT可以被应用到教育、市场营销、新媒体运营、软件开发、数据分析等众多领域。下面是一些在常见场景下提示工程的应用示例。在后续章节中笔者也会结合具体的提示工程技巧来讲解这些场景中的应用。
通过提示工程,可以将ChatGPT开发为企业特定场景下的智能客服,从而协助企业进行用户支持。通过合理的提示设计,ChatGPT能够快速识别用户的问题,并提供个性化的解答或指导。这可以大大降低普通企业在客服方面需要投入的资金和人力,并且与现有的“智能”客服相比,大大提升了客服质量。
提示工程可用于文本摘要的生成。通过提示设计,ChatGPT可以根据需求来控制生成文本的风格、长度和内容,从大量文本中提取出符合要求的关键信息。
提示工程在语言翻译和语言学习领域也具有重要应用。通过提示设计,可以控制ChatGPT在特定语言之间的翻译,并且可以设定翻译风格和偏好,实现更精准流畅的翻译。在语言学习方面,通过设计提示,可以用ChatGPT为学习者提供个性化的学习建议和练习。例如,可以通过应用插件帮助学习者练习口语,纠正学习者在写作中的单词语法问题,从而帮助他们提高语言水平和理解能力。
使用提示工程的技术,可以帮助ChatGPT识别和理解不同的数据类型和结构,从而更加准确地对数据进行分析、建模和预测。因此可以有效提升数据分析相关工作的效率。例如,利用提示工程将ChatGPT应用于股票大盘分析,能够大大提升数据分析的效率,至于预测准确度是否能提升,这就取决于我们提供的具体数据的精度和准确度了。
利用提示工程的技巧,可以使ChatGPT批量识别文本中的情绪,例如,可以帮助企业在市场营销推广时进行用户评论分析,即能够快速识别大量用户在评论和帖子中留言的情感倾向,从而了解整体用户对产品的好恶,精准把控营销推广的方向。
电子游戏也是提示工程技术的一个重要应用场景。通过设定提示,可以让ChatGPT扮演不同虚拟角色,来跟玩家进行对话互动和提供游戏任务的指导。之前在制作电子游戏虚拟角色时,需要人工设计大量对话,并且虚拟角色只会不断重复那几句预先设计好的对话。运用提示工程后,游戏设计者只需要用明确的提示告知ChatGPT它所需要扮演的虚拟角色即可,不需要逐句设计每个角色的对白。此外,因为由ChatGPT来扮演虚拟角色,所以它会根据问题和它扮演的角色自动生成符合场景的回答,可以有效提升游戏的开发效率及提升用户的游戏体验。
提示工程基于ChatGPT的应用领域非常广泛,远不止以上提到的几个例子。在后续的章节中,将介绍更多有趣和深入的提示工程应用示例,涵盖不同行业和领域的创新应用。