提示工程的基础知识
要了解提示工程的基础知识,有必要先回顾生成式 AI 和大型语言模型 (LLM)。
生成式人工智能(简称生成式 AI)是指能够生成内容的人工智能类型,这些内容可以是文本、代码、图像、音乐或视频。大型语言模型是生成式 AI 能够产生输出的底层技术之一。
大语言模型 (LLM) 是 AI 处理自然语言的核心。它们支持各类文本应用,包括分析、综合、翻译、识别和生成。大语言模型使用大量信息(通常为文本)进行训练,并从中学习模式,因此可以在收到查询时生成预测或输出。
理解大型语言模型的预测特性是理解提示工程工作原理的关键:
- 您输入内容,即提示。它可能包含输出指示符,告诉模型生成的响应应采用的格式。
- 模型利用从训练数据中学到的推论和模式(以数字形式表示)进行“思考”。在此过程中,它会尝试识别模式,因此生成的结果被称为预测。
- 然后它会生成一个输出——一个响应。
一个有效提示通常以指令或问题为基础,再辅以上下文、输入或示例。
这是提示工程的一个基本示例:
输入:
植物是
通过这个提示,我们希望 AI 完成这个句子。然而,它缺乏具体性。输入到 OpenAI 的 ChatGPT 3.5 模型中,会生成以下输出:

因此,我们尝试通过添加省略号来明确说明。
输入:
植物是…...
省略号足以生成一个能完成句子的输出。然而,该模型的表现超出了预期:

由于我们不是要完整的植物百科全书条目,因此需要明确指令。
输入:
请完成句子:
植物是
现在该模型输出如下内容:

我们可以继续细化指令:

这种迭代指令调优是提示工程的基本原理。具体方法因模型而异,并可根据任务需求采用不同格式。
为何提示工程如此重要?
提示工程是生成式 AI 领域的重要实践,因为它能改进 AI 工具,从而提升用户体验和模型输出质量。
零样本训练是一种工程技术,其原理是输入一个不属于模型训练数据的提示,以生成特定结果。
开发者可能会尝试使用这种提示工程来调优 GPT-3 等大语言模型,改善其在客户服务聊天机器人中的表现,或增强其生成合同、营销邮件等行业特定内容的能力。
让我们通过一个实际例子来看看提示工程的重要性:
一家电子商务公司决定开发一款集成生成式 AI 工具的应用程序,以提升其客户服务。他们要求 AI 助手能够评估客户情绪、查阅客户档案和客户记录,并为客户提供与其查询相关的选项。公司将需要在提示工程的帮助下对工具进行微调,以便在特定产品或服务的背景下,准确执行这些具体任务。在这种情况下,提示工程确保了应用程序中的 AI 助手对公司和用户均有帮助。公司可能还希望在客户输入之前包含提示,以确保客户体验的安全性,并防止工具被滥用。例如,一个旨在确保良好用户体验的提示可能如下所示:“仅回答与电子商务或购物体验相关的问题。”对于与电子商务或购物无关的问题,请回复“我无法回答该问题,建议您联系客户支持。”
提示工程的类型
对于每种类型的任务或期望输出,都有相应的提示工程。以下是几种提示工程技术:
- 指令式提示:与上面的示例类似,这种提示工程要求设计者精心构造提示,明确说明期望的输出。
- 少样本提示:与零样本提示不同,后者不向模型提供任何答案示例,而少样本提示则通过输入一些示例来展示你希望模型如何回应。
- 思维链提示:该技术对数学问题很有用,方法是在提示中列出推理步骤,让模型在输出中展示推理过程。
- 生成知识提示:该技术通过向大型语言模型输入一个事实,并结合与该事实相关的信息,帮助其微调,以便首先生成基于知识的输出。然后,次级输入会提示模型关于事实的准确性,并结合其在第一个输出中产生的知识。作为响应,模型应输出对查询的准确响应。这是一种用于提高大型语言模型准确性的技术。
- 思维树提示:该技术通过概括思维链提示并将自然语言中间步骤或想法输入模型,从而实现更复杂的问题解决。思维树提示赋予语言模型自我评估中间思维对问题解决影响的能力。换句话说,这是一种提示工程技术,鼓励模型经过一个深思熟虑的推理过程。
以下列举了几种提示工程技术,但并非详尽无遗。随着生成式 AI 和大语言模型研究的不断推进,各种新的提示工程技术将持续涌现。
提示工程的挑战和局限性
尽管提示工程有助于充分利用生成式 AI 技术,但它也带来了一些与对抗性提示、事实性和偏见相关的挑战和限制。
对抗性提示是一种提示注入方式,旨在诱导大型语言模型产生“对抗性行为”。这会给用户带来重要的安全问题,而且这类提示可能会劫持输出并影响模型的准确性。
已有文献记录了多种对抗性提示,包括提示泄露和越狱。这些技术旨在诱使大语言模型执行原本并非设计让其执行的操作。这种行为往往是有害的。因此,虽然提示工程可以改进 LLM,但恶意的提示工程可能产生相反的效果。
大语言模型输出的事实准确性和偏见也揭示了提示工程的局限性。大语言模型的性能取决于其训练数据的质量,而这些数据本身包含模型会从中习得的偏见。因此,即使提示设计得当,模型仍可能生成带有偏见的响应,或者给出看似可信、实际上却可能完全不准确或不符合事实的回答。这些错误也称为“幻觉”。进一步优化提示,例如在输入字符串中添加上下文和知识,可能有助于改善输出,但前提是用户首先意识到模型原来生成的输出有误。
要充分发挥提示工程的潜力,用户必须审慎判断,并采用相应的验证技术或流程。
从人类就业的角度来看,提示工程将重塑就业市场。据麦肯锡估计,生成式 AI 有望自动处理目前占员工工作时间多达 70% 的任务1。提示工程已经成为某些领域炙手可热的专业技能,未来很可能成为大多数员工的一项基本要求。各行业和组织将面临提升员工技能的挑战。
高效提示工程的策略
提示工程结合了编码、逻辑和一些艺术。有效的提示工程策略应依赖于以上所有因素。考虑这些策略:
从简单的提示开始
刚开始时,尽量使用简单的提示。提示设计是一个迭代过程,从简单的提示入手有助于您了解模型的响应方式,并掌握如何逐步调整提示以获得理想结果。
具体明确
输入越具体,输出就越准确。在指令中使用“完成”“总结”“翻译”等明确的动作词,并添加限定条件,为模型设定清晰的解释边界。例如:“将这段文字翻译成加拿大法语”或“用不超过 100 个词总结 Mary Shelley 的《弗兰肯斯坦》”。
请参考我们关于提示工程基础的示例。随着我们对提示的不断完善,我们会具体说明我们希望模型在完成句子时告诉我们关于植物的哪些信息。
告诉它要做什么(而不是不要做什么)
用正面而非负面的方式表达您希望模型做的事情。也就是说,不要告诉它不该做什么。同样,使用主动语态提示,并明确期望的结果。
简洁明了
具体固然重要,但也需要兼顾简洁性与精确性。提示即使具体,过长也常常会让模型感到困惑。
向大语言模型提供提示时,可以想想自己会如何响应一组用于完成任务的指令。您是否清楚对方要求您做什么?说明是否太长或过于冗余,让您抓不住重点?结合这种思考方式和您对大语言模型工作原理的理解,便可优化提示设计,获得更理想的结果。
使用 Elastic 进行提示工程
Elasticsearch 相关性引擎(ESRE)专为AI驱动的搜索应用打造,结合自然语言处理(NLP)和生成式AI,以提升客户的搜索体验。
依托 Elasticsearch Relevance Engine,Elastic AI Assistant for Security 和 Elastic AI Assistant for Observability 可以帮助团队开展告警调查、事件响应以及查询生成或转换。Elastic AI Assistant 还会提供提示建议,让网络安全和可观测性运营更高效。

接下来该怎么做
当您准备好之后……我们可以通过以下 4 种方式帮助您将数据融入到您的业务中:
- 开始免费试用,亲自了解 Elastic 如何助力您的业务。
- 浏览 Elastic 解决方案,了解 Elasticsearch Platform 如何运作,以及这些解决方案如何满足您的需求。
- 只需 45 分钟,即可通过网络研讨会了解如何设置 Elasticsearch 集群,并开始收集和摄取数据。
- 与您认识且喜欢阅读此类内容的人共享此文章。通过电子邮件、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#/