提示工程中的10个设计模式

我们可以将提示词定义为向大型语言模型(Large Language Model,LLM)提供的一个查询或一组指令,这些指令随后使模型能够维持一定程度的自定义或增强,以改进其功能并影响其输出。我们可以通过提供细节、规则和指导来引出更有针对性的输出,从而使提示词更加具体。提示词越具体,输出就越精确,关于提示工程的更多信息可以参考《解读提示工程(Prompt Engineering)》以及《Agent 应用于提示工程》。

而设计模式可以理解为对常见问题的通用可重复解决方案。每个设计模式绝不是一个可以直接应用于问题的完整解决方案,而是一个可以用来更好地构建应用最佳实践的解决方案的模板或框架。设计模式在面向对象编程领域应用广泛,在本文中,老码农尝试总结了提示工程中的10个常见设计模式。

3f1c8c26826249bb576656027960dd62.jpeg

1. 人物角色模式

人物角色模式是一种通过向语言模型注入特定的人格或说话的语气来实现。通过定义不同的角色,我们能够控制生成文本的风格和方式,以适应各种不同的应用场景。以下是一些示例:

  • 客户支持:在客户支持领域,一个友好、耐心的角色可能更有效地与客户进行沟通,解决问题并提供帮助。例如,当客户提出问题时,语言模型可以以礼貌和亲切的语气回应,并提供清晰明了的解决方案,从而增强客户满意度。

  • 故事讲述:在虚构故事或创意写作中,不同的角色可能需要具有不同的语气和情感表达。例如,一个幽默风趣的角色可能会使用幽默感和夸张来讲述故事,而一个严肃的角色可能会使用严肃和沉稳的语调。

  • 教育内容:在教育领域,语言模型可以扮演各种不同的角色,以更好地适应不同学习者的需求和学习风格。例如,对于儿童教育内容,模型可以采用轻松、活泼的语气来吸引他们的注意力,而对于专业技术课程,模型可以采用更正式、严谨的语气来传递知识。

通过人物角色模式,语言模型能够以更加灵活、个性化的方式生成文本,从而提高与用户的互动体验,并在各种应用场景中发挥更大的作用。

2. 食谱模式

类似于烹饪食谱,食谱模式提供了一种逐步指导大模型生成文本的方法。这种模式对于需要详细和连续指令的任务非常有价值,例如教程、过程文档或制作装配指南。以下是部分示例:

  • 教程:想象一下,正在写一篇教程文章,向读者介绍如何学会某项技能,比如学习编程或学习绘画。通过食谱模式,你可以提供清晰的步骤和指导,使读者能够逐步理解和实践所学内容,从而更容易地掌握新技能。

  • 过程文档:在工业生产或科学实验中,经常需要编写详细的过程文档,以记录和共享操作步骤。利用食谱模式,你可以逐步描述每个操作步骤,确保读者能够准确地重现操作过程,从而提高工作效率并减少错误发生的可能性。

  • 制作装配指南:在制造业中,制作装配指南对于工厂工人来说至关重要。你可以为每个装配步骤提供详细的说明,包括所需工具、材料和操作步骤,以确保产品能够正确组装并符合质量标准。

通过这种模式,大模型可以提供连贯性和结构性的文本输出,使读者能够轻松理解和实践其中的指导,从而在各种应用场景中实现更高效的工作和学习。

3. 反向查询模式

在反向查询模式中,大模型被要求以一种特殊的方式工作:首先,它接收一个输出或响应作为启动条件,然后被要求生成最适合的查询或输入,以产生特定的输出。这种技术不仅仅可以用于问答场景,还可以应用于各种其他情境中。以下是一些示例:

  • 智能助手:假设你正在与智能助手对话,你问了一个问题,但是你想深入了解更多相关信息。在这种情况下,反向查询模式可以应用。你的智能助手可以根据你的问题生成一个响应,然后询问你是否想了解更多相关内容,从而引出更深入的查询。

  • 搜索引擎优化:在网页内容创作中,反向查询模式可以用于优化搜索引擎结果。假设你是一个网站管理员,希望你的网站在特定的搜索查询中排名更高。你可以使用反向查询模式来创建内容,以确保网站在搜索引擎中出现在相关的查询结果中。

  • 个性化推荐系统:在电子商务或内容推荐领域,反向查询模式可以用于个性化推荐系统。系统可以根据用户的行为和偏好生成一些输出,然后根据这些输出生成相应的查询,以提供更加个性化和精准的推荐。

