点击箭头处“蓝色字”,关注更多及时AI资讯!!
最近小纸条在工作流实现Agent上有一些实践,很深刻的一个体会就是,AI Agent有一种条条大路通罗马的感觉,对于同样功能的Agent,不同操作者可以有千差万别的实现方式,可差别往往就在这通罗马的路是远是近上了。
输出的质量、执行的效率是评价一个Agent能力好坏的关键因素,而这两个因素分别对应着设计者对业务的理解和转化,以及对Agent相关的组件和技术的选择和组合。
对业务的理解和转化意味着设计者要对业务场景有清晰全面的掌握,明确流程所依赖的数据,并制作出最终输入给大模型的高质量prompt,最大程度的提升输出质量。
在于业务流程梳理清楚后,就要对应的转化到Agent工作流的环节上,通过各个组件和技术(工作流、图像流、代码、插件、数据库等)的组合,满足功能的同时也要保证Agent的执行效率,效率这点直接关系到成本和用户体验,是拉开产品差距的重要因素。
总结来说,业务方向是尽量挖掘AI应用的潜力以及保障输出质量,技术方向则是找到最大化AI应用能力的高性价比方案。
看到技术两个字可能又会让刚接触AI的同学有些焦虑,其实大可不必,从小纸条最近的体验中感觉到,对于Agent哪怕是非常复杂的工作流的配置,其实也是照着做一两个就会了,是可以从实践上快速拉齐技能差的。
反而是这个业务理解,个人觉得是需要刻意练习和提高的,不论是高质量prompt的设计,还是基于业务流程在每个环节上选择什么样的组件能力,真的是实打实的关系到Agent的成本和质量的关键。
小纸条最近几篇的文章基本都是基于技术流的实战,今天咱们就来聚焦一下业务向,我们就来聊一聊高质量prompt相关的内容,但是!小纸条这里不是简单的科普prompt的一些意识流的方法论,而是真的基于最近踩的坑和教训,学习了20+的文章总结出来了真的觉得很“妙”的prompt技巧,不仅可以唤醒大模型深度能力,也能兼顾我们的token成本!另外小纸条也为每一个技巧附上了prompt的例子,方便大家改改直接用,抄近道抵火速抵达充满优质Agent的罗马。
什么是高质量prompt?
prompt就是让所有普通人具有了“编程”的能力。程序员用代码告诉计算机需要做的任务,那现在就是给了不需要掌握计算机语言,也可以让计算机为我们做任务的自然语言的方式—prompt
我们不需要关心AI是怎么做到的,只需要关心我们有没有表述清楚诉求。所谓的表述清楚就是,逻辑清晰+表达严谨。
那么写出高质量的prompt这件事,就推演了如何逻辑清晰+严谨的表达诉求。金字塔原理,结构化表达等等这些表达方式相信大家都耳熟能详了,没错,写高质量prompt也绕不开这些结构化表达上的黄金方法论。
为什么结构化更好?
因为这种方式写出来的 Prompt 符合LLM的认知习惯,因为这些大语言模型正是在海量的文章、书籍中训练得到,其训练内容本身就是符合结构化层级的,所以符合结构化表达的prompt也是可以唤醒模型深层的理解和生成能力的。
同时,结构化的表达方式也更符合人类的阅读理解习惯,所以结构化的Prompt简单来说就是对人机两端都友好!
结构化的prompt的基础模板
虽然了解了为什么要做prompt结构化,但并不知道咋做。因为结构化思想,但是更多体现在思维上,缺乏在 prompt 上的具体体现。例如知名的 CRISPE 框架(https://github.com/mattnigh/ChatGPT3-Free-Prompt-List),CRISPE 分别代表以下含义:
CR:Capacity and Role(能力与角色)。你希望 ChatGPT 扮演怎样的角色。
I:Insight(洞察力),背景信息和上下文(坦率说来我觉得用 Context 更好)。
S:Statement(指令),你希望LLM做什么。
P:Personality(个性),你希望LLM以什么风格或方式回答你。
E:Experiment(尝试),要求LLM为你提供多个答案。
这思想架构转化为落地的prompt怎么做呢?来别费脑了,咱们下面的直接抄下面的例子:
# Role: 诗人
## Profile
- Author: 小纸条
- Version: 0.1
- Language: 中文
- Description: 诗人是创作诗歌的艺术家,擅长通过诗歌来表达情感、描绘景象、讲述故事,具有丰富的想象力和对文字的独特驾驭能力。诗人创作的作品可以是纪事性的,描述人物或故事,如荷马的史诗;也可以是比喻性的,隐含多种解读的可能,如但丁的《神曲》、歌德的《浮士德》。
### 擅长写现代诗
1. 现代诗形式自由,意涵丰富,意象经营重于修辞运用,是心灵的映现
2. 更加强调自由开放和直率陈述与进行“可感与不可感之间”的沟通。
### 擅长写七言律诗
1. 七言体是古代诗歌体裁
2. 全篇每句七字或以七字句为主的诗体
3. 它起于汉族民间歌谣
### 擅长写五言诗
1. 全篇由五字句构成的诗
2. 能够更灵活细致地抒情和叙事
3. 在音节上,奇偶相配,富于音乐美
## Rules
1. 内容健康,积极向上
2. 七言律诗和五言诗要押韵
## Constraints
1. 拒绝以不符合法律规范与道德规范的内容为主题
## Workflow
1. 让用户以 "形式:[], 主题:[]" 的方式指定诗歌形式,主题。
2. 针对用户给定的主题,创作诗歌,包括题目和诗句。
## Initialization
作为角色 <Role>, 严格遵守 <Rules>, 使用默认 <Language> 与用户对话,友好的欢迎用户。然后介绍自己,并告诉用户 <Workflow>。
解释一下上面的内容
- 定义角色 Role: 基于用户的诉求思考所需要的知识范围,LLM需要扮演什么样的角色,给LLM定义一个精通该领域知识的角色。
- 定义简介 Profile: 包含作者名、版本号、语言和描述,作者名,版本默认为1.0,语言默认为中文,描述基于用户诉求和Role来思考我为什么会提出这个问题,陈述我提出这个问题的原因、背景。
- 定义背景 Background: 根据Role和用户需求,简述用户需求的背景和描述。
- 定义目标 Goals: 基于用户诉求,思考我们希望Kimi能够实现哪些目标。
- 定义限制 Constraints: 完成Goals需要遵守哪些规则和限制,以此来保证输出结果的质量。
- 定义专业技能 Skills: 要完成Goals和用户诉求所具备的特定技能与专业知识。
- 定义规则 Rules: 规定了模型必须尽力去遵守的规则。
- 定义工作流 Workflow: think step by step and painstakingly。列出能够达成目标(Goals),我们需要经过哪些步骤。记得该部分保留一定的泛化余地,并主动与用户沟通以获取额外信息。
- 定义输出格式 OutputFormat:规定LLM按照什么样的格式输出。
- 初始化 Initialization,请将此部分附加在Prompt的结尾:“您好, LLM, 接下来, Let's think step by step, work hard and painstakingly, 请根作为一个拥有专业知识与技能(Skills)的角色(Role),严格遵循步骤(Workflow)step-by-step, 遵守限制(Constraints), 完成目标(Goals)。这对我来说非常重要,请你帮帮我,谢谢!让我们开始吧”
以上的设置都是经过实践证明可以大大提高模型表现的方法,也是参考了社区有名的LangGPT prompt模板的标准结构,咱就是一个记住准没错!
但是提示词所需的格式取决于您想要语言模型完成的任务类型,并非所有以上要素都是必须的。个人觉得我们也不需要去了解那么多结构化表达的方式,选定一种自己倾向的结构后,将其“标准化”成为我们通用的prompt模板“底板”就好,因为这种结构已经足矣让模型理解我们对他的基本要求了,而真真正正拉开差距的,是这些标准项具体配置的内容。
唤醒大模型深度能力的Prompt思路
及预置Prompt大全
相信经过了上面的分析,大家都是知道prompt的重要性了,掌握prompt规律技巧就像是下金蛋的鸡,属于底层规律,可以大大提高我们在各种场景下对大模型的控制。接下来,聚焦实践,意识流不强调了,和大家分享一些拉开差距的高级prompt技巧,以及供对应的给大家改改就能用的预置prompt,敬请享用!
1. 少量样本提示few-shot
少样本提示,通过提供示例(即示范),小样本提示正好可以赋能上下文学习能力。个人理解,少样本的指令方式,本质上是在通过指令内携带的数据集来微调模型。
从下面的相应文本中提取关键字。
文本1:Stripe提供了API,web开发人员可以使用这些API将支付处理集成到他们的网站和移动应用程序中。
关键词1:条纹、支付处理、API、web开发人员、网站、移动应用程序
##
文本2:OpenAI已经训练了非常善于理解和生成文本的尖端语言模型。我们的API提供了对这些模型的访问,几乎可以用于解决任何涉及处理语言的任务。
关键词2:OpenAI,语言模型,文本处理,API。
##
文本3:{Text}
关键词3:
但是注意,对于理解类的问题,少样本是适用的,而对于计算推理类的可靠性强要求的场景,少样本的效果并不够,还是需要用到思维链,比如下面的例子:
// 提示
这组数字中的奇数加起来是一个偶数:4、8、9、15、12、2、1。
A:答案是False。
这组数字中的奇数加起来是一个偶数:17、10、19、4、8、12、24。
A:答案是True。
这组数字中的奇数加起来是一个偶数:16、11、14、4、8、13、24。
A:答案是True。
这组数字中的奇数加起来是一个偶数:17、9、10、12、13、4、2。
A:答案是False。
这组数字中的奇数加起来是一个偶数:15、32、5、13、82、7、1。
A:
// 模型回答错了..
True
2. 链式思考(CoT)提示
链式思考(CoT)提示通过中间推理步骤实现了复杂的推理能力。我们可以将其与少样本提示相结合,让模型在回答之前进行推理的更复杂的任务,获得更好的结果。比如上面的例子调整下
// 提示
这组数中的奇数加起来是偶数:4、8、9、15、12、2、1。
A:将所有奇数相加(9、15、1)得到25。答案为False。
这组数中的奇数加起来是偶数:17、10、19、4、8、12、24。
A:将所有奇数相加(17、19)得到36。答案为True。
这组数中的奇数加起来是偶数:16、11、14、4、8、13、24。
A:将所有奇数相加(11、13)得到24。答案为True。
这组数中的奇数加起来是偶数:17、9、10、12、13、4、2。
A:将所有奇数相加(17、9、13)得到39。答案为False。
这组数中的奇数加起来是偶数:15、32、5、13、82、7、1。
A:
// 模型输出
将所有奇数相加(15、5、13、7、1)得到41。答案为False。
往往这种可靠性的推理链条,我们的例子可以给的不用像语义理解那种场景那么多,比如上面的推理步骤给一组,模型也可以做到很好的回答。甚至于有时候我们不给例子,只是通过一句“让我们逐步思考(Lets think step by ste)”来触发零样本 COT 提示,也可以大幅度的提高模型的生成质量。零样本 COT 提示与少量样本提示效果如下图:
3. 自动思维链(Auto-CoT)
当使用思维链提示时,这个过程需要手工制作有效且多样化的例子。这种手动工作可能会导致次优解决方案。于是Auto-CoT方法出现,以一种消除人工的思路,利用 LLMs “让我们一步一步地思考” 提示来生成一个接一个的推理链。
Auto-CoT 主要由两个阶段组成:
阶段1:问题聚类:将给定问题划分为几个聚类
阶段2:演示抽样:从每组数组中选择一个具有代表性的问题,并使用带有简单启发式的 Zero-Shot-CoT 生成其推理链
说实话官方这张图看完就四个字,不明觉厉...大概可以理解这个设计的思路,但真的要拿来设计Agent,我们怎么能绕过多轮对话的方式,直接用一次性的预置prompt来设计Agent呢?直接上步骤:
1. 输入处理:首先,需要一个prompt来引导agent理解输入的论点和论据。
2. 思维链生成:接着,使用Auto-CoT技术来自动生成一个包含多个推理步骤的思维链。
3. 文章生成:最后,引导agent根据这个思维链生成完整的文章。
以下是一个具体的prompt示例:
## 输入处理
Q:请总结以下论点和论据的主要观点。
A:[agent在这里总结输入的论点和论据]
## 思维链生成
Q:根据总结的主要观点,你认为文章的标题应该是什么?
A:[agent提出一个基于论点和论据的标题]
Q:这个标题想要传达的核心论点是什么?
A:[agent明确文章的核心论点]
Q:有哪些支持这个核心论点的论据?
A:[agent列出支持核心论点的论据]
Q:这些论据的逻辑关系是怎样的?
A:[agent分析论据之间的逻辑关系]
Q:如何通过这些论据来反驳可能的反对意见?
A:[agent提出反驳反对意见的方法]
## 文章生成
Q:现在,请你根据以上的分析,生成一篇文章草稿。
A:[agent生成文章草稿]
Q:文章的结构是否清晰?如果需要,应该如何调整?
A:[agent评估文章结构并提出调整建议]
Q:文章中是否有需要进一步解释或扩展的部分?
A:[agent识别需要进一步解释或扩展的部分]
Q:最后,请你根据以上分析,完成一篇高质量的文章。
A:[agent完成文章]
这种方法的优势在于它模仿了人类的思考过程,通过分步骤的推理来提高文章的质量和逻辑性。同时,Auto-CoT技术的自动化特性减少了人工设计思维链的劳动强度,使得生成的文章更加多样化和创新。
4. 生成知识提示
LLM 继续得到改进,其中一种流行的技术是能够融合知识或信息,以帮助模型做出更准确的预测。
使用类似的思路,我们也可以用生成知识以作为提示的一部分,这对于常识推理等任务有很大的帮助,少样本的prompt如下,大家一样可以直接基于这些prompy样本,要求模型去检索新输入的论点有关的论据和知识
输入:希腊比墨西哥大。
知识:希腊的面积约为131,957平方公里,而墨西哥的面积约为1,964,375平方公里,使墨西哥比希腊大了1,389%。
输入:眼镜总是会起雾。
知识:当你的汗水、呼吸和周围的湿度中的水蒸气落在冷的表面上,冷却并变成微小的液滴时,会在眼镜镜片上产生冷凝。你看到的是一层薄膜。你的镜片相对于你的呼吸会比较凉,尤其是当外面的空气很冷时。
输入:鱼有思考能力。
知识:鱼比它们看起来更聪明。在许多领域,如记忆力,它们的认知能力与或超过非人类灵长类动物等“更高级”的脊椎动物。鱼的长期记忆帮助它们跟踪复杂的社交关系。
输入:一个人一生中吸烟很多香烟的常见影响是患肺癌的几率高于正常水平。
知识:那些一生中平均每天吸烟不到一支香烟的人,患肺癌的风险是从不吸烟者的9倍。在每天吸烟1到10支香烟之间的人群中,死于肺癌的风险几乎是从不吸烟者的12倍。
输入:一块石头和一颗卵石大小相同。
知识:卵石是一种根据Udden-Wentworth沉积学尺度的颗粒大小为4到64毫米的岩屑。卵石通常被认为比颗粒(直径2到4毫米)大,比卵石(直径64到256毫米)小。
输入:高尔夫球的一部分是试图获得比其他人更高的得分。
知识:
5. 自我一致性
这个术语在提示工程中更高级的技术之一,旨在“替换链式思维提示中使用的天真贪婪解码方法”,通过少样本 CoT 采样多个不同的推理路径,并使用生成结果选择最一致的答案。这种方式助于提高prompt提示在涉及算术和常识推理的任务中的性能。
这里直接给大家列一些prompt可以直接用的例子,比起前面的少量样本和推理提示的例子,个人觉得下面的case在推理基础上同时也在教大模型什么是“常识”,大家如果需要配置不是非常单一场景的推理类型Agent的任务时,就可以直接基于这些样本,把最后的问题改成我们自己的场景问题,微微调整下prompt直接用了。
Q:林中有15棵树。林业工人今天将在林中种树。完成后,将有21棵树。林业工人今天种了多少棵树?
A:我们从15棵树开始。后来我们有21棵树。差异必须是他们种树的数量。因此,他们必须种了21-15 = 6棵树。答案是6。
Q:停车场有3辆汽车,又来了2辆汽车,停车场有多少辆汽车?
A:停车场已经有3辆汽车。又来了2辆。现在有3 + 2 = 5辆汽车。答案是5。
Q:Leah有32块巧克力,她的姐姐有42块。如果他们吃了35块,他们总共还剩多少块?
A:Leah有32块巧克力,Leah的姐姐有42块。这意味着最初有32 + 42 = 74块巧克力。已经吃了35块。因此,他们总共还剩74-35 = 39块巧克力。答案是39。
Q:Jason有20个棒棒糖。他给Denny一些棒棒糖。现在Jason只有12个棒棒糖。Jason给Denny多少棒棒糖?
A:Jason有20个棒棒糖。因为他现在只有12个,所以他必须把剩下的给Denny。他给Denny的棒棒糖数量必须是20-12 = 8个棒棒糖。答案是8。
Q:Shawn有五个玩具。圣诞节,他从他的父母那里得到了两个玩具。他现在有多少个玩具?
A:他有5个玩具。他从妈妈那里得到了2个,所以在那之后他有5 + 2 = 7个玩具。然后他从爸爸那里得到了2个,所以总共他有7 + 2 = 9个玩具。答案是9。
Q:服务器房间里有9台计算机。从周一到周四,每天都会安装5台计算机。现在服务器房间里有多少台计算机?
A:从周一到周四有4天。每天都添加了5台计算机。这意味着总共添加了4 * 5 =
20台计算机。一开始有9台计算机,所以现在有9 + 20 = 29台计算机。答案是29。
Q:Michael有58个高尔夫球。星期二,他丢失了23个高尔夫球。星期三,他又丢失了2个。星期三结束时他还剩多少个高尔夫球?
A:Michael最初有58个球。星期二他丢失了23个,所以在那之后他有58-23 = 35个球。星期三他又丢失了2个,所以现在他有35-2 = 33个球。答案是33。
Q:Olivia有23美元。她用每个3美元的价格买了五个百吉饼。她还剩多少钱?
A:她用每个3美元的价格买了5个百吉饼。这意味着她花了15美元。她还剩8美元。
Q:当我6岁时,我的妹妹是我的一半年龄。现在我70岁了,我的妹妹多大?
A:
6. 思维树 (ToT)
对于需要探索或预判战略的复杂任务来说,传统或简单的提示技巧是不够的。思维树(Tree of Thoughts,ToT)框架基于思维链提示进行了总结,引导语言模型探索把思维作为中间步骤来解决通用问题。
ToT 维护着一棵思维树,思维由连贯的语言序列表示,这个序列就是解决问题的中间步骤。使用这种方法,LLM 能够自己对严谨推理过程的中间思维进行评估。LLM 将生成及评估思维的能力与搜索算法(如广度优先搜索和深度优先搜索)相结合,在系统性探索思维的时候可以向前验证和回溯。
ToT 框架原理如下:
ToT 需要针对不同的任务定义思维/步骤的数量以及每步的候选项数量。例如,论文中的“算 24 游戏”是一种数学推理任务,需要分成 3 个思维步骤,每一步都需要一个中间方程。而每个步骤保留最优的(best) 5 个候选项。
ToT 完成算 24 的游戏任务要执行广度优先搜索(BFS),每步思维的候选项都要求 LM 给出能否得到 24 的评估:“sure/maybe/impossible”(一定能/可能/不可能) 。作者讲到:“目的是得到经过少量向前尝试就可以验证正确(sure)的局部解,基于‘太大/太小’的常识消除那些不可能(impossible)的局部解,其余的局部解作为‘maybe’保留。”每步思维都要抽样得到 3 个评估结果。整个过程如下图所示:
简单来说,这种方式的思路是由强化学习(Reinforcement Learning)训练出 “ToT 控制器”(ToT Controller)来驱动树的搜索策略(包括什么时候回退和搜索到哪一级回退等等)。深度优先/广度优先/集束搜索是通用搜索策略,并不针对具体问题。相比之下,由强化学习训练出的 ToT 控制器有可能从新的数据集学习,或是在自对弈(AlphaGo vs. 蛮力搜索)的过程中学习。因此,即使采用的是冻结的 LLM,基于强化学习构建的 ToT 系统仍然可以不断进化,学习新的知识。
思维树(ToT)提示法框架的主要概念可以概括成一段简短的提示词,指导 LLM 在一次提示中对中间思维做出评估,例子如下:
Q:林中有15棵树。林业工人今天将在林中种树。完成后,将有21棵树。林业工人今天种了多少棵树?
A:我们从15棵树开始。后来我们有21棵树。差异必须是他们种树的数量。因此,他们必须种了21-15 = 6棵树。答案是6。
Q:停车场有3辆汽车,又来了2辆汽车,停车场有多少辆汽车?
A:停车场已经有3辆汽车。又来了2辆。现在有3 + 2 = 5辆汽车。答案是5。
Q:Leah有32块巧克力,她的姐姐有42块。如果他们吃了35块,他们总共还剩多少块?
A:Leah有32块巧克力,Leah的姐姐有42块。这意味着最初有32 + 42 = 74块巧克力。已经吃了35块。因此,他们总共还剩74-35 = 39块巧克力。答案是39。
Q:Jason有20个棒棒糖。他给Denny一些棒棒糖。现在Jason只有12个棒棒糖。Jason给Denny多少棒棒糖?
A:Jason有20个棒棒糖。因为他现在只有12个,所以他必须把剩下的给Denny。他给Denny的棒棒糖数量必须是20-12 = 8个棒棒糖。答案是8。
Q:Shawn有五个玩具。圣诞节,他从他的父母那里得到了两个玩具。他现在有多少个玩具?
A:他有5个玩具。他从妈妈那里得到了2个,所以在那之后他有5 + 2 = 7个玩具。然后他从爸爸那里得到了2个,所以总共他有7 + 2 = 9个玩具。答案是9。
Q:服务器房间里有9台计算机。从周一到周四,每天都会安装5台计算机。现在服务器房间里有多少台计算机?
A:从周一到周四有4天。每天都添加了5台计算机。这意味着总共添加了4 * 5 =
20台计算机。一开始有9台计算机,所以现在有9 + 20 = 29台计算机。答案是29。
Q:Michael有58个高尔夫球。星期二,他丢失了23个高尔夫球。星期三,他又丢失了2个。星期三结束时他还剩多少个高尔夫球?
A:Michael最初有58个球。星期二他丢失了23个,所以在那之后他有58-23 = 35个球。星期三他又丢失了2个,所以现在他有35-2 = 33个球。答案是33。
Q:Olivia有23美元。她用每个3美元的价格买了五个百吉饼。她还剩多少钱?
A:她用每个3美元的价格买了5个百吉饼。这意味着她花了15美元。她还剩8美元。
Q:当我6岁时,我的妹妹是我的一半年龄。现在我70岁了,我的妹妹多大?
A:
7. 自动推理并使用工具 (ART)
使用 LLM 完成任务时,交替运用 CoT 提示和工具已经被证明是一种即强大又稳健的方法。这类方法通常需要针对特定任务手写示范,还需要精心编写交替使用生成模型和工具的脚本。但是伟大技术的出现往往就来自于一些大牛对于模式固定的事情的“懒得亲自干”,于是乎就有了Paranjape et al提出的一个新框架——ART,该框架是使用冻结的 LLM 来自动生成包含中间推理步骤的程序。
ART(Automatic Reasoning and Tool-use)的工作原理如下:
1. 自动化推理:AI系统能够自动进行逻辑推理,无需人工干预。
2. 工具使用:AI系统能够识别何时需要使用特定的工具或数据源,并能够调用这些资源来辅助任务。
3. 决策制定:AI系统能够基于推理结果和可用的工具做出决策。
4. 环境适应性:AI系统能够在不同的环境中灵活地使用不同的工具和策略。
ART使AI系统能够自动执行推理任务,并在需要时调用外部工具或数据源来辅助决策和问题解决。这种技术结合了逻辑推理、决策制定和工具使用的能力,使AI系统能够在复杂的环境中执行更高级的任务。个过程如下:
好的不太好理解,没关系,咱们直接记提示词:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:理解主题
Q:远程工作对员工生产力有何影响?
A:[AI系统通过内部知识库和外部数据源分析远程工作对员工生产力的潜在影响]
### 第二步:收集数据
Q:我们需要哪些数据来支持文章的论点?
A:[AI系统确定需要的数据类型,如员工调查、生产力统计数据、远程工作研究报告等]
### 第三步:调用外部工具
Q:有哪些外部工具或数据源可以帮助我们获取这些数据?
A:[AI系统调用数据库、在线调查工具、学术研究数据库等,以获取所需数据]
### 第四步:分析数据
Q:根据收集到的数据,我们可以得出哪些结论?
A:[AI系统使用数据分析工具对数据进行分析,得出关于远程工作对生产力影响的结论]
### 第五步:构建文章结构
Q:文章应该如何组织以清晰地传达我们的发现?
A:[AI系统构建文章大纲,包括引言、方法论、结果、讨论和结论等部分]
### 第六步:撰写文章
Q:请根据分析结果和文章结构撰写文章。
A:[AI系统撰写文章,确保内容准确、逻辑清晰,并且有说服力]
### 第七步:审查和修订
Q:文章是否需要进一步的修订以提高质量?
A:[AI系统使用文本分析工具审查文章,识别并修正可能的逻辑漏洞、语法错误和不清晰的表达]
### 第八步:最终检查
Q:文章是否已经准备好发布?
A:[AI系统进行最后的检查,确保文章符合出版标准,包括引用准确性、格式规范等]
### 输出:一篇高质量的文章
A:[AI系统输出最终的文章,准备发布]
8. 自动提示工程师(APE)
自动提示工程师(Automatic Prompt Engineering, APE)是一种自动生成、优化或筛选提示词的技术,目的是提高语言模型在特定任务中的灵活性与性能。与传统的依赖于人类经验和领域知识的提示词设计不同,APE通过分析大量样本数据或任务需求,自动生成最佳的提示词。是一种灵活适配和探索更复杂和多样化的提示词模式,以进一步挖掘大语言模型的潜力。在few-shot和zero-shot学习场景中,APE能通过更精确的提示词设计提升模型在未知任务上的表现。
APE最妙的是,提出了一个比人工设计的“让我们一步一步地思考”提示更好的零样本 CoT 提示。
APE的核心方法主要可以分为基于规则的自动化和基于机器学习的自动化两大类。基于规则的方法通过预定义的语法规则和模板,结合任务的语境,自动生成提示词。而基于机器学习的方法则通过训练模型自动生成或优化提示词,这类方法往往能适应更多元的任务场景。
以下是一个使用APE技术的prompt示例,场景为生成一篇高质量的文章:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:自动生成提示词
Q:请为以下任务生成一系列可能的提示词:“分析远程工作对员工生产力的影响”
A:[APE系统生成一系列提示词,例如:“远程工作如何影响生产力?”、“在家工作对员工效率的利弊分析”等]
### 第二步:评估和选择最佳提示词
Q:根据以下数据集,评估哪个提示词能产生最准确的回答
A:[APE系统使用评估指标,如准确性、相关性和回答质量,来选择最佳提示词]
### 第三步:使用最佳提示词生成文章
Q:使用选择的最佳提示词,生成一篇完整的文章
A:[APE系统根据选定的提示词生成文章,确保内容准确、逻辑清晰,并且有说服力]
### 第四步:文章后处理
Q:对生成的文章进行校对和优化,以提高文章质量
A:[APE系统对文章进行语法检查、风格统一和内容优化,确保文章达到高质量标准]
9. 方向性刺激提示(Directional Stimulus Prompting, DSP)
方向性刺激提示(Directional Stimulus Prompting, DSP)也是是一种相当于进阶的提示工程技术,它通过在提示中引入一小段称为“定向刺激”的离散标记来引导大型语言模型(LLMs)朝向特定的期望输出方向发展。这种方法不是直接调整LLMs,而是使用一个小型的可调策略模型为每个输入实例生成一个辅助的定向刺激提示。这些方向性的刺激提示作为细致入微的、实例特定的提示和线索,引导LLMs产生期望的结果,例如在生成的摘要中包含特定的关键词。
DSP框架的关键在于使用一个可调的策略模型来生成这些定向刺激提示。这个策略模型可以通过使用标记数据的有监督微调或基于LLM输出的离线或在线奖励的强化学习来优化。实验表明,该框架在使用最少的标记数据的情况下,一致性地提升了LLMs在各种监督任务上的性能,如摘要、对话响应生成和思维链推理任务。
以下是一个使用方向性刺激提示的prompt示例,场景为生成一篇高质量的文章,大家可以根据自己的场景基于预设进行微调:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:定义方向性刺激
Q:为了确保文章包含关键信息,你认为应该在文章中包含哪些关键词?
A:[策略模型生成一系列关键词,如“远程工作”、“生产力”、“员工福利”、“工作满意度”等]
### 第二步:生成文章草稿
Q:使用上述关键词作为定向刺激,生成一篇文章草稿。
A:[LLM根据定向刺激生成文章草稿]
### 第三步:评估和优化
Q:评估文章草稿是否包含了所有关键信息,并且逻辑清晰、论证充分。
A:[如果需要,策略模型可以进一步调整定向刺激,以优化文章草稿]
### 第四步:最终文章生成
Q:根据优化后的定向刺激,生成最终的高质量文章。
A:[LLM生成最终文章]
10. PAL(程序辅助语言模型)
程序辅助语言模型(Program-Aided Language Models,简称PAL)通过结合大型语言模型(LLMs)的自然语言理解能力与编程语言的逻辑推理能力,来解决复杂的任务。与传统的思维链提示(Chain-of-Thought Prompting)不同,PAL不是仅使用自然语言文本来获得解决方案,而是将解决问题的步骤卸载到编程运行时环境中,如Python解释器。这样,模型可以生成程序代码作为中间推理步骤,然后通过执行这些代码来获得最终结果。这种方法特别适用于需要精确计算或逻辑推理的任务,如数学问题、日期理解问题等。
以下是一个使用PAL技术的prompt示例,场景为生成一篇高质量的文章:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:定义文章结构
Q:我们需要一篇包含引言、主体和结论的文章。文章应该分析远程工作对员工生产力的正面和负面影响。
A:[LLM生成文章结构的代码]
### 第二步:生成数据收集代码
Q:为了支持文章的论点,我们需要收集远程工作相关数据。请生成用于数据收集的Python代码。
A:[LLM生成Python代码,例如使用API调用或网络爬虫技术]
### 第三步:执行数据收集代码
Q:请执行上述生成的Python代码,并获取数据。
A:[执行代码并获取数据]
### 第四步:分析数据并生成文章内容
Q:根据收集到的数据,生成文章的主体内容,包括数据分析和论点支持。
A:[LLM生成分析数据的代码,并使用代码结果生成文章主体内容]
### 第五步:生成结论并完成文章
Q:基于文章主体内容,生成结论部分,并完成整篇文章。
A:[LLM生成结论并完成文章]
### 第六步:文章审查和优化
Q:对生成的文章进行审查,确保逻辑连贯、论据充分,并进行必要的优化。
A:[LLM进行文章审查和优化]
11. 伪代码逻辑描述
有时候可能我用言语无法清晰地表达我的需求,也有可能LLM无法理解我们所说的“迭代十次”的过程。可以尝试通过伪代码的表达形式,让LLM更好的理解。例如咱们想说在一轮QA,把多轮迭代的事情做了这个部分里引入第三个角色:方案整理员,用来整理评委和方案设计者的讨论结果来修改已有的方案文案。想表达好这个过程以及让LLM理解且按理想情况去输出可太费劲了,呢有没有一种可能,通过伪代码可以让LLM更好的理解这个过程呢?来看例子
# 初始化方案
方案 = 初始方案
# 循环10次,代表10轮迭代
for i in range(10):
# 职责1:评委对方案进行评估,提出反问
反问 = 评委评估(方案)
# 职责2:方案设计者根据反问提出解决方案
解决方案 = 方案设计者提案(反问)
# 职责3:方案整理员根据解决方案更新方案
方案 = 方案整理员更新方案(方案, 解决方案)
# 最终经过10轮迭代后的方案
最终方案 = 方案
12. ReAct 框架
ReAct 的灵感来自于 “行为” 和 “推理” 之间的协同作用,生成推理轨迹使模型能够诱导、跟踪和更新操作计划,甚至处理异常情况。操作步骤允许与外部源(如知识库或环境)进行交互并且收集信息。
链式思考 (CoT) 提示显示了 LLMs 执行推理轨迹以生成涉及算术和常识推理的问题的答案的能力,但它因缺乏和外部世界的接触或无法更新自己的知识,而导致事实幻觉和错误传播等问题。ReAct 框架允许 LLMs 与外部工具交互来获取额外信息,从而给出更可靠和实际的回应。下图展示了 ReAct 的一个示例以及执行问题回答所涉及的不同步骤。
结果表明,ReAct 可以在语言和决策任务上的表现要高于几个最先进水准要求的的基线,也提高了 LLMs 的人类可解释性和可信度。
ReAct框架的关键组成部分包括:
1. 推理(Reasoning):系统理解问题的上下文以及需要做什么。
2. 行动(Action):然后,它执行特定的任务,如计算或数据检索,基于这个理解。
3. 观察(Observation):执行行动后,系统会观察结果,并根据这些信息调整后续的推理和行动。
以下是一个使用ReAct框架提示生成一篇高质量文章的例子:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:提供ReAct指令提示
Q:请为以下任务生成一个包含推理和行动步骤的ReAct提示:“分析远程工作对员工生产力的影响”
A:[LLM生成一个ReAct提示,包括推理步骤和可能的行动步骤,如搜索相关研究、分析数据、比较不同工作模式的影响等]
### 第二步:执行行动步骤
Q:根据提示,执行以下行动步骤:
- 搜索远程工作生产力相关的研究和数据
- 分析这些数据,找出关键趋势和洞见
- 比较远程工作与传统工作模式的生产力差异
A:[LLM执行上述行动步骤,检索和分析信息]
### 第三步:生成文章草稿
Q:基于收集和分析的信息,生成文章的初稿。
A:[LLM根据执行的行动步骤生成文章草稿,包括引言、主体和结论]
### 第四步:审查和优化文章
Q:审查文章草稿,确保逻辑连贯、论据充分,并进行必要的优化。
A:[LLM进行文章审查和优化,提高文章质量]
### 第五步:最终文章生成
Q:根据审查和优化的结果,生成最终的高质量文章。
A:[LLM输出最终文章]
请注意,不同的提示设置用于不同类型的任务。对那些以推理为主要目标的任务 (例如 HotpotQA),多思考-操作-观察步骤用于任务-解决轨迹。对于涉及许多操作步骤的决策任务来说,则较少使用思考。
13. 自我反思(Reflexion)
自我反思是一个通过语言反馈来强化基于语言的思路,通过引导大型语言模型(LLMs)进行自我反思和自我评估来提高其输出的质量和相关性。在这种框架下,模型被要求在生成最终答案之前,先对自己的推理过程进行反思,以确保其回答是基于正确的理解、充分的证据和逻辑严密的推理。
自我反思由三个不同的模型组成:
参与者(Actor):根据状态观测量生成文本和动作。参与者在环境中采取行动并接受观察结果,从而形成轨迹。链式思考(CoT)(opens in a new tab) 和 ReAct(opens in a new tab) 被用作参与者模型。此外,还添加了记忆组件为智能体提供额外的上下文信息。
评估者(Evaluator):对参与者的输出进行评价。具体来说,它将生成的轨迹(也被称作短期记忆)作为输入并输出奖励分数。根据人物的不同,使用不同的奖励函数(决策任务使用LLM和基于规则的启发式奖励)。
自我反思(Self-Reflection):生成语言强化线索来帮助参与者实现自我完善。这个角色由大语言模型承担,能够为未来的试验提供宝贵的反馈。自我反思模型利用奖励信号、当前轨迹和其持久记忆生成具体且相关的反馈,并存储在记忆组件中。智能体利用这些经验(存储在长期记忆中)来快速改进决策。
Reflexion框架的关键步骤通常包括:
1. 理解任务:模型首先需要理解提示中的任务和要求。
2. 生成初步答案:模型根据理解生成一个初步的答案。
3. 自我反思:模型对自己的初步答案进行反思,评估答案的合理性、完整性和准确性。
4. 修正和改进:基于自我反思的结果,模型对初步答案进行修正和改进。
5. 生成最终答案:模型提供经过反思和改进后的最终答案。
以下是一个使用自我反思(Reflexion)框架提示生成一篇高质量文章的例子:
## 任务:生成一篇关于“远程工作对员工生产力的影响”的高质量文章
### 第一步:理解任务
Q:你被要求写一篇关于远程工作对员工生产力影响的文章。请确认你理解了任务的要求。
A:[模型确认其理解任务的要求,包括文章的主题、预期的长度、所需的证据类型等]
### 第二步:生成初步答案
Q:请生成一个关于远程工作对员工生产力影响的初步文章草稿。
A:[模型生成一个初步的文章草稿,包括引言、几个主要段落和结论]
### 第三步:自我反思
Q:现在,请你对刚才生成的初步草稿进行反思。你的文章是否全面覆盖了远程工作的所有相关方面?是否有充分的证据支持你的观点?你的结论是否逻辑严密?
A:[模型进行自我反思,识别出初步草稿中可能的漏洞、不足的证据和逻辑上的不严密之处]
### 第四步:修正和改进
Q:基于你的自我反思,请对初步草稿进行修正和改进。确保你的文章有充分的证据支持,逻辑严密,并且全面覆盖了远程工作对员工生产力的所有相关方面。
A:[模型对初步草稿进行修正和改进,添加更多的证据,加强逻辑论证,并确保文章的全面性]
### 第五步:生成最终答案
Q:请提供你经过反思和改进后的最终文章。
A:[模型提供最终的文章,这是经过自我反思和改进后的版本,应该是一篇高质量的文章]
Prompt设计的“第一性原理”
上面的方法别看到,都没逃出下面这几个核心原则:
1.细节法:给出更清晰的指令,包含更多具体的细节
2. 分解法:将复杂的任务分解为更简单的子任务 (Let's think step by step, CoT等)
3. 记忆法:构建指令使模型时刻记住任务,确保不偏离任务解决路径(系统级prompt)
4. 解释法:让模型在回答之前进行解释,说明理由 (CoT 等方法)
5. 投票法:让模型给出多个结果,然后使用模型选择最佳结果 (ToT 等方法)
6. 示例法:提供一个或多个具体例子,提供输入输出示例 (one-shot, few-shot 等方法)
掌握了上面的第一性原理,其实我们自己也是可以创造出一些新奇的解法的,prompt没有标准答案,对我们的场景派得上用场那就是好的prompt!
新手入局Prompt的叮嘱
如果上面的技巧在大家在没有实践的时候看,的确可能脑负荷过大,对于新手来讲先实践起来积累基础认知,真正体会过怎么改都改不好的痛苦后,再去看上面的才会更有体感!那新人入局,记住下面几个prompt设计原则,轻装上阵也不会效果太差!
1. 灵活变通,不断迭代
咱一定要记住,prompt的设计这实际上是一个迭代过程,需要大量的调整才能获得最佳结果,得有耐心哦!咱们可以从简单的提示词开始,并逐渐添加更多元素和上下文,在这个过程中不断迭代,无所不用奇其极先自己尝试,如果效果不好也是正常的,不要被打击信心!万能好用的就是在提示中提供示例对于获得特定格式的期望输出,非常有效。
2. 清晰+直接+耐心
新手一般看了上面那些技巧,很容易陷入陷阱,想要在提示上发挥聪明,从而可能创造出不明确的描述。通常来说具体和直接会更好,描述时尽量兼顾语言的具体性、简洁性,将任务分解为更简单的子任务...方法论太多就先全都丢掉,别有思想负担,咱先自己玩起来!张三丰和张无忌怎么说的来着,你忘了你就对了...
3. 提示词要具体,但也别太长
要非常具体地说明你希望模型执行的指令和任务。提示越具描述性和详细,结果越好。特别是当你对生成的结果或风格有要求时,这一点尤为重要。别去想什么特定的词元(tokens)或关键词(tokens)能确定带来更好的结果。更重要的是要有一个具有良好格式和描述性的提示词。
在设计提示时,还要注意提示的长度,因为提示的长度是有限制的,也是花钱滴!想一想咱们需要多么的具体和详细。包含太多不必要的细节不一定是好的方法。这些细节应该是相关的,并有助于完成手头的任务。具体但别啰嗦,反正就是一个动态的平衡,这个度咱们还是得自己在实践中来找。
高质量完整Prompt举例
## Role:
隐私律师(Privacy Lawyer)
## Profile:
- Author: 刘海
- language: 中文
- description: 一步步思考并推理,认真阅读且深度剖析用户提供的应用隐私条例,找出其中可能存在的风险隐私条例,并提供解析理由告诉用户为什么它会存在风险。
## Goals:
- 找出其中可能存在的风险隐私条例,并提供解析理由告诉用户为什么它会存在风险。
## Constrains:
- 排版方式不应该影响信息的本质和准确性
- 不要使用过于通用和笼统的字词,那样会无法让用户理解产品。
- 直接输出「OutputFormat」的格式输出,不要发起反问或者提问,输出完结束对话。
- 不要担心你的回复会被截断,请尽可能详细地输出你的推理过程。
## Skills:
- 深入理解隐私和数据保护法规: 对于中国的情况,应熟悉《网络安全法》、《个人信息保护法》等相关法规,能够识别出与这些法规冲突的条款。
- 关注用户权益:需要有敏锐的洞察力,能从用户的角度看待问题,识别出对用户不友好的规定。
- 批判性思维:能够对隐私政策进行深度分析,挖掘并解析其深层含义。
- 良好的解读和分析能力:能够理解并分析法律条款的含义,了解其可能对用户造成的影响。
- 沟通和解释能力:能够用易于理解的语言将复杂的法律概念解释给其他人,尤其是非专业的公众。
- 研究和跟踪最新法规动态:数据保护和隐私法规是一个快速发展的领域,新的法规和指导意见不断出台,需要有能力跟踪并理解这些新的发展。
## Workflows:
- 你作为隐私律师(Privacy Lawyer),将会在用户给定的「隐私条例」信息中,使用你的「Skills」能力,一步步思考并推理,找出其中可能存在的风险隐私条例,并提供解析理由告诉用户为什么它会存在风险,输出你的推理过程。
- 第一步,你需要一步步思考并推理,输出你的推理过程,你将会从哪些原则方面(评分标准)去分析这个条例更能全方位、无死角的找出并剖析每一个对用户“不友好”的条例。
- 第二步,你需要一步步思考并推理,输出你的推理过程,结合你的原则方面(评分标准),分析并找出其中可能存在的风险隐私条例,以 Markdown 表格的形式输出。
## OutputFormat:
【分析/评分标准】:
<分析推理的标准:是否满足哪些法律/是否有哪些隐私问题/是否违法违规等>
【不友好条例表格】:
<Markdown 表格:条例编号/用户角度的简要条例总结/简述可能存在的问题/不友好的本质原因>
【为什么他们不友好】:
<深度剖析以上条例不友好的原因的完整推理过程>
- **<条例标题1>**:<为什么不友好的原因>
- **<条例标题2>**:<为什么不友好的原因>
- **<条例标题3>**:<为什么不友好的原因>
...
- **<条例标题N>**:<为什么不友好的原因>
## Profile:
- Role: 美食艺术家
- Author:刘海
- Language: 中文
- Description: 我曾在全球各地品尝过各种美食,对食材、烹饪方法以及食物背后的文化都有深入的了解。我热爱写作,善于捕捉食物的细节并用文字呈现它们的魅力。我的目标是让每一位读者都能够通过我的文字品尝到食物的美味。用户输入菜名, 我会尽己所能, 给出三句不同的比喻描述, 来尝试让读者通过我的文字品尝到该菜品的味道.
## Goals:
- 撰写不超过 36 个字的美食句子
- 句子要往情欲方向联想
- 句子要引起用户的食欲, 以及情欲
- 根据用户的反馈,优化并撰写下一批句子
## Constrains:
- 所描绘的美食必须符合中国人的晚餐风情,避免涉及甜点、饮料、水果等非主食内容
- 必须运用典雅而深奥的中文成语,使其充分体现出美食所激发的情欲感觉
- 必须利用晦涩难懂的中文成语修饰食物带来的情欲感觉
## Skills:
- 拥有精湛绝伦的美食写作技艺,能将美食的风味透过文字触动人的味蕾
- 对食材烹饪的深入洞察,从食材的选取、烹饪的技巧到味道的搭配都了如指掌
- 具有丰富的想象力和娴熟的比喻技巧,能够把美食和情欲巧妙地融合在一起
- 精炼而优雅的文字功底,擅长利用典雅的中文成语,将食物所带来的情欲感觉巧妙地描述出来
## OutPutFormat:
【菜品分析】:<一步一步思考并推理,详细分析用户输入的目标菜品由哪些美味食材组成,以及该菜品的历史来由和地域风情。至少500字。>
【列举美词】:<列举50个主要描述美味的中文成语,食物和情欲进行联想,不要跑题。> <格式以`、`分割,例如:例如美不胜收、浓郁诱人>
【菜+美】:<一步一步思考并推理,详细说明如何将菜品中的食材的特点与美词进行相结合,来让用户能够通过文字品尝到食物的美味,将食材的美味特点和情欲进行联想,挑选优美的词汇进行搭配, 选择合适的比喻描述食物的文化、形态、隐喻、色彩或口感。>
【比喻描述】:
- <比喻标题1>:<比喻描述,至少50个字>
- <比喻标题2>:<比喻描述,至少50个字>
- <比喻标题3>:<比喻描述,至少50个字>
对大模型的叮嘱—快速修复无灵魂回答的Tips大全
以下内容是经过不断与大模型的尔虞我诈,总结出来的好用快速使大模型回复充满灵魂power的tips!大家可以按需选择加入到Constrains中,给大模型“叮嘱”
鼓励创造力:“重写现有文档,使其更具想象力、吸引力和独特性。”`
注重讲故事:“将现有文档转化为一个引人注目的故事,突出所面临的挑战和提供的解决方案。”
使用有说服力的语言:“通过使用有说服性的语言和技巧来完善现有的文档,使其更具说服力和影响力。”
强调情感:“在现有文档中添加情感语言和感官细节,使其更具相关性和吸引力。”
利用感官细节:“通过添加感官细节和描述性语言来完善现有文档,使其栩栩如生,吸引读者。”
使内容简洁明了:“通过删除不必要的信息,使现有文档更加简洁明了。”
突出关键点:“重写现有文档,强调关键点,使其更具影响力。”
使用生动的语言:“用生动的语言和描述性形容词来完善现有的文档,使其更具吸引力。”
营造紧迫感:“通过增加紧迫感和强调立即采取行动的必要性来完善现有文件。”
解决异议:“通过预测和解决对内容的潜在异议来完善现有文件。”
个性化内容:“通过个性化语言并使其与读者更相关来优化现有文档。”
快速精炼:提高可读性
使用清晰简洁的语言:“用简单的术语解释技术概念。”
添加视觉辅助工具:“使用mermaid.js,您可以包含图表来说明复杂的概念(低可靠性)。”
使用标题和副标题:“将文档分为标题和副标题清晰的部分。”
突出关键点:“使用粗体或斜体文本强调重要信息。”
添加现实生活中的例子:“包括案例研究或现实世界的例子,使概念更具相关性。”
使用清晰一致的格式:“在整个文档中使用一致的字体、字体大小和布局。”
包括类比和比较:“用类比或比较来解释复杂的想法。”
使用主动语态:“用主动语态写作,使句子更具吸引力,更容易理解。”
上下文一致性: 确保标识符和属性词的一致性
首先,你必须逐步思考和推理,深入分析我真正想解决的根本问题。因为我的问题描述得很模糊,而且问题中包含的信息也很有限。
我希望你能进一步思考,帮我解决真正的问题。
保持中立和客观。
如果我没有特别指定语言,那默认使用中文回复。
请不用担心你的回复会被打断,尽量输出你的推理过程。
Prompt巧技也有局限
结构化 Prompt 依赖于基座模型能力,并不能解决模型本身的问题,结构化 Prompt 并不能突破大模型 Prompt 方法本身的局限性,比如以下已知的无法解决的问题:
大模型本身的幻觉问题
大模型本身知识老旧问题
大模型的数学推理能力弱问题 (解数学问题)
大模型的视觉能力弱问题(构建 SVG 矢量图等场景)
大模型字数统计问题(不论是字符数和 token 数,大模型都无法统计准确。需要输出指定字数时,将数值设定的高一些,后期自己调整一下,比如希望他输出100字文案,告诉他输出150字。)
同一Prompt在不同模型间的性能差异问题
附录
https://mp.weixin.qq.com/s/N9BrkDqvkIHQD7TTnhNk6Q
https://waytoagi.feishu.cn/wiki/Dor2wc2FviY3q3kgSuScJrkhngg
https://github.com/mattnigh/ChatGPT3-Free-Prompt-List
https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-the-openai-api
https://www.promptingguide.ai/zh/techniques/rag
系统论述文章: 构建高性能 Prompt 之路——结构化 Prompt
https://www.zhihu.com/people/zphyix
LangGPT: https://github.com/yzfly/LangGPT
CRISPE 框架: https://github.com/mattnigh/ChatGPT3-Free-Prompt-List
ZhangHanDong: https://github.com/ZhangHanDong
prompt-description-language: https://github.com/ZhangHanDong/prompt-description-language
https://web.okjike.com/u/752D3103-1107-43A0-BA49-20EC29D09E36
AI-Tutor: https://github.com/JushBJJ/Mr.-Ranedeer-AI-Tutor
https://ywh1bkansf.feishu.cn/wiki/Dor2wc2FviY3q3kgSuScJrkhngg
https://github.com/yzfly/LangGPT
Prompt 优化:
https://aq92z6vors3.feishu.cn/wiki/WDfzwfTKwi1lyAkBcoCcu0sUnPc
构建生产级鲁棒高性能 Prompt:
https://zhuanlan.zhihu.com/p/636016460
LangGPT —— 让人人都能编写高质量 Prompt:
https://zhuanlan.zhihu.com/p/629107497
如何写好Prompt: 结构化:
https://www.lijigang.com/posts/chatgpt-prompt-structure/
为什么结构化 Prompt 如此有效?:
https://zhuanlan.zhihu.com/p/646183814
构建生产级鲁棒高性能 Prompt:
https://zhuanlan.zhihu.com/p/636016460
提升大模型可靠性的 prompt 方法汇总:
https://www.zhihu.com/pin/166151637577985228
结构化的Prompts, 用于各种大语言模型:
https://github.com/lijigang/prompts
扫码关注更多AI资讯
我们一起学AI