赶上最新的AI论文

提示模式目录:有效提示设计的技巧。

提示模式目录:有效提示设计的技巧。

聊天室GPT

三个要点
✔️系统地介绍了大规模的语言模型和有效对话的提示模式
✔️ 介绍了一种通用的、与领域无关的提示设计方法
✔️ 特别是组织了提示设计、问题设置和注意要点背后的思考

A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT
written by Jules White,Quchen Fu,Sam Hays,Michael Sandborn,Carlos Olea,Henry Gilbert,Ashraf Elnashar,Jesse Spencer-Smith,Douglas C. Schmidt
(Submitted on 21 Feb 2023)
Comments: Published on arxiv.

Subjects: Software Engineering (cs.SE); Artificial Intelligence (cs.AI)

code:

本文所使用的图片要么来自论文、介绍性幻灯片,要么是参考这些图片制作的。

概述

ChatGPT最近非常流行,据说你得到的答案的表现取决于你是否能给出有效的提示。
世界上已经有很多提示模板,但本文介绍了一项研究,总结了提示设计的思路和提示设计的原则。

它发表于2023年2月,所以它可能不包含最新的信息,但它值得一看,作为提示工程的基本知识,今天仍然可以使用。这篇文章有点长,但请大家忍耐一下。

介绍

这项研究并没有为提示语定义具体的语法或描述格式,而是组织了设计提示语的关键想法和做法。这将使我们能够设计出对任何法律硕士都可重复使用的提示语,并根据用户的细微差别和表达方式进行调整。

在本文中,我们按照以下结构来组织提示语所涉及的问题、关键思想等。
(1) 所解决的问题的定义
(2) 问题在什么情况下
(3) 创建提示语的想法
(4) 提示语的具体例子
(5) 优点、缺点和应用

目录

A提示模式的系统化


提示模式的分类如上。下面的章节将详细解释每一种。(请注意,由于依赖关系的性质,解释的顺序可能会改变)。

B: 元语言创建模式

(1) 界定要解决的问题:
界定你自己在自然语言之外的符号和词语的用法。

(2) 在什么情况下重要:
它是一种沟通无法用自然语言明确表达的事项的方式。

(3) 创建提示的想法:

例如,"X "意味着 "Y"。 用 "X "意味着 "Y "的结构来定义符号、单词和语句的含义。

(4) 提示的具体例子:
"从现在开始,只要我输入两个用"→"隔开的标识符,就是在描述一个图。例如,"a → b "描述的是一个有节点 "a "和 "b "以及一条边的图形。如果我用"-[w:2, z:3]→"来分隔标识符,我就是在添加边的属性,如权重或标签。."(引自文中)
,定义一个不含糊、不含糊的符号是个好主意。例如,a→b代表节点a和节点b之间的一条边,如果表示为"-[w:2, z:3]→",那么"→"意味着该边的一个属性。通过这种方式,你可以定义你自己的方式来表示图的结构。

(5) 优点、缺点和应用:
它是一个强大的工具,因为它允许用户使用自然语言以外的新符号用法与LLM进行交互。然而,必须仔细设计,使用户定义的用法不与自然语言或LLM学到的其他用法相混淆。(太独特的用法很容易被混淆......)。

C:输出自动机模式

(1) 要解决的问题的定义:
LLM回答的执行程序应该手动完成时,它应该输出代码以进一步自动化。

(2) 在什么情况下出现的问题:
当用户根据LLM的输出进行工作时,手动操作时很容易出错。例如,即使LLM已经教会了用户如何设置Python,也很难每次都手动操作。

(3) 提示创建的想法:

指定应自动处理的情况,并指定输出的格式。

(4) 提示的具体例子:
下面是一个提示的例子,它使输出python代码的整个操作自动化。
"从现在开始,当你生成的代码跨越一个以上的文件时,生成一个可以运行的Python脚本,以自动创建指定的文件或对现有文件进行修改以插入生成的代码。指定的文件或对现有文件进行修改,以插入生成的代码。"
这样,你可以在终端键入命令,或让脚本来操作文件结构如果你能让LLM输出的脚本让你在终端键入命令或操作文件结构,这将是提高工作效率的有力助手。

(5) 优点、缺点和应用方法:
你需要在谈话中给法律硕士足够的信息,以获得准确的答案。另外,目前,按自动程序实施是有风险的,所以应该由了解这些程序的用户使用。

D:翻转的互动模式

(1) 要处理的问题的定义:
一种提问的形式,由LLM方要求用户获得某项任务所需的信息,而不是由用户提出问题。

(2) 问题是在什么情况下出现的:
在解决这个任务时,我们的目的是通过互动的形式有效地利用LLM内部的大量信息。