通过反向查询模式,大模型能够根据特定的输出生成相应的查询或输入,从而更好地满足用户的需求,并提高系统的性能和用户体验。

e97266d5219846145c09315f5bb3b8de.jpeg

4. 输出自动化模式

输出自动化模式是一种利用指示词来规范化大模型生成结构化或格式化输出的方式,以实现重复任务的自动化。举例来说,它可以用于以下情形:

  • 报告生成:在企业环境中,每天都需要生成销售报告。通过输出自动化模式,可以将销售数据输入到语言模型中,然后生成预定义格式的报告,省去了人工编写报告的时间和劳动。

  • 摘要生成:在学术研究中,需要从大量文献中提取信息并生成摘要。利用输出自动化模式,可以令大模型根据用户给定的关键词或主题自动生成文献摘要,极大地提高了处理大量文本的效率。

  • 响应生成:在客户服务领域,经常需要对客户的常见问题进行快速响应。通过输出自动化模式,可以根据问题的关键词或分类,让语言模型自动生成适当的响应,从而提高客户服务的效率和准确性。

  • 代码编写:对于开发人员来说,编写重复性代码是一种常见的任务。输出自动化模式可以被用来指示语言模型根据用户选择的首选编码语言自动生成代码段,从而加速开发过程并减少编码错误。

输出自动化模式特别是在涉及数据分析、内容生成和软件开发等领域中,它能够极大地提高工作效率和准确性。

5. 思维链模式

思维链(CoT)模式是一种指导大模型按照特定的推理或论证路径进行生成的技术。这种模式对于创作有说服力的文章、评论或者复杂的讨论非常有价值,因为逻辑流是构建其可信度和可理解性的关键要素。以下是一些示例:

  • 评论文章:在撰写评论文章时,必须确保论点的逻辑连贯性和严谨性。思维链模式可以指导语言模型按照辩论的逻辑结构生成论据、反驳和结论,从而使文章更具有说服力和逻辑性。

  • 科学论文:在科学领域,论文必须以科学推理为基础,确保实验结果和结论的可信度和可重复性。思维链模式可以帮助语言模型按照科学推理的逻辑链条,从问题陈述到实验设计再到结果分析,生成符合科学标准的论文。

  • 辩护词:在法律场景中,律师必须提供有力的辩护词以支持其客户。思维链模式可以引导语言模型按照法律逻辑生成辩护词,包括陈述事实、引用法律条文、提出论证和反驳对方观点,从而为案件提供强有力的辩护。

通过思维链模式,大模型可以按照逻辑思维的路径生成文本,使其更具有连贯性、说服力和可理解性,从而在各种领域中发挥重要作用。

6 图谱辅助模式

图谱辅助模式是一种利用已有知识来增强提示的方法,从而帮助大型语言模型生成更准确的输出结果。这种模式通过将知识图谱或领域专业知识与模型结合,以提供更多背景信息和上下文,从而改善模型的理解能力和输出质量。以下是部分示例:

  • 医学诊断:在医学领域,图谱辅助模式可以用于帮助语言模型更好地理解临床病例或医学报告。通过结合医学知识图谱和患者历史记录,模型可以生成更精准的诊断建议或治疗方案。

  • 智能客服:在客户服务领域,图谱辅助模式可以用于改善智能客服系统的响应质量。模型可以利用行业领域知识图谱,为客户提供更专业和准确的解决方案,从而提高客户满意度。

  • 法律咨询:在法律领域,图谱辅助模式可以帮助语言模型更好地理解法律文书或案件细节。通过整合法律知识图谱和案例法规,模型可以提供更精准的法律建议或法律分析,帮助律师和法律专业人士更好地处理案件。

通过图谱辅助模式,大模型可以利用丰富的知识资源来增强其输出的准确性和可靠性,从而在各种应用场景中发挥更大的作用。

4e37219932fdebba34718f03091864a6.jpeg

7. 事实检查模式

