什么是提示工程?
提示工程是指导生成式人工智能(生成式 AI)解决方案生成所需输出的过程。尽管生成式人工智能试图模仿人类,但需要详细的说明才能创建高质量和相关的输出。在提示工程中,您可以选择最合适的格式、短语、单词和符号,以指导 AI 与用户进行更有意义的交互。提示工程师利用创造力加上试错来创建输入文本的集合,因此应用程序的生成式人工智能可以按预期工作。
什么是提示?
提示是一种自然语言文本,要求生成式人工智能执行特定任务。生成式人工智能是一种人工智能解决方案,可以创建故事、对话、视频、图像和音乐等新内容。由超大型机器学习(ML)模型提供支持,这些模型使用已针对大量数据进行预训练的深度神经网络。
大型语言模型(LLM)非常灵活,可以执行各种任务。例如,可以总结文档、补全句子、回答问题和翻译语言。对于特定的用户输入,模型会通过过去的训练预测其认为最佳的输出。
但是,由于这些模型非常开放,因此您的用户可以通过无数的输入数据组合与生成式人工智能解决方案进行交互。人工智能语言模型非常强大,无需太多输入即可开始创建内容。即使是一个单词也足以让系统做出详细的回应。
话虽如此,并非每种类型的输入都能产生有用的输出。生成式人工智能系统需要背景和详细信息才能生成准确和相关的响应。当您系统地设计提示时,就会得到更有意义和更实用的作品。在即时工程中,您可以不断完善提示,直到从人工智能系统中获得所需的结果。
为什么提示工程很重要?
自生成式人工智能推出以来,即时工程工作岗位大幅增加。提示工程师弥合了最终用户和大型语言模型之间的差距。他们可以确定用户可以自定义和完成的脚本和模板,以便通过语言模型获得最佳结果。这些工程师尝试使用不同类型的输入来构建提示库,以便应用程序开发人员在不同的场景中重复使用。
提示工程使 AI 应用程序更加高效和有效。应用程序开发人员通常会将开放式用户输入封装在提示中,然后再将其传递给 AI 模型。
例如,假设有一个 AI 聊天机器人。用户可能会输入不完整的问题陈述,例如“去哪里购买衬衫?” 在内部,该应用程序的代码使用工程提示“您是一家服装公司的销售助理。一位居住在美国阿拉巴马州的用户询问在哪里可以买到衬衫。请回复目前有衬衫的最近三家门店。” 然后,聊天机器人会生成更相关、更准确的信息。
接下来,我们将讨论提示工程的一些好处。
更强的开发人员控制力
通过提示工程,开发人员能够更好地控制用户与 AI 的互动。有效的提示可以为大型语言模型提供意图并建立上下文。可以帮助 AI 完善输出,并以所需的格式简洁地呈现出来。
还可以防止您的用户滥用 AI 或请求 AI 不知道或无法准确处理的内容。例如,您可能希望限制用户在商业 AI 应用程序中生成不当内容。
改善用户体验
用户可以避免反复试验,同时仍然可以通过 AI 工具获得连贯、准确和相关的响应。提示工程使用户可以轻松地在第一个提示中获得相关结果,有助于减轻大型语言模型训练数据中现有的人为偏见。
此外,提示工程还增强了用户-AI 的互动,使 AI 能通过最少的输入理解用户的意图。例如,对法律文件和新闻报道进行总结的请求可以获得不同风格和语气的不同结果。即使两个用户对应用程序的指示都是“总结一下这份文档”,也是如此。
更高的灵活性
更高的抽象级别可以改进 AI 模型,并允许组织大规模创建更灵活的工具。提示工程师可以通过与域无关的指令创建提示,突出显示逻辑链接和广泛模式。组织可以在整个企业中快速重复使用这些提示,以扩大其 AI 投资。
例如,为了寻找流程优化的机会,提示工程师可以创建不同的提示,训练 AI 模型使用广泛的信号而不是特定于上下文的数据来发现效率低下的问题。然后,可以将这些提示用于不同的流程和业务部门。
有哪些提示工程使用案例?
提示工程技术可用于复杂的 AI 系统,以改善学习语言模型的用户体验。下面是一些示例。
主题专业知识
提示工程在需要 AI 以主题专业知识做出响应的应用中发挥着关键作用。具有该领域经验的提示工程师可以引导 AI 引用正确的来源,并根据提出的问题正确构思答案。
例如,在医学领域,医生可以使用提示工程语言模型为复杂病例生成鉴别诊断。医疗专业人员只需要输入症状和患者详细信息即可。该应用使用精心设计的提示来引导 AI 首先列出与输入的症状相关的可能疾病。然后,根据其他患者信息缩小列表范围。
批判性思维
批判性思维应用需要语言模型来解决复杂的问题。为此,模型将从不同角度分析信息,评估其可信度,并做出合理的决定。提示工程增强了模型的数据分析能力。
例如,在决策场景中,您可以提示模型列出所有可能的选项,评估每个选项,并推荐最佳解决方案。
创造力
创造力涉及产生新的想法、概念或解决方案。提示工程可用于增强模型在各种场景中的创造能力。
例如,在写作场景中,作家可以使用提示工程模型来帮助构思故事。作者可以提示模型列出可能的角色、设置和情节,然后用这些元素形成一个故事。或者,平面设计师可以提示模型生成一份能激发某种情绪的调色板列表,然后使用该调色板创建设计。
什么是即时工程技术?
提示工程是一个动态且不断演变的领域。需要通过语言技能和创造性表达来微调提示,并从生成式人工智能工具中获得所需的响应。
以下是一些提示工程师用来改进 AI 模型自然语言处理(NLP)任务的技术示例。
思维链提示
思维链提示是一种将复杂的问题分解为模仿思路的较小的、合乎逻辑的部分的技术。这有助于模型通过一系列中间步骤解决问题,而不是直接回答问题。这增强了其推理能力。
您可以为复杂的任务展开多条思维链,然后选择最常得出的结论。如果展开后出现重大分歧,则可以通过咨询人员来纠正思维链。
例如,如果问题是“法国的首都是哪里?”,该模型可能会进行多次展开,得出诸如“巴黎”、“法国的首都是巴黎”和“巴黎是法国的首都”之类的答案。 由于所有推出都得出相同的结论,因此将选择“巴黎”作为最终答案。
思维树提示
思维树技术是对思维链提示的泛化。前者会提示模型生成一个或多个可能的后续步骤。然后使用树搜索方法对每个可能的下一步运行模型。
例如,如果问题是“气候变化的影响是什么?”,该模型可能会首先生成可能的后续步骤,例如“列出环境影响 ”和“列出社会影响”。 然后,在后续步骤中详细说明其中每一项。
启发式提示
启发式提示类似于思想树提示。提示模型回答问题并提供解释,然后提示模式对部分解释内容再进行解释。不一致的解释树会被修剪或丢弃。这提高了复杂常识性推理的性能。
例如,如果问题是“为什么天空是蓝色的?”,模型可能会首先回答“人类眼中看到的天空是蓝色的,因为短波蓝光会被地球大气层中的气体和颗粒散射到各个方向。” 然后可能会扩展这种解释的部分内容,例如为什么蓝光比其他颜色散射得更多,以及地球大气层是由什么组成的。
基于复杂性的提示
这种提示工程技术涉及执行展开几条思维链。选择展开长度最长的思维链,然后选择最常得出的结论。
例如,如果问题是一个复杂的数学问题,则模型可能会展开多条思维链,每条都涉及多个计算步骤。考虑展开长度最长(在本例中,即计算步骤最多)的思维链。与其他思维链结论相同的思维链将被选为最终答案。
生成式知识提示
此技术需要提示模型首先生成补全提示所需的相关事实。然后继续补全提示。这通常会导致更高的完成质量,因为模型以相关事实为条件。
例如,假设用户提示模型写一篇关于森林砍伐影响的文章。该模型可能首先得出诸如“森林砍伐会导致气候变化”和“森林砍伐会导致生物多样性丧失”之类的事实。 然后将在文章中详细阐释每个要点。
由易至难提示
在这种提示工程技术中,会提示模型首先列出问题的子问题,然后按顺序逐一解决。这种方法确保可以借助先前子问题的答案解决后面的子问题。
例如,假设用户使用数学问题提示模型,例如“求解方程 2x + 3 = 11 中的 x”。 模型可能首先将子问题列为“从两边减去 3”和“除以 2”。然后会按顺序求解以获得最终答案。
自我完善提示
在这种技术中,提示模型解决问题,评论其解决方案,然后综合考虑问题、解决方案和评论以解决问题。问题解决过程会重复,直到达到预先确定的停止理由。例如,可能耗尽代币或时间,或者模型可能会输出停止令牌。
例如,假设用户提示模型“写一篇关于文学的短文”。 模型可能会起草一篇文章,评论文章缺乏具体的例子,然后重写文章以包括具体的例子。此过程将重复,直到短文被认为令人满意或满足停止条件。
定向刺激提示
这种提示工程技术包括提示或线索,例如所需的关键字,用于引导语言模型提供所需的输出。
例如,如果提示是写一首关于爱情的诗,那么提示工程师可能会创建包括“心”、“激情”和“永恒”在内的提示。 可以提示模型“写一首关于爱情的诗,里面有“心”、“激情”和“永恒”这几个词。 这将引导模型用这些关键字创作一首诗。
有哪些提示工程最佳实践?
良好的提示工程要求您传达有关上下文、范围和预期响应的指示。接下来,我们将分享一些最佳实践。
明确的提示
在提示中明确定义所需的响应,以避免 AI 误解。例如,如果您需要一份新颖的摘要,请明确说明您要的是摘要,而不是详细的分析。这有助于 AI 专注于您的请求,并提供与您的目标一致的响应。
在提示中提供充分的背景信息
在提示中提供充分的背景信息,并在提示输入中包括输出要求,将其限制为特定的格式。例如,假设您想在表格中列出 20 世纪 90 年代最受欢迎的电影。要获得确切的结果,您应该明确说明要列出多少部电影,并要求格式化表格。
平衡有针对性的信息和期望输出
平衡提示的简洁性和复杂性,以避免出现模糊、不相关或意想不到的答案。过于简单的提示可能缺乏上下文,而过于复杂的提示可能会让 AI 感到困惑。这对于 AI 可能不太熟悉的复杂主题或特定领域的语言尤其重要。相反,请使用简洁的语言并精简提示的长度,以使您的问题更容易理解。
对提示进行试验和完善
提示工程是一个迭代过程。必须尝试不同的想法并测试 AI 提示以查看结果。您可能需要多次尝试才能优化准确性和相关性。持续的测试和迭代可以精简提示,并帮助模型生成更好的输出。AI 输出信息的方式没有固定的规则,因此灵活性和适应性至关重要。
AWS 如何支持您的生成式人工智能需求?
Amazon Web Services(AWS)提供广泛而深入的工具来构建和使用生成式人工智能。例如,您可以使用以下服务:
- Amazon CodeWhisperer 可以根据您的注释和现有代码,实时生成从代码片段到全函数的代码建议。
- Amazon Bedrock 使用语言模型通过 API 加快开发生成式人工智能应用程序,无需管理基础设施。
- Amazon SageMaker JumpStart 用于发现、探索和部署开源语言模型。例如,您可以使用 OpenLLaMA、RedPajama、MosaicML 的 MPT-7B、FLAN-T5、GPT-NeoX-20B 和 BLOOM 等模型。
如果您更喜欢自己创建模型,则可以使用 Amazon SageMaker。这项服务提供托管基础设施和工具,可加快构建、训练和部署可扩展、可靠且安全的模型。
立即创建账户,开始在 AWS 上使用提示工程。