Press "Enter" to skip to content

《ChatGPT中的提示工程精要指南》

自从发布以来,ChatGPT在人工智能领域掀起了波澜,以创纪录的速度吸引了超过1亿用户。ChatGPT令人印象深刻的性能和多功能性的秘密在于其编程中巧妙嵌入的一门艺术——prompt engineering。

2022年推出的DALL-E、MidJourney和StableDiffusion凸显了生成式人工智能的颠覆潜力。但真正在2022年后半年登上舞台中央的是OpenAI的ChatGPT。而这股势头没有显示出任何放缓的迹象。

谷歌宣布Bard和Meta的Lamma 2对OpenAI的ChatGPT的回应,显著加剧了人工智能竞赛的势头。通过为这些模型提供输入,我们引导它们的行为和回应。这使我们在某种程度上都成为了prompt engineer。科技行业已经注意到了这一点。风险投资家正在向专注于prompt engineering的初创企业注入资金,如Vellum AI。此外,福布斯报道,prompt engineer的薪水超过30万美元,这表明这是一个蓬勃发展且有价值的就业市场。

在本文中,我们将在ChatGPT的背景下揭开prompt engineering这个世界的神秘面纱。我们将探索核心原则,深入研究技术,并考察它们的商业应用。

在深入研究prompt engineering之前,让我们先了解ChatGPT的工作原理以及prompt engineering在这个过程中的关键作用。在接下来的文章中,我们将深入讨论其中一些高级技术,敬请关注!

ChatGPT Prompt Engineering的机制

ChatGPT成功背后的秘密在于它能够理解和模仿人类对话的细微差别。该模型在训练时使用了各种各样的互联网文本,但关键是它并不知道训练集中的具体文档或来源,确保了泛化而不是具体化。这种训练方法使得ChatGPT能够生成富有创意的回应,处理复杂的对话,甚至展示一定的幽默感。然而,重要的是要记住,ChatGPT并不真正理解或持有信念;它生成回应是基于在训练过程中学到的模式。

ChatGPT对人类语言的理解和回应以一种细腻而具有上下文感知的方式使它们成为了极其多功能的工具。

这些模型的机制建立在“tokens”概念上——离散的语言块,可以是一个字符,也可以是一个完整的词。这些模型每次处理特定数量的tokens(GPT-3.5-Turbo为4096个,GPT-4为8192或32768个),预测下一个可能的tokens序列。模型使用复杂的线性代数处理这些tokens,预测最有可能的下一个token。

《ChatGPT中的提示工程精要指南》 四海 第1张

例如,一个简单的九个单词的句子可能会变成十个tokens。即使是一个复杂的单词,也可能会变成多个tokens,这有助于模型更好地理解和生成语言。即使是具有复杂词结构的语言,如德语,也通过tokenization进行处理。

《ChatGPT中的提示工程精要指南》 四海 第2张

 

GPT(生成式预训练Transformer)模型通过逐个生成token的方式工作,从第一个token开始,一直生成到最后一个token。在生成每个token之后,模型重新访问整个序列,并再次处理它以生成下一个token。这个迭代过程一直持续到生成最后一个token,使得文本生成类似于一个大型的for循环。

但这里有一个要注意的地方——这些回应的质量在很大程度上取决于它们接收到的prompt。就像与人对话一样,引导ChatGPT对话需要一定水平的技巧和理解。这就是prompt engineering发挥作用的地方。

什么是Prompt Engineering?

Prompt Engineering是一种艺术,通过精确、有效的prompt/input来引导ChatGPT等人工智能(NLP/视觉)模型生成成本最低、准确、有用和安全的输出。

Prompt engineering不仅仅局限于文本生成,而是在人工智能领域广泛应用。它越来越多地应用于机器人流程自动化机器人、3D资产、脚本、机器人指令和其他类型的内容和数字媒体。它提供了逻辑、编码、艺术和在某些情况下特殊修饰符的独特融合。

尽管prompt可以包括自然语言文本、图像或其他类型的输入数据,但输出在不同的人工智能服务和工具之间可能会有很大的差异。每个工具都有其特殊的修饰符,描述所需回应的单词权重、风格、观点、布局或其他属性。

这个领域对于创建更好的基于人工智能的服务和从现有的生成式人工智能工具中获得更好的结果至关重要。例如,企业开发者经常利用提示工程来定制大型语言模型(LLM),如GPT-3,以为客户提供的聊天机器人提供动力,或者处理诸如创建行业特定合同之类的任务。

