什么是提示工程?
提示工程流程定义
提示工程是一种用于设计 生成式 AI 工具 输入的工程技术,用于调整 大型语言模型 并优化输出。
提示被称为输入,而生成式 AI 工具生成的答案是输出。输入级别的准确性和特异性(这就是提示工程的用武之地)决定了生成式 AI 工具如何反过来生成更准确和具体的答案。通过有效的提示工程,生成式 AI 工具可以更好地执行其生成任务,例如生成代码、撰写营销文案、创建图像、分析和合成文本等等。
提示工程结合了逻辑和编码的原理。它还需要一些人类的创造力。提示工程的要求可能因技术而异,但大多数生成式 AI 工具都可以处理自然语言提示或查询。换句话说,提示工程就像提出一个问题,并附带具体的说明,以帮助指导答案的准备方式。
提示工程的基础知识
要了解提示工程的基础知识,重要的是要回顾一下 生成式 AI 和 大型语言模型 (LLM)。
生成式 AI,或称生成式 AI,是指能够生成内容的人工智能类型,无论是文本、代码、图像、音乐还是视频。大型语言模型是使生成式 AI 能够生成输出的基础技术的一部分。
LLM 是 AI 中自然语言的支柱。它们支持任何与文本相关的应用程序:分析、合成、翻译、识别和生成。大型语言模型在大量信息(通常是文本)上进行训练,并从这些文本中学习模式,这使得它们能够在被查询时生成预测或输出。
了解 LLM 的预测方面是理解提示工程工作原理的关键
- 您输入一个输入 - 提示。它可能包含一个输出指示符,让模型知道生成的响应应该采用什么格式。
- 模型通过使用从训练数据中学习到的推论和模式(以数字的形式)进行“思考”。在此过程中,它会尝试识别模式,这就是为什么生成的结果被称为预测的原因。
- 然后它会生成一个输出 - 响应。
因此,在基本层面上,有效的提示可能包含指令或问题,并由上下文、输入或示例来支持。
以下是提示工程的基本示例
输入
植物是
通过这个提示,我们希望 AI 完成这个句子。但是,它缺乏特异性。当输入到 OpenAI 的 ChatGPT 3.5 模型中时,它会生成以下输出
因此,我们尝试通过添加省略号来澄清。
输入
植物是…
省略号足以生成完成句子的输出。但是,模型过度交付了
由于我们并不是在寻找关于植物的完整百科全书条目,因此我们指定了我们的指令。
输入
完成句子
植物是
现在模型生成以下输出
我们可以继续指定我们的指令
这种迭代指令调整是提示工程的基本原则。它会因模型而异,并且可以根据所需的任务采用各种格式。
为什么提示工程很重要?
提示工程在生成式 AI 领域是一项重要的实践,因为它可以改进 AI 驱动的工具,从而改善用户体验以及用户从模型中获得的结果。
零样本训练就是这样一种工程技术,它包括提供一个不属于模型训练数据的一部分的提示,以生成特定的结果。
开发者可能会尝试这种类型的提示工程来调整大型语言模型(如 GPT-3),以改进其作为客户服务聊天机器人的应用,或其特定行业的生成内容的能力 - 例如合同、营销电子邮件等等。
让我们来看一个现实生活中的例子,看看提示工程的重要性
一家电子商务公司选择构建一个应用程序,该应用程序结合了生成式 AI 工具来改善其客户服务。他们要求 AI 助手能够评估客户情绪、审查客户档案和客户对话记录,并为客户提供与其查询相关的选项。该公司需要借助提示工程对该工具进行微调,以专门在公司销售的产品或服务的背景下执行这些特定任务。在这种情况下,提示工程可确保应用程序中的 AI 助手对公司和用户都有用。公司还可能希望在客户输入之前加入提示,以确保客户体验的安全性,并防止该工具被滥用。例如,旨在确保良好用户体验的提示可能如下所示:“仅回答与电子商务或购物体验相关的问题。” 对于与电子商务或购物无关的问题,请回复“我无法回答该问题,请考虑联系客户支持”。
提示工程的类型
对于每种类型的任务或期望的输出,都有一种相关的提示工程类型。以下列出几种提示工程技术
- 指令性提示: 如上例所示,这种类型的提示工程要求设计者精心设计一个包含预期输出的明确指令的提示。
- 少样本提示: 零样本提示是一种不向模型提供任何预期答案示例的提示类型,而少样本提示则包含输入一些示例来演示您希望模型如何响应。
- 思维链提示: 这种技术对数学问题很有用,它包括在提示中列出推理步骤,以便模型在输出中提供其推理过程。
- 生成式知识提示: 这种技术通过向大型语言模型提供一个事实以及与该事实相关的信息来帮助对其进行微调,以便它可以先生成一个基于知识的输出。然后,第二个输入将提示模型判断事实的准确性,并结合它在第一个输出中产生的知识。作为响应,模型应该对查询输出准确的答案。这是一种用于提高大型语言模型准确性的技术。
- 思维树提示: 这种技术通过概括思维链提示并将自然语言中间步骤或想法输入到模型中,从而实现更复杂的解决问题。思维树提示使语言模型能够自我评估中间想法对解决问题的影响。换句话说,这是一种鼓励模型进行深思熟虑的推理过程的提示工程技术。
这只是一些提示工程技术的不完全列表。随着对生成式 AI 和大型语言模型的研究不断深入,将会出现各种新的提示工程技术。
提示工程的挑战和局限性
尽管提示工程有助于充分利用生成式 AI 技术,但它也带来了一些与对抗性提示、事实性和偏见相关的挑战和局限性。
对抗性提示是一种提示注入,它从大型语言模型中引出“对抗性行为”。它给用户带来了重要的安全问题,这些类型的提示可能会劫持输出并影响模型的准确性。
有各种记录在案的对抗性提示类型,包括提示泄露和越狱——这些技术旨在让大型语言模型做它从未打算做的事情。这种行为通常是有害的。因此,虽然提示工程可以帮助改进大型语言模型,但恶意提示工程可能会产生相反的效果。
大型语言模型生成的输出的事实性和偏见也表明了提示工程的局限性。大型语言模型的好坏取决于它所训练的数据。这些数据本身就包含模型学习到的偏见。因此,即使得到有效的提示,模型也会生成有偏见的响应,或者生成读起来很有说服力但可能根本不准确或不真实的响应。这些错误也被称为幻觉。一些额外的提示工程(在输入字符串中添加上下文和知识)可能有助于改进输出,但用户必须首先知道模型生成的原始输出是不正确的。
为了充分利用提示工程的潜力,用户必须运用洞察力并应用验证技术或流程。
在人类层面,提示工程将颠覆就业市场。根据麦肯锡的说法,生成式 AI 有可能将员工多达 70% 的工作任务自动化1。提示工程在某些领域已经是一项广受欢迎的专业技能,它可能会成为大多数员工的基本要求。各行各业和组织将面临提高员工技能的挑战。
有效提示工程的策略
提示工程结合了编码、逻辑和一些艺术。有效提示工程的策略应依赖于上述所有方面。请考虑以下策略
一开始要保持简单
从简入手。设计提示是一个迭代过程,因此从小处着手有助于您了解模型如何响应以及如何塑造您的提示以获得最佳结果。
要具体
输入级别的具体性确保了输出级别的准确性。在您的指令中使用主动命令,例如“完成”、“总结”、“翻译”等,并添加为模型设置清晰解释边界的修饰语,例如“将此文本翻译成加拿大法语”或“用 100 字或更少的字数总结玛丽·雪莱的《科学怪人》”。
考虑我们关于提示工程基础知识的示例。当我们完善提示时,我们指定了我们希望模型在完成句子时告诉我们关于植物的哪些信息。
告诉它要做什么(而不是不要做什么)
用肯定的语气表达您希望模型做什么,而不是用否定的语气。也就是说,不要告诉它不要做什么。同样,使用主动语态提示并具体说明预期结果。
要简洁
虽然具体很重要,但重要的是要平衡这种具体性与简洁性和精确性。冗长的提示,即使是具体的,也常常会使模型感到困惑。
在提示大型语言模型时,请考虑您将如何响应一组执行任务的指令。您是否清楚地知道您被要求做什么?您是否因为简介太长或太罗嗦而在简介中迷失了方向?这种思考,再加上您对大型语言模型工作方式的理解,将指导您的提示工程以获得最佳结果。
使用 Elastic 进行提示工程
Elasticsearch 相关性引擎 (ESRE) 专为人工智能驱动的搜索应用程序而构建,它结合了 自然语言处理 (NLP) 和生成式 AI,以增强客户的搜索体验。
在 Elastic 搜索相关性引擎的支持下,Elastic 的 AI 助手 可用于 安全 和 可观测性,可以帮助您的团队进行警报调查、事件响应以及查询生成或转换。Elastic AI 助手提供有关提示的建议,使您的团队能够进行网络安全或可观测性操作。
您接下来应该做什么
您接下来应该做什么 当您准备好的时候... 我们可以通过以下 4 种方式帮助您将数据引入您的业务
- 开始免费试用,了解 Elastic 如何帮助您的业务。
- 浏览我们的解决方案,了解 Elasticsearch 平台的工作原理,以及我们的解决方案如何满足您的需求。
- 了解如何设置您的 Elasticsearch 集群,并通过我们 45 分钟的网络研讨会开始数据收集和提取。
- 与您认识的喜欢阅读本文的人分享本文。通过电子邮件、LinkedIn、Twitter 或 Facebook 与他们分享。
脚注
Chui, Michael。“生成式 AI 的经济潜力:下一个生产力前沿”,麦肯锡,2023 年 6 月 14 日,https://www.mckinsey.com/capabilities/mckinsey-digital/our-insights/the-economic-potential-of-generative-ai-the-next-productivity-frontier#/