为了降低产生错误或误导信息的风险,事实检查模式促使大型语言模型根据可靠的外部来源或数据库验证其输出。这种模式鼓励大模型提供支持性证据来证明其答案的可信性,从而促进准确的结果。以下是一些示例:

  • 新闻报道:在新闻领域,事实检查模式可以帮助语言模型验证新闻事件的准确性。模型可以引用可信的新闻机构或官方消息来源,以支持其报道的事实,从而减少虚假信息的传播。

  • 学术论文:在学术写作中,事实检查模式可以确保语言模型引用了经过同行评审的研究或权威性数据,以支持其论述。这有助于确保论文的准确性和可信度。

  • 医学咨询:在医疗领域,事实检查模式可以帮助语言模型核实医学信息的准确性。模型可以引用权威的医学期刊或医学数据库,以支持其提供的医学建议或解释,从而降低误导性信息的风险。

通过事实检查模式,大模型可以提供更加可靠和准确的输出,从而增强其在各种应用场景中的可信度和实用性。

8. 反射模式

反射模式鼓励大模型以批判性的视角评估其生成的文本。这种模式促使大模型审视其输出中存在的潜在偏见或不确定性。以下是一些示例:

  • 社交媒体评论:在社交媒体上,语言模型可能被用于生成评论或回复。在反射模式下,模型应当反思其生成的评论是否存在歧视性言论或误导性信息,并尽可能避免这些问题。

  • 新闻报道:在新闻报道中,语言模型可能被用于撰写文章或提供评论。在反射模式下,模型应当审视其生成的内容是否准确、客观,并且是否有可能受到外部因素的影响。

  • 教育资料:在教育领域,语言模型可能被用于生成教育资料或解答问题。在反射模式下,模型应当考虑其生成的内容是否有益于学习,是否存在错误或者主观偏见,并且是否需要进一步的核查或修正。

通过反射模式,大模型可以更加自觉地评估其输出,避免不当的言论或误导性信息,并且提供更加负责任和可信的回答。

9.问题精炼模式

问题精炼模式是一种迭代方法,其中根据语言模型的反馈不断优化输入的查询或提示。通过分析模型对不同提示的响应,开发人员可以微调查询,从而提高模型的性能。以下是一些示例:

  • 搜索引擎优化:假设你是一个网站管理员,你想通过搜索引擎优化来提高你的网站在搜索结果中的排名。你可以使用问题精炼模式来不断优化你的搜索查询,根据语言模型的反馈调整关键词、语句结构等,以提高你的网站在搜索引擎中的可见性。

  • 语音助手:在语音助手应用中,用户可能会提出各种问题或指令。通过问题精炼模式,开发人员可以分析语言模型对不同查询的响应,然后调整用户界面或系统设置,以改善语音助手的准确性和响应速度。

  • 自然语言处理应用:在自然语言处理应用中,例如聊天机器人或智能客服系统,问题精炼模式可以用来不断优化模型的响应。开发人员可以通过分析模型对用户不同问题的回答,然后对模型进行微调,使其更加智能和适应性更强。

通过问题精炼模式,开发人员可以与语言模型进行交互,不断改进模型的性能和效果,从而提供更好的用户体验和更准确的结果。

68b6d5e0eb43db2db10959c52a04c7bd.jpeg

10.部分拒绝模式

有时,人工智能模型在面对复杂的查询时可能会回答“我不知道”或拒绝生成输出。为了更有效地处理这种情况,引入了“断路拒绝模式”。这种模式的目标是训练模型在面对困难或无法准确回答的情况下,能够提供有用的答复或部分答案,而不是直接拒绝。以下是一些示例:

  • 聊天机器人:当用户向聊天机器人提出一个超出其知识范围的问题时,传统的做法可能是简单地回答“我不知道”。然而,通过断路拒绝模式,聊天机器人可以尝试根据已有的信息或上下文提供相关的信息或建议,即使是部分答案也能为用户提供一些帮助。

  • 搜索引擎:当搜索引擎无法找到与用户查询完全匹配的结果时,通常会显示一条消息,说明未找到结果。然而,采用本模式,搜索引擎可以尝试根据用户查询的意图提供相关的内容,即使没有完整的答案,也能提供一些相关信息或指导。

  • 语音助手:在语音助手应用中,当用户提出一个超出语音助手知识范围的问题时,语音助手可以采用断路拒绝模式,尝试提供有用的提示或建议,以帮助用户更好地理解或解决问题,而不是简单地回答“我不知道”。

通过该模式,人工智能模型可以更加灵活和智能地处理复杂的情况,提高其适应性和用户体验。

没有结束