这种提示改进和测量人工智能性能的迭代过程是使人工智能模型能够在各种情境中生成高度针对性、有用的响应的关键要素。

成为提示工程师

GPT-4模型在理解复杂指令和准确解决复杂问题方面的能力使其成为一种宝贵的资源。然而,有多种方法可以利用这个模型的能力,理解这些方法对于提示工程师在提高效率和成本效益方面至关重要。

与GPT-4这样的GPT模型进行交互的方式基本上有两种。一种方式是通过OpenAI的API,其中的成本是根据输入和输出的标记数计算的。在这种情况下,每1000个标记的成本可以根据上下文大小而变动。例如,在一个更大的32K上下文中,输入标记的成本可能高达0.06美元,输出标记的成本可能高达0.12美元。因此,在处理大量请求时,使用成本可能会迅速累积。

另一种方式是使用基于订阅的模型ChatGPT,该模型利用了GPT-4模型。

提示工程的另一个关键任务是模型参数调整。这个过程涉及调整模型用于进行预测的变量。通过微调这些参数,提示工程师可以提高模型响应的质量和准确性,使其在上下文中更具相关性和帮助性。

尽管许多提示工程师来自技术背景,但这个领域的多学科性使其对来自不同专业背景的个人来说也是可访问的。越来越多的作家、研究人员甚至艺术家都利用自己独特的技能来增强人工智能模型的效果。这种转变也反映在就业市场上,越来越多的公司正在寻求具有各种技能和背景的提示工程师。

在ChatGPT中的提示设计与工程

提示设计和工程在优化语言模型的性能方面起着关键作用,不仅仅是制定问题,还需要对人工智能模型有深入的理解,并采用高度迭代和精细的方法。

《ChatGPT中的提示工程精要指南》 四海 第3张

提示设计

提示设计的核心是为给定的大型语言模型(LLM),如ChatGPT,创建完美的提示,以实现明确的目标。它是以下要素的融合:

  • 对LLM的理解:不同的语言模型对相同的提示可能会有不同的回应。此外,某些语言模型可能具有独特的关键词或触发器,它们以特定的方式进行解释。
  • 领域知识:在设计提示时,对相关领域的专业知识至关重要。例如,生成一个提示来推断医学诊断需要医学知识。
  • 迭代方法和质量评估:创建理想的提示的过程通常涉及试错。因此,除了主观判断之外,拥有一种评估输出质量的方式对于在更大范围内使用提示至关重要。

提示工程

提示工程是提示设计的延伸领域,包括几个关键过程:

  • 大规模提示设计:这个过程包括设计元提示(生成其他提示的提示)和提示模板,这些是参数化的提示,可以在运行时实例化。
  • 工具设计和集成:提示有时可能包含来自外部工具的结果,将这些工具无缝集成到系统中非常重要。
  • 工作流程、规划和提示管理:部署像聊天机器人这样的LLM应用通常需要管理提示库,规划和选择合适的提示,并有效地集成各种工具。
  • 提示的评估和质量保证:这方面包括定义评估提示的指标和过程,既可以自动进行,也可以人工参与。
  • 提示优化:AI模型的成本和延迟可能取决于模型的选择和提示的长度(标记数)。

已经开发了许多自动提示设计方法、工具和框架来管理大规模的提示。然而,重要的是要理解,这些工具不能取代经验丰富的提示工程师对细微差别的理解、判断和经验。

提示工程:技巧和最佳实践

1)提示放置和描述

将指示放在提示的开头可以显着影响AI的理解和响应。考虑将文本总结为项目格式的任务。一个不太有效的方法是:

用户:将下面的文本总结为最重要的要点的项目列表。{这里输入文本}

另一方面,更有效的技巧可能是:

用户:将下面的文本总结为最重要的要点的项目列表。文本:“”“ {这里输入文本} ”“”

通过使用###或“”“等符号明确分隔指示和上下文,AI模型可以更好地划分其任务和需要处理的文本,从而提供更准确和相关的响应。

其次,对上下文、预期结果、长度、格式、样式等进行具体、描述性和详细的说明可以显著提高AI响应的精确性。假设您需要以引人入胜、通俗易懂的方式生成一篇科学论文的简要概述。与不明确的指示“总结科学论文”相比,具体、详细的提示会产生更有效的结果:

用户:生成一篇简要(约200字)的、引人入胜的以下科学论文概述。该摘要应该让没有科学背景的人能够理解,同时准确反映论文的主要发现。论文:“”“ {这里是科学论文的文本} ”“”

2)人设模式

人设模式是一种将AI设置为特定角色(如专业角色或虚构角色)来运作的策略。这种策略使模型能够提供与角色相关的输出。例如,可以指示AI在代码审查期间扮演网络安全专家的角色。当用户需要帮助但不确定输出所需的确切细节时,这种模式特别有用。

以以下内容为例:

用户:“假设你是一位专门研究法国大革命的高级历史学家。在这个人设下,解释导致法国君主制垮台的主要事件和原因。”

在这种情况下,AI应该像历史学家一样,深入分析法国大革命,重点关注君主制的垮台。

引入新信息

ChatGPT的训练截止日期之后,它没有超出其训练的知识,因此无法提供关于最近事件或更新的信息。但是,您可以通过提示向模型引入新信息。

用户:“什么是加密货币?” ChatGPT:“加密货币是一种使用密码学进行安全保护的数字或虚拟货币。最知名的加密货币是比特币。”

现在,如果我们在提示中添加更多背景信息,我们可以使解释更加直观:

用户:“向一位学习数字金融的高中生解释加密货币的概念” ChatGPT:“想象一下你在玩在线游戏,有一种游戏货币可以赚取来购买升级或新角色。加密货币有点像那样,但不仅限于游戏,你实际上可以用它来购买现实世界的商品和服务。它就像没有银行或政府控制的数字货币。”

3)提示大小限制

了解ChatGPT的标记限制非常重要,因为它直接影响我们可以输入的信息的数量和类型。语言模型不能一次处理无限量的数据。它们在创建和输入提示的大小上有固有的限制。这种限制对提示的设计和执行产生深远的影响。

ChatGPT具有标记限制(通常为2048个标记),包括提示和生成的响应。这意味着长提示可以限制响应的长度。因此,保持提示简明而有信息量是很重要的。

在实际使用中,我们必须充当编辑人员,有选择地选择与手头任务相关的最相关信息。想象一下写一篇有字数或页数限制的论文或文章-你不能只是随意堆砌事实,而是要仔细选择和组织与主题相关的信息。

用户:“鉴于模型的标记限制,以不超过1000字的长度概括第二次世界大战的关键事件。”

通过承认模型的标记限制,这个提示指导AI提供一个简洁而全面的二战摘要。

重复使用的提示:在对话场景中,您可以重复使用提示或根据先前的回应进行改进。这样可以保持对话的流畅性并保持互动的上下文。

4) 问题改进模式

ChatGPT还可以帮助您改进问题。例如,如果您提出一个问题,它可以建议一个更好的问题以获得更准确的结果。

问题改进模式涉及LLM改进用户提出的问题。当用户不是某个领域的专家或者不确定如何表达自己的问题时,这个模式特别有用。

一个示例提示可能如下:

用户:“每当我问一个关于数据科学的问题时,根据统计分析具体问题建议一个更详细的问题,然后问我是否要使用这个更详细的问题。”

在这里,期望AI将用户的普通数据科学问题细化为考虑统计分析方面的详细问题。

5) 认知验证模式

认知验证模式将复杂问题分解为更小、可管理的子问题。这些子问题的答案然后被组合起来,提供对主要问题的全面答案。当初始问题过于高层次或者需要额外的澄清以提供完整的答案时,这种方法非常有用。

例如:

用户:“如果我问一个关于气候变化的问题,将其分解为三个更小的问题,这些问题将帮助你提供更准确的答案。将这些子问题的答案组合起来给出最终答案。”

在这种情况下,AI将把关于气候变化的复杂问题分解为三个可管理的子问题。在获得这些子问题的答案后,AI将把它们组合起来提供更全面和准确的回答。

这种模式涉及生成多个问题以获得更准确的最终答案。这是一个验证和整合信息的过程,以获得稳健的最终输出。

6) 少量示例提示方法

少量示例提示是一种强大的方法,用于教授AI模型遵循特定模式或执行任务。其思想是在询问所需问题之前,向模型提供一些示例。这有助于设定所需的行为并引导模型的响应。

考虑一个场景,用户试图为一款新的技术小工具起草简洁、引人入胜的营销文案:

用户:“这是一些技术营销文案的例子:‘使用我们的尖端无线耳机,以前所未有的方式体验音乐。’‘用我们超薄的动作相机以惊人的4K画质捕捉你的世界。’在给出这些例子后,为我们的新款AI智能手表起草一份营销文案。”

