生成式 AI 大模型提示词工程实践
生成式 AI 大模型中的提示词工程实践。内容涵盖提示的基本要素如指令、上下文、输入数据和输出指示。深入探讨了零样本提示、小样本提示、思维链 (CoT)、自洽性、思维树 (ToT)、检索增强生成 (RAG)、ART 及 ReAct 等核心技术及其应用场景。此外,文章还分析了提示注入、提示泄露及模型偏差等安全问题,并提供了相应的缓解策略。通过对比不同技术的优缺点,为开发者提供了构建高效、安全 AI 应用的实用指南。

生成式 AI 大模型中的提示词工程实践。内容涵盖提示的基本要素如指令、上下文、输入数据和输出指示。深入探讨了零样本提示、小样本提示、思维链 (CoT)、自洽性、思维树 (ToT)、检索增强生成 (RAG)、ART 及 ReAct 等核心技术及其应用场景。此外,文章还分析了提示注入、提示泄露及模型偏差等安全问题,并提供了相应的缓解策略。通过对比不同技术的优缺点,为开发者提供了构建高效、安全 AI 应用的实用指南。


提示工程(Prompt Engineering)是一个新兴的领域,专注于开发、设计和优化提示(Prompts),以增强大语言模型(LLM)的输出,从而满足特定需求。它提供了一种引导模型行为以达到预期结果的方法。
提示工程与微调(Fine-tuning)不同。在微调中,使用训练数据调整模型的权重或参数,目标是优化成本函数。就计算时间和实际成本而言,微调可能是一个昂贵的过程。然而,提示工程试图引导经过训练的 FM、LLM 或文本到图像模型给出更相关、更准确的答案,无需更改模型参数。

提示工程是充分发挥大语言模型强大能力的最快方法。通过利用一系列问题、语句或指令与 LLM 交互,您可以根据希望实现的输出的特定上下文来调整 LLM 输出行为。
有效的提示技术可以助力企业实现以下益处:
提示的形式取决于您给模型指定的任务。探索提示工程示例时,通常会注意到提示包含以下部分或全部要素:
务必检查模型的响应,以确保提示产生适当质量、类型和范围的响应。根据需要更改提示。您甚至可以要求模型的一个副本改进或检查模型的另一个副本的输出。
通过反复尝试,您将提升撰写和优化提示的直觉,从而最好地适应您的需求和模型。提示工程是一种可通过实践不断提高的迭代技能。
零样本提示是这样一种提示技术:用户向 LLM 提出任务,而不给模型提供进一步示例。在这种技术中,用户期望模型在没有事先理解或尝试任务的情况下执行任务。现代 LLM 表现出卓越的零样本能力。
使用技巧:

小样本提示是这样一种提示技术:您为模型提供有关所请求执行的任务的上下文信息。在这种技术中,您同时提供任务和所需输出的示例。在提示条件中提供此上下文或少量样本,可以使模型严格遵循任务指导。
小样本提示中的标签不必正确即可提高模型性能。通常,应用随机标签比完全不使用标签要好。然而,演示指定的标签空间和输入文本的分布很重要。此上下文中使用的'标签'一词是指提示示例的输出。'提示示例'中的语句所表达的情绪是标签的示例。
如果您有大量示例可以利用,请使用技术来遵守模型的标记限制并动态填充提示模板。您可以使用基于语义相似度的示例选择器来提供帮助。

思维链提示通过中间推理步骤分解复杂的推理任务。您可以将零样本提示技术和小样本提示技术与 CoT 提示结合使用。思维链提示特定于问题类型。您可以使用短语'一步一步地思考'在机器学习模型中调用 CoT 推理。
示例结构:
问题:如果我有 3 个苹果,又买了 2 个,然后吃了 1 个,还剩几个?
回答:让我一步一步思考。
1. 初始有 3 个苹果。
2. 买了 2 个,现在共有 3 + 2 = 5 个。
3. 吃了 1 个,剩下 5 - 1 = 4 个。
最终答案:4 个。
基本提示技术并不总是能提供您的特定业务任务所需的结果。本节课将向您介绍多种高级技术。您将学习每种高级技术的运作方式,您还将进一步了解哪种使用案例最适合每种策略。
自洽性是一种类似于思维链提示的提示技术。然而,自洽性技术不采取明显的一步一步路径或贪婪路径,而是提示模型对各种推理路径进行采样。然后,模型根据来自各个路径的多个数据点聚合最终答案。根据 Xuezhi Wang 等人撰写的文章《利用自洽性提高语言模型中的思维链推理效果》,当用于一系列常见算术和常识推理基准时,自洽性可以改进 CoT 推理提示。