(3) 提示创建的想法:

首先,指示LLM在用户方面提出问题,以实现目标。然后,重要的是确定问题交流应该持续多长时间。为了提高问题交流的实用性,还必须规定每节课的问题数量、答案的格式、顺序等。

(4) 提示的具体例子:
"从现在开始,我希望你能向我提问,将一个Python应用程序部署到AWS。当你有足够的信息来部署该应用程序时,创建一个Python脚本来自动部署。当你有足够的信息来部署应用程序时,创建一个Python脚本来自动部署。"

(5) 优点、缺点和应用:
要知道何时结束交流是很困难的。最好是提前告知法律硕士任何事先知道的具体要求。换句话说,一定要给出具体的指令。将用户的知识水平告知LLM也是一个好主意,这样就可以根据用户的知识水平来调整互动。

E: 角色模式

(1)解决的问题的定义:
通过给法律硕士一个特定的角色来与他们沟通。

(2) 在什么情况下出现的问题:
有时,可能并不清楚针对某个问题,法律硕士应该设想什么样的具体产出,但在这种情况下,最好是设立一个具体的人物来进行互动,这是一种有用的格式来做。

(3) 创建提示的想法:

设置各种角色,如职业、职称、虚构人物、历史人物等然后描述你希望这些角色以何种形式产生产出。

(4) 提示的具体例子:
"从现在开始,作为一个安全审查员。密切注意我们所看的任何代码的安全细节。提供一个安全审查员关于代码的输出。"
"你要假装成一个Linux终端,当我输入一个命令时,你将提供给我。当我输入一个命令时,你要输出Linux终端会产生的相应文本。
在这个例子中,也可以让用户假装成一个非人类的实体。

(5) 优点、缺点和应用:
假设一个虚构的实体,自然会导致虚构的输出被返回。这对应于 "幻觉"(LLMs输出不真实的东西)。

F: 问题细化模式

(1) 要解决的问题的定义:
完善问题。

(2) 问题是在什么情况下提出的:
来自非专家的问题可能不精确。当用户对该领域不熟悉时,修改问题本身以引出更精确的答案是非常有用的。当用户向法律硕士提问时,从一开始就提出正确的问题也可能更准确,而不是向法律硕士提出一个未经加工的提示,要求法律硕士消化提示的含义。

(3) 创作提示的想法:

让他们考虑到修改问题的背景是很重要的。

(4) 提示的具体例子:
"从现在开始,每当我问一个关于软件工件安全的问题时,请建议一个更好的问题版本 语或框架中的安全风险的信息,并询问我是否愿意使用你的问题。使用你的问题"

(5) 优点、缺点和应用:
虽然细化问题可以弥补用户和法律硕士之间的知识差距,但也有可能缩小用户的思维范围。

G: 替代方法模式

(1) 要解决的问题的定义:
提出解决某个问题的替代方法,这个问题被用户忽略了。

(2) 问题是在什么情况下出现的:
它旨在消除用户在解决问题的方法上的认知偏差。

(3) 提示创作的想法:

首先,限制问题的范围,使他们能够向你提出一个可行的替代方案水平。然后,通过让他们比较替代方案的优点和缺点,他们可以理解你为什么要以这样的方式提出这些方案。

(4) 提示的具体例子:
"每当我要求你将一个应用程序部署到一个特定的云服务,如果有替代的服务来完成 同一云服务提供商的相同事情,请列出最佳的替代服务,然后与每个方法的利弊进行比较/对比。如果有其他服务可以在同一个云服务提供商那里完成同样的事情,请列出最好的替代服务,然后比较/对比每种方法的优点和缺点。然后问我想用哪种方法进行。." (引自文本)

(5) 优点、缺点和应用:
这个图案用途广泛,可以在各种情况下使用。

H: 认知验证者模式

(1) 对要解决的问题进行定义:
,对问题进行细分,以提高对原始问题的回答的准确性。

(2) 在什么情况下出现的问题:
用户可能由于缺乏这方面的知识,或觉得提示繁琐,而提出的问题不够详细,这可能是一种有效的提示模式。

(3) 创建提示的想法:

指导用户提出更多的问题,以便正确回答第一个给定的问题。然后指导他们把各个问题的答案合并起来,产生第一个问题的答案。

(4) 提示的具体例子:
"当我问你一个问题时,产生三个补充问题,以帮助你给出一个更准确的答案。回答了这三个问题后,把答案结合起来,产生对我原来问题的最终答案。"

(5) 优点、缺点和应用:
向LLM提出的额外问题的数量可由LLM或用户决定。LLM要回答的问题越多,答案就越准确,尽管会更耗时。