ChatGPT:“用我们的AI智能手表提升您的生活方式,它是您在健康、连接性和生产力方面的伴侣。” 少量示例学习的显著特点是它不需要对如何执行任务进行详细的描述,而是需要展示正在做什么的演示,因此适用于许多应用。

此外,这种技术的应用不仅局限于简单的输入-输出配对。模型还可以被教授处理中间步骤以实现目标。

7) 思维链提示

在他们最近的研究论文“思维链提示引发大型语言模型的推理”中,作者魏杰森和团队旨在激发大型语言模型中的推理能力。团队没有使用传统的直接提示,而是使用一系列相互关联的提示,形成了一条“思维链”。

例如,一个用户可能对人工智能对就业市场的潜在影响感兴趣:

用户:“你能简要解释一下人工智能的概念吗?”

ChatGPT:“人工智能,简称AI,指的是机器模仿智能人类行为的能力。它涉及设计能够像人类一样思考和学习的机器,使它们能够执行语言翻译、决策和问题解决等任务。”

用户:“人工智能如何影响当前的就业市场?”

ChatGPT:“人工智能既创造了新的工作岗位,也改变了现有工作的性质。一方面,它自动化了例行工作,导致某些行业的就业岗位减少。另一方面,它正在创造出以前不存在的岗位需求,例如人工智能伦理官员、数据分析师和机器学习工程师。此外,人工智能可以增强人类角色,使人们能够更高效、更准确地完成任务。”

思维链提示按照相关提示的进展,与模型保持“对话”,引导其产生更精确和与上下文相关的回答。

从开发者的角度理解ChatGPT API和Prompt工程

从开发者或研究者的角度来看,Prompt工程是一个更复杂的过程。它涉及到设计算法和技术来帮助AI模型更有效地理解和回应提示。这可能包括处理模棱两可的提示、识别提示的上下文,或将提示串联在一起以激发AI中更复杂的思维过程的策略。

 

《ChatGPT中的提示工程精要指南》 四海 第4张

在上面的示意图中,用户通过由GPT-4驱动的聊天界面进行交互。他们的输入经过一个专门的模块进行了清晰度和上下文一致性的增强,然后传递给AI模型。这个模块的作用是为了更好地理解用户的输入,并在保持对话的上下文的同时对其进行改进。基于改进后的提示,AI的回应通过聊天界面返回给用户。交互历史始终保持更新,保持对话的上下文。总体而言,这个图表展示了Prompt工程技术所实现的动态用户-AI对话流程。

ChatGPT API的接口经过工程化处理,具有各种超参数,使用户能够调整AI对提示的回应,使其更加有效和多样化。其中包括温度、最大长度和停止序列参数。让我们探讨一下它们的功能以及它们在不同情境中的应用。

 

《ChatGPT中的提示工程精要指南》 四海 第5张

1) 温度

温度参数影响AI回应的随机性。较高的温度,如1.0,会鼓励更随机的输出,导致多样但可能离题的回应。相反,较低的温度,如0.2,会促使AI选择更确定性的回应,这对于专注和具体的输出可能是有益的,但可能缺乏多样性。

例子:如果你正在写一个创意故事,希望有不可预测的、富有想象力的元素,可以将温度设置为较高的值。一个提示可以是:“写一个关于一只穿越时空的猫的短篇故事。”在较高的温度下,你可能会得到一个充满奇幻故事和不可预测转折的故事。

2) 最大长度

这个参数控制模型输出的最大标记长度,包括输入和输出中的标记。设置较高的限制可以得到更长的回应,而较低的限制可以使输出简短而简洁。

例子:对于像“2020年诺贝尔文学奖的获得者是谁?”这样的简短问题,你可能希望将最大长度设置为较低的值,确保回应简洁明了。

3) 停止序列

停止序列是特定的文本字符串,当模型遇到它们时,它会停止生成进一步的输出。这个特性对于控制输出的长度或指示模型在逻辑端点处停止很有用。

例子:对于一封正式信件,你可以使用“此致敬礼,”作为一个停止序列,确保AI不会在信件的适当结束之后生成任何额外的文本。

4) Top P

“Top P”参数,也称为核心抽样,是一种方法,它在模型预测的每一步中提供动态选择考虑的单词数量。较低的值,如0.5,会导致更安全、更集中的输出。较高的值,如0.9,包括更广泛的单词选择,导致更多样化的输出。