思维树 (ToT) 是另一种基于 CoT 提示技术的技术。CoT 提示按顺序对思维进行采样,但 ToT 提示遵循树分支技术。通过 ToT 技术,LLM 可以采用细致入微的方式学习,考虑多条路径而不是一条顺序路径。
对于涉及重要初始决策、未来策略和探索多种解决方案的任务,ToT 提示是一种特别有效的方法。大多数 LLM 通过遵循标准的从左到右的标记级推理来做出决策,但通过 ToT,LLM 可以自行评估选择。
根据 Shunyu Yao 等人撰写的文章《思维树:让大型语言模型深思熟虑地解决问题》,ToT 显著提高了模型处理需要重要规划的任务时的性能。Yao 和其他研究人员在三个任务中测试了 ToT 方法:创意写作、迷你填字游戏和 24 点游戏。在 24 点游戏任务中,GPT-4 通过 CoT 提示取得了 4% 的成功率。而模型通过 ToT 提示方法取得了 74% 的成功率。
检索增强生成 (RAG, Retrieval Augmented Generation) 是一种提示技术,它提供领域相关的数据作为上下文,以基于这些数据和提示生成响应。该技术类似于微调。然而,RAG 不必使用一小组标注示例对 FM 进行微调,而是从大型语料库中检索一小组相关文档,并使用这些文档提供上下文来回答问题。RAG 不会改变基础模型的权重,而微调会改变模型权重。
这种方法比常规微调更具成本效益,因为 RAG 方法不会产生对模型进行微调的成本。RAG 还解决了数据频繁更改带来的挑战,因为它会检索更新的相关信息,而不是依赖可能过时的数据集。
在 RAG 中,外部数据可以来自多个数据源,例如文档存储库、数据库或 API。在将 RAG 用于 LLM 之前,您必须准备知识库并使其保持最新。

与自洽性和 ToT 提示技术一样,ART 是一种基于思维链过程的提示技术。Bhargavi Paranjape 撰写的《ART:大语言模型的自动多步推理和工具使用》一文详细讨论了 ART 技术,该技术专门用于多步推理任务。
该技术本质上是通过让模型从任务库中选择多个或少量示例的演示来解构复杂的任务。在模型使用这种小样本分解的同时,它使用预定义的外部工具(例如搜索和代码生成)来执行任务。

研究表明,对于未见过的任务,ART 的表现明显优于小样本提示和自动 CoT,并且在大多数任务中,它的表现与手动 CoT 提示相当。使用 ART,人类还能够更高效地更新任务库中的信息,从而纠正错误并最终提高性能。
在 ReAct 提示中,LLM 可以将推理和动作结合起来。根据 Shunyu Yao 的文章《ReAct:语言模型中推理和动作的协同作用》,模型通常用于推理或动作,但并不总是能同时有效地用于这两者。
CoT 提示表明 LLM 有望为简单的任务(例如数学)进行推理和生成动作。但是,无法在 CoT 提示下更新信息或访问外部上下文,可能会导致输出发生事实幻觉等错误。借助 ReAct 框架,LLM 可以生成基于外部工具(例如维基百科页面或 SQL 数据库)的推理跟踪和特定于任务的动作。这种外部上下文可产生更准确可靠的输出。
提示注入是一种通过使用提示中的指令来影响模型输出的技术。例如,黑客可能会向文本生成模型提供包含有害、不道德或有偏差的内容的提示,以生成类似的有害、不道德或有偏差的文本。然后,黑客可以使用此文本大规模生成假新闻、教义宣传或其他恶意内容。提示注入还可用于非恶意活动,例如覆盖模型的响应、自定义翻译以保留产品名称等。

提示泄露是指生成式 AI 系统可能通过其生成的提示或示例泄露敏感或私人信息的风险。例如,如果系统使用私人客户数据进行训练以生成产品建议,则可能会泄露有关客户购物的详细信息。该系统还可能通过为新客户生成的建议泄露有关客户浏览历史记录的详细信息。这可能会侵犯客户的隐私,影响客户对系统的信任。
用于训练 AI 模型的数据可能有偏差。如果数据有偏差,AI 模型可能会重现这些偏差。最终,您可能会得到有偏差或不公平的输出。偏差可以通过以下两种方式出现在提示工程中:
如果在训练模型时没有足够的数据,这种缺乏数据的情况可能会导致偏差。如果模型是在数据不足的情况下进行训练的,则会导致模型置信度低。大多数毒性筛选条件和排序算法本质上会优先考虑模型置信度。这导致许多群体被推定为排除在外,从而使偏差长期存在。
以下三种技术可以帮助减少 FM 中的偏差:

提示工程是连接人类意图与 AI 能力的桥梁。从基础的零样本提示到复杂的思维树和检索增强生成,不同的技术适用于不同的场景。开发者需要根据任务复杂度、数据可用性和安全性要求选择合适的策略。随着大模型技术的发展,提示工程也在不断演进,成为构建高质量 AI 应用的核心技能之一。在实际应用中,持续评估、迭代优化提示,并关注安全与偏差问题,是确保 AI 系统可靠性的关键。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online