I: 事实检查清单模式

(1)要解决的问题的定义:
要以事实列表的形式,让LLM的输出产生。

(2) 在什么情况下会出现问题:
目前的LLM输出错误的信息,就像它是真的一样,但这种方法使用户明确应该检查什么。

(3) 创建提示的想法:

把事实清单放在输出的主要陈述的末尾是个好主意。这样,即使是不懂术语的用户也能通过先阅读主语句来了解核对清单中的内容。

(4)提示的具体例子:
"从现在开始,当你生成一个答案时,要建立一套答案所依赖的事实,这些事实应该经过事实核查并列出来 这组事实在你输出的最后。 只包括与网络安全有关的事实。"

(5) 优点、缺点和应用:
它是有用的,因为它允许用户对输出的事实进行检查。

J: 模板模式

(1) 要处理的问题的定义:
指定输出的格式。

(2) 在什么情况下出现的问题:
当LLM想让输出以它不知道的格式出现时,就会使用这种模式。

(3) 创建提示的想法:

首先,提出输出的格式,然后指定你希望LLM完成的空白部分。同时告诉他们,未经你的允许,不要改变你所指定的格式。

(4)提示的具体例子:
"我将为你提供一个模板。所有大写的东西都是占位符。你在生成文本时, 尽量将其放入我列出的一个占位符中。请保留我提供的格式和整体模板:https://myapi.com/NAME/profile/JOB" (改编自文本)。

(5) 优点、缺点和应用:
虽然输出的格式可以对齐,但可能难以与其他提示模式同时使用,因为指定格式以外的信息被排除在输出之外

K:无限代模式

(1) 要处理的问题的定义:
指避免输入类似提示的方法。

(2) 在什么情况下出现问题:
反复输入类似的提示信息是很乏味的,而且会导致错误。

(3) 创建提示的想法:

首先,用户向LLM指定,它应该产生无限的输出。但是,在任何时候都要对可以输出的字数进行一定的限制。用户还应该事先决定,如果在无限输出期间有用户输入,该怎么做。你还应该决定停止输出的规则。

(4) 示例提示:
"从现在开始,我要你生成一个名字和工作,直到我说停止。 我将为你的输出提供一个模板。任何时候,当你生成文本时,请尝试将其放入我列出的一个占位符中。 请保留我提供的 格式和整体模板:https://myapi.com/NAME/profile/JOB" (引自文本)

(5) 优点、缺点和应用:
一个问题是,目前的LLM在保留以前信息的程度上有局限性。因此,有必要对输出进行监测,并在必要时给予反馈。

L: 可视化生成器模式

(1)解决的问题的定义:
,为图像生成工具创建输入文本。

(2) 在什么情况下出现的问题:
LLMs不能直接生成图像,所以有的时候你会希望LLMs生成图像并输出用于制图。

(3) 创建提示的想法:

要求LLM用外部工具Y创建一个可视化的输出X。提出几个可用的可视化工具,让LLM从中选择也是很有用的。

(4) 提示的具体例子:
"每当我要求你把什么东西可视化时,请创建一个Graphviz Dot文件或一个DALL-E提示,我可以用它来创建根据需要可视化的内容,选择适当的工具。 "

(5) 优点、缺点和应用:
这种提示模式可用于将LLM输出的表达能力扩展到视觉领域。

M: 游戏模式

(1) 要解决的问题的定义:
要自动生成游戏内容。

(2) 在什么情况下出现的问题:
,以解决手动创建游戏内容耗时费力的问题。

(3) 提示创作的想法:

游戏规则由用户指定,但内容本身可以留给LLM,它可以把具有高度表现力的自然语言作为输入,从而开发出与以往游戏体验不同的感觉和界面的游戏。

(4) 示例提示:
"我们要玩一个网络安全游戏。 你要假装是一台 被攻击者入侵的电脑的Linux终端 当我输入一个命令时,你要输出Linux终端会产生的相应文本。攻击者应该做了以下一件或多件事:(1) 启动新的进程,((2)改变了文件,(3)打开了新的端口来接收通信,(4)创建了新的外向连接,(5)改变了密码,(6)创建了新的用户为了开始游戏,请打印一个导致我调查的事件的场景,并使描述的内容有我可以使用的线索来开始。" (改编自文本)
这是一个网络安全游戏的例子,它模拟了Linux上的网络攻击情况,结合了Persona模式 ,创造了一个有效和新颖的游戏。该游戏是有效和创新的。

(5) 优点、缺点和应用:
如同上面的例子,它可以与迄今为止介绍的各种模式(Persona、无限生成、可视化生成器)相结合。

