提示工程中的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.部分拒绝模式

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

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

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

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

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

没有结束

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

【关联阅读】


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HDLbits 刷题 --Reduction

Given a 100-bit input vector [99:0], reverse its bit ordering. 译&#xff1a; 给定一个100位的输入向量 [99:0]&#xff0c;反转其位的顺序。 module top_module( input [99:0] in,output [99:0] out );integer i;always(*) beginfor(i0;i<100;i)out[99-i]in[i];end…

如何使用ChatGPT制作一个休闲小游戏集合的网站?

1. 先看制作的网站效果 先预览一个使用ChatGPT制作的休闲小游戏集合网站&#xff1a;CasualMiniGame.com 2. 使用描述词生成网站首页 使用ChatGPT生成一个在线的休闲小游戏网站是一项有趣的任务。ChatGPT可以生成代码&#xff0c;展示您输入的描述词对应的网站效果。以下是Ch…

Metasploit Pro 4.22.3-2024040301 (Linux, Windows) - 专业渗透测试框架

Metasploit Pro 4.22.3-2024040301 (Linux, Windows) - 专业渗透测试框架 Rapid7 Penetration testing, Release Apr 03, 2024 请访问原文链接&#xff1a;Metasploit Pro 4.22.3-2024040301 (Linux, Windows) - 专业渗透测试框架&#xff0c;查看最新版。原创作品&#xff0…

希亦、添可、追觅洗地机深入对比,哪个更胜一筹?选择不再迷茫

洗地机不仅能快速打扫地面&#xff0c;省时又省力&#xff0c;还能把室内弄得干干净净的&#xff0c;用起来感觉特舒服。但是面对目前市面上几百个型号的洗地机&#xff0c;在观望洗地机的家庭&#xff0c;大多数都是不确定哪款洗地机适合自己&#xff0c;今天笔者就带来了三款…

【NLP练习】中文文本分类-Pytorch实现

中文文本分类-Pytorch实现 &#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 一、准备工作 1. 任务说明 本次使用Pytorch实现中文文本分类。主要代码与文本分类代码基本一致&#xff0c;不同的是本次任务使用…

【学习心得】Python中的queue模块使用

一、Queue模块的知识点思维导图 二、Queue模块常用函数介绍 queue模块是内置的&#xff0c;不需要安装直接导入就可以了。 &#xff08;1&#xff09;创建一个Queue对象 import queue# 创建一个队列实例 q queue.Queue(maxsize20) # 可选参数&#xff0c;默认为无限大&am…

libVLC 提取视频帧使用QWidget渲染

在前面的文章中&#xff0c;我们使用libvlc_media_player_set_hwnd设置了视频的显示的窗口。 libvlc_media_player_set_hwnd(vlc_mediaPlayer, (void *)ui.widgetShow->winId()); 如果我们想要提取每一帧数据&#xff0c;将数据渲染到QWidget上&#xff0c;该如何操作呢&a…

西圣、漫步者、万魔开放式耳机怎么样?无广真实测评对比推荐

开放式耳机因其独特的音质体验和佩戴舒适度&#xff0c;受到了越来越多消费者的青睐。西圣、漫步者、万魔作为国内知名的耳机品牌&#xff0c;各自都推出了自家的开放式耳机产品&#xff0c;那么&#xff0c;这三款耳机究竟如何呢&#xff1f;身为开放式耳机党的我&#xff0c;…

小白如何挖到自己的第一个漏洞

目录 挖洞公式 个人介绍 我的技术与生活——小站首页 | Hexohttps://xiaoyunxi.wiki/ 漏洞介绍 漏洞详情 如何进行信息收集(最快捷) 方法1(Google Hacking) 0x01 常见Google语法 0x02 不是经常用的关键字 0x03 特殊符号使用 0x04 布尔操作 0x05注意事项 0x06 使用…

【C++ STL算法】sort 排序