提示工程的设计模式是一种强大的工具,能够更好地发挥大模型的能力。本文介绍的这些模式可以帮助提高给定大模型的整体质量。通过利用这些模式,我们可以定制特定用例的输出,识别和纠正错误,并优化提示以获得更准确和更富有见地的响应。随着人工智能技术的不断发展和新模式的涌现,提示工程仍可能是创造更可靠和更智能的人工智能会话系统的关键因素之一。

【关联阅读】


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600072.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Java SpringBoot+vue的租房网站,附源码

博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇&#x1f3…

Leetcode 581. 最短无序连续子数组

心路历程: 本以为这道题要用动态规划求解,因为题目中这几个关键字与动态规划太匹配了,结果想了半天也没发现dp(i)和dp(i-1)的递推关系。 这道题本意考察双指针的做法,也可以用排序后做比较的方式来做。 注意的点: 1…

Severt和tomcat的使用(补充)

打包程序 在pom.xml中添加上述代码之后打包时会生成war包并且包的名称是test 默认情况打的是jar包.jar里量但是tomcat要求的是war包. war包Tomcat专属的压缩包. war里面不光有.class还有一些tomcat要求的配置文件(web.xml等)还有前端的一些代码(html, css, js) 点击其右边的m…

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

chrome 浏览器 有自带的自动字幕功能,支持英文,控制您的音乐、视频等媒体内容

【数据结构】复杂度(长期维护)

本篇博客主要是浅谈数据结构概念及时间复杂度,并做长期的维护更新,有需要借鉴即可。 复杂度目录 一、初识数据结构1.基础概念2.如何学好数据结构 二、复杂度1.复杂度2.时间复杂度①有限数的时间复杂度②函数的时间复杂度③二分查找时间复杂度④递归拓展练…

使用MQTT.fx接入新版ONENet(24.4.8)

新版ONENet使用MQTT.fx 模拟接入 目录 新版ONENet使用MQTT.fx 模拟接入开始前的准备创建产品设备获取关键参数 计算签名使用MQTT.fx连接服务器数据流准备与上传数据流准备数据发送与接收 开始前的准备 创建产品 设备下载Token签名工具生成签名 创建产品设备 根据以下内容填写…

git生成ssh key并推送到远端仓库

ssh-keygen -t rsa -C "anarckkgmail.com"在用户文件夹中找到id_rsa.pub,把内容复制到gitea的配置里,然后直接用git推送就可以了

C语言第四十一弹---猜数字游戏

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 猜数字游戏 1、随机数生成 1.1、rand 1.2、srand 1.3、time 1.4、设置随机数的范围 2、猜数字游戏的分析和设计 2.1、猜数字游戏功能说明 2.2、猜数字游戏…

为什么大型语言模型都在使用 SwiGLU 作为激活函数?

如果你一直在关注大型语言模型的架构,你可能会在最新的模型和研究论文中看到“SwiGLU”这个词。SwiGLU可以说是在大语言模型中最常用到的激活函数,我们本篇文章就来对他进行详细的介绍。SwiGLU其实是2020年谷歌提出的激活函数,它结合了SWISH和…

【蓝桥杯嵌入式】第十三届省赛(第二场)

目录 0 前言 1 展示 1.1 源码 1.2 演示视频 1.3 题目展示 2 CubeMX配置(第十三届省赛第二场真题) 2.1 设置下载线 2.2 HSE时钟设置 2.3 时钟树配置 2.4 生成代码设置 2.5 USART1 2.5.1 基本配置 2.5.2 NVIC 2.5.3 DMA 2.6 TIM 2.6.1 TIM2 2.6.2 TIM4 2.6.3 …

百度富文本编辑器配置(vue3)

今天分享一下我做的项目里面的一个百度富文本的配置问题,安装配置流程以及如何解决的 1.首先是安装组件 # vue-ueditor-wrap v3 仅支持 Vue 3 npm i vue-ueditor-wrap3.x -S # or yarn add vue-ueditor-wrap3.x 2. 下载 UEditor UEditor 并不支持通过 npm 的方式…

FreeRTOS移植到标准库

源码下载 1:从官网获取freeRTOS源码 freeRTOS官网 2:FreeRtos源码文件阐述 3:移植FreeRtos源码 FreeRTOS移植步骤1:添加FreeRTOS源码,将FreeRTOS源码添加到基础工程,头文件等路径2:添加FreeR…