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