文章目录 【 1. 基本原理 】【 2. sort 的应用 】实例 - sort 函数实现 升序排序和降序排序 函数名用法sort (first, last)基于 快速排序&#xff0c;对容器或普通数组中 [ first, last ) 范围内的元素进行排序&#xff0c;默认进行升序排序&#xff08;从小到大&#xff09;。…

在linux上面安装nexus私有maven库

问题 需要在EC2机器上面安装私有maven库。 步骤 更新OS sudo yum update -yJDK11 # 安装JDK11 sudo yum install java-11-amazon-corretto # 查询jdk11位置 sudo alternatives --config java内容如下&#xff1a; There are 2 programs which provide java.Selection …

用动态IP采集数据总是掉线是为什么?该怎么解决?

动态IP可以说是做爬虫、采集数据、搜集热门商品信息中必备的代理工具&#xff0c;但在爬虫的使用中&#xff0c;总是会遇到动态IP掉线的情况&#xff0c;从而影响使用效率&#xff0c;本文将探讨动态IP代理掉线的几种常见原因&#xff0c;并提供解决方法&#xff0c;以帮助大家…

libVLC 提取视频帧使用OpenGL渲染

在上一节中&#xff0c;我们讲解了如何使用QWidget渲染每一帧视频数据。 由于我们不停的生成的是QImage对象&#xff0c;因此对 CPU 负荷较高。其实在绘制这块我们可以使用 OpenGL去绘制&#xff0c;利用 GPU 减轻 CPU 计算负荷&#xff0c;本节讲解使用OpenGL来绘制每一帧视频…

ctfshow web入门 php特性 web108--web115

web108 ereg函数相当于而preg_match()函数 ereg函数的漏洞&#xff1a;00截断。%00截断及遇到%00则默认为字符串的结束 strrev函数就是把字符串倒过来 就是说intval处理倒过来的传参c0x36d&#xff08;877&#xff09;?ca%00778 web109 异常处理类 通过异常处理类Excepti…

国外动态住宅IP代理的五大优势

在当前的数字时代&#xff0c;随着网络监控和地理限制的日益增强&#xff0c;国外动态住宅IP代理成为了解决这些问题的关键工具。它不仅能够保护用户的个人隐私&#xff0c;提供高度的匿名性&#xff0c;还能轻松突破访问限制&#xff0c;让全球的内容触手可及。对于数据科学家…

Vue+OpenLayers7入门到实战:OpenLayers加载WFS服务的要素资源数据并叠加到地图上

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章讲解如何使用OpenLayers6加载WFS服务的要素资源数据并叠加到地图上的功能。 WFS规范介绍 WFS是基于地理要素级别的数据共享和数据操作,WFS规范定义了若干基于地理要素(Feature)级别的数据操作接口…

PL2303HXA自2012已停产,请联系供货商的解决方法

一、概述 Win10不支持PL2303HXA usb串口&#xff0c;当管理员做配置的时候发现无法查看端口信息&#xff0c;设备管理器提示&#xff1a;PL2303 HXA自2012已停产&#xff0c;请联系供货商。PL2303 是Prolific 公司生产的一种高度集成的RS232-USB接口转换器&#xff0c;可提供一…

(学习日记)2024.04.10:UCOSIII第三十八节:事件实验

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

微信多账号如何聚合聊天?

看这篇文章的你是否有以下烦恼&#xff1a; 1.微信账号太多&#xff0c;每次都要拿很多手机&#xff0c;管理起来很乱 2.微信号多&#xff0c;需要很多员工来管理&#xff0c;人工费用高 3.多个微信打开后会造成微信登陆界面过多&#xff0c;切换操作十分不方便 4.当微信多…

创建型模式--4.抽象工厂模式【弗兰奇一家】

1. 奔向大海 在海贼世界中&#xff0c;位于水之都的弗兰奇一家是由铁人弗兰奇所领导的以拆船为职业的家族&#xff0c;当然了他们的逆向工程做的也很好&#xff0c;会拆船必然会造船。船是海贼们出海所必备的海上交通工具&#xff0c;它由很多的零件组成&#xff0c;从宏观上看…