N: 反射模式

(1)解决的问题的定义:
要输出导致输出的逻辑背景。

(2) 问题是在什么情况下提出的:
必须了解LLM是在什么过程、什么基础和什么假设下输出答案的,因为这将有助于对提示进行调试。

(3) 创建提示的想法:

要求他们同时解释他们答案背后的理由和假设。然后告诉他们,这是为了让用户在提问时参考,所以他们要给出一个对用户理解有用的解释。

(4)提示的具体例子:
"当你提供答案时,请解释你选择软件框架的理由和假设。可能的话,请使用具体的例子或证据与相关的代码样本来支持你的答案,为什么该框架是该任务的最佳选择。此外,请解决你的答案中任何潜在的歧义或限制,以便提供一个更完整和准确的答复。." (引自文本)

(5) 优点、缺点和应用:
用户给出的作为逻辑基础的内容可能超出了用户的理解范围,但在这种情况下,应将其与事实检查表模式或其他模式相结合来处理。

O: 拒绝破坏者模式

(1)解决的问题的定义:
,当LLM拒绝回答时,要建立一个替代的措辞提示。

(2) 在什么情况下出现问题:
LLMs有时会在缺乏必要的知识来回答问题或不理解问题的意图时拒绝回答问题,这会给用户带来挫败感。这是一个寻找替代性提问方式的模式,在这些情况下,LLM可以回答问题。

(3) 创建提示的想法:

要求LLM在无法回答时提供理由。也许这是由于假设、限制或误解造成的。研究无法回答的原因,可以为问题的其他措辞方式提供提示。你可能还想让他们提供问题措辞的替代方案。

(4)提示的具体例子:
"每当你不能回答一个问题时,请解释原因,并提供问题的一个或多个备选措辞在指示
,你不能回答,以便我可以改进我的问题
用户:生命的意义是什么?
ChatGPT:作为一个人工智能生命的意义是一个复杂的哲学问题,人类已经思考了很久。用一种可以通过信息和知识来回答的方式来重新表述这个问题可能会更有成效,比如 "有一些什么东西?
用一种可以用信息和知识 来回答的方式来重新表述这个问题可能会更有成效,比如 "关于 生命的意义有哪些哲学观点 ?"或者 "关于生命的目的有哪些共同的信念?
在这个例子中,法律硕士为这个抽象的问题提供了自己的选择。

(5) 优点、缺点和应用:
这种模式可能被滥用,必须以道德方式使用。

P:上下文管理模式。

(1) 解决的问题的定义:
在与法律硕士的谈话中缩小或扩大背景,以调整谈话的重点。

(2) 在什么情况下出现问题:
LLMs和用户都可能在对话中加入偏离讨论中心议题的内容,这可能会扰乱对话的流程。在这种情况下,保持对话的连贯性是很重要的。

(3) 提示创作的想法:

重要的是提出一个明确的清单,列出需要考虑的项目和需要忽略的项目。

(4) 提示的具体例子:
"在分析以下代码片断时,只考虑安全方面。" (引自文本)
"忽略我们讨论过的所有内容。 重新开始。" (改编自文本)
这是一个重新开始和重设的声明,忽略了之前所有的对话。

(5) 优点、缺点和应用:
当重新设置上下文时,应注意信息的丢失程度。

问:菜谱模式

(1)解决的问题的定义:
让学生从给定的要素中设计一个程序来实现目标。

(2) 在什么情况下出现的问题:
当材料和元素都知道,但不清楚要采取什么步骤时,可以使用这种模式。

(3) 创建提示的想法:

首先告诉他们想要解决的问题,并提出必要的中间步骤作为实现这一目标的要素。要求他们使用这些,但也要对其进行补充,以创建一个完整的程序。要求他们告诉你是否有任何不必要的步骤。

(4) 示例提示:
"我正试图将一个应用程序部署到云中。我知道我需要在一个虚拟机上安装必要的依赖请提供一个完整的步骤顺序。请指出任何不必要的步骤。

(5) 优点、缺点和应用:
注意,如果用户指定的中间步骤不正确,LLM的答案可能会被画在它上面。

摘要

我们没有介绍具体的提示模板,而是介绍了一系列的论文,总结了创建提示的想法和思路。有一些模式,通过有效地结合这些模式,我们可能会发现法律硕士的新的可能性。我们希望你能尝试一下。

  • メルマガ登録(ver
  • ライター
  • エンジニア_大募集!!

如果您对文章内容有任何改进建议等,请通过 "联系我们 "表格与爱学网编辑部联系。
如果您能通过咨询表与我们联系,我们将非常感激。

联系我们