例子:如果你正在创建一个写诗的AI,并希望它使用广泛的词汇和风格短语,可以将“Top P”设置为较高的值。一个提示可以是:“写一首关于秋天美丽的诗。”

5) 频率惩罚

频率惩罚控制模型应该偏好使用不常见单词的程度。较高的惩罚(最高为1)鼓励模型使用不常见的单词,而较低的值(最低为-1)鼓励模型使用更常见的单词。

示例:如果您想生成业务提案并希望避免使用术语,您可以将频率惩罚设置为较低的值,以保持语言清晰和易懂。

6) 存在惩罚

存在惩罚参数影响模型在生成对话历史中未出现的新想法或主题时被惩罚的程度。较高的值鼓励模型坚持已提及的主题,而较低的值允许模型更自由地引入新概念。

示例:对于头脑风暴会议,您可以将存在惩罚设置为较低的值,以鼓励多样化的想法。您可以使用类似以下的提示,“为在线教育平台生成创新的营销策略。”

提示工程的行业应用

客户支持和常见问题解答生成

在客户支持领域,提示工程的效用不言而喻。在这个领域中,人工智能的最具创新性的应用之一是AI驱动的聊天机器人的出现。例如,考虑一家电商平台如eBay。他们利用经过提示工程微调的先进聊天机器人系统来处理客户咨询。该聊天机器人能够处理各种问题,包括但不限于提供交付更新、处理退款请求和回答有关产品规格的查询。

当客户询问“我的订单在哪里?”时,AI聊天机器人不仅仅会回复一个通用消息;相反,它会访问订单管理系统,获取实时数据,并提供个性化的回复,如“您的订单#1234当前正在运送中,预计明晚将送达。”这样的个性化和相关性回复是经过精心设计的提示的直接结果,这些提示构成了这些智能聊天机器人系统的核心。

内容创作和营销

在内容创作和营销领域,提示工程是基于人工智能的创新的基石。像Grammarly这样的公司使用AI驱动的引擎帮助用户创建引人入胜和语法正确的内容。这些平台基于提示工作,指导AI模型生成可以增强内容整体质量的建议或更正。

考虑一个用户想要创建关于人工智能进展的引人入胜内容。他们可以使用一个提示,如:“用简单而引人入胜的方式解释最新的人工智能进展,以供初学者阅读。”AI利用这个提示,可以起草一篇简洁、读者友好的关于复杂人工智能概念的文章,从而弥合知识差距并激发读者兴趣。这只是提示工程增强内容创作的众多方式之一。

编码辅助和代码解释

在这种情况下,提示工程就像开发人员与AI之间的双向对话。开发人员向AI提供提示,即他们需要实现的问题或功能的描述,而AI则用相关的代码片段或建议回复,帮助软件开发过程。

此外,通过OpenAI的专业知识,开发了增强型编码工具,如GitHub Copilot。这些先进的工具经过了广泛的训练,可以执行填写不完整的代码文件等复杂任务。这样做的同时,它们还要应对编写代码和完成代码的不同过程之间的明显差异。

教育和个性化学习

人工智能在教育领域的整合近年来有了显著的增长,而提示工程在其中发挥了关键作用。开发了AI导师来提供个性化的学习体验,适应每个学生的学习速度和风格。

以Duolingo这样的基于AI的学习平台为例。它使用经过精心设计的提示来评估学生在新语言方面的熟练程度,并提供适当的练习。如果学生正在学习法语并且在时态变化方面遇到困难,AI导师可以引入定制的练习,如“用现在时态变化动词’manger’(吃)。”学生的表现和进步会不断评估,提示会根据评估结果进行改进和调整,确保个性化和高效的学习体验。

提示工程的不可阻挡崛起

随着我们深入研究提示工程的结束,强调这个领域是多么新生是至关重要的。我们正站在一个人工智能超越对预先编程命令的响应,发展出能够处理和执行精心设计的提示,从而产生高度特定结果的时代的边缘。

我们探索的众多应用领域,从客户支持到内容创作、数据分析和个性化学习,仅仅是冰山一角。随着这个领域的研究不断深入,我们可以期待更加复杂和精细的提示工程应用。人类创造力和人工智能的智慧的融合正在推动我们走向一个未来,人工智能将不仅仅是辅助,而是改变我们生活各个方面。

Leave a Reply

Your email address will not be published. Required fields are marked *