Prompt 提示词强大方法论和框架2
自从ChatGPT
Chat Generative Pre-trained Transformer于2022年11月30日发布以来,一个新兴的行业突然兴起,
那就是提示工程Prompt engineering,可谓如日冲天。
从简单的文章扩写到RAG,ChatGPT展现了前所未有的惊人能力。
在上一篇文章中
我们介绍了5个提示工程方法论和框架
今天,我们将继续向大家介绍
其它的
5个提示工程方法论和框架
1、提示工程总览
提示工程技术大概可以分成四类:
- 基于样本提示技术
- 思维链技术
- 自动增强技术
- 交互与推理技术
在上一篇文章中
我们介绍了(下图中标有的部分):
零样本提示(Zero-shot)
少样本提示(Few-shot)
思维链(Chain-of-Thought / CoT)
自动思维链(Automatic CoT)
自洽(Self-consistency)
这篇文章将继续介绍其它的 方法论和框架
包括:
自动提示工程师
Automatic Prompt Engineer
生产知识提示
Generated Knowledge Prompting
思维树
Tree of Thought / ToT
思维图
Graph of Thoughts / GoT
自动增强检索
Retrieval Augmented Generation / RAG
请看下方标有✅的部分(标有的部分将在下一篇文章介绍)。

以下是它们各自的发布时间线:

2、自动增强技术
Automatic Prompt Engineer (APE)
自动提示工程师
APE
是一种用于自动生成(而不是依赖人工编写)和选择指令的框架。它的目标是通过为特定任务自动生成和选择最合适的指令来提高大型语言模型(LLMs)的性能。
APE由一个推理模型和一个目标模型组成。
推理模型生成指令候选
目标模型评估这些指令候选的性能
推理模型使用一个额外的提示,通过提供输出示例来生成指令候选。这个提示被称为指令模板(instruction template)。指令模板是一个预先定义的指令结构,它指导推理模型生成指令候选。目标模型使用指令候选执行任务,并计算它们的性能。
推理模型和目标模型通过一个评估函数(evaluation function)进行交互。评估函数接收指令候选和任务结果作为输入,并计算它们的性能。性能可以是任何指标,例如准确率、召回率或F1分数。
举个例子,考虑一个任务,AI需要生成一个用于计算数字阶乘的Python函数。APE会生成多个指令候选,例如“编写一个Python函数来计算数字阶乘”、“创建一个计算给定数字阶乘的Python函数”等等。然后,目标模型执行这些指令,并选择生成最准确和高效的Python函数的指令。
APE在许多情况下表现出优于人工设计的提示的性能。例如,APE发现了一个比“让我们逐步思考”更好的零样本的CoT(Chain-of-Thought)提示。
它生成的提示“**让我们以逐步的方式解决这个问题,以确保我们得到了正确的答案”**提高了MultiArith和GSM8K基准测试的性能。
它的主要步骤如下:
- 给定输出预测输入(逆向生成)
- 计算输入的分数
- 根据分数决定输入(可能重复直到分数收敛)

Generated Knowledge Prompting
生成知识提示法
GKP
依托于大型语言模型(LLM)的强大功能,旨在创造出能够解决特定问题的知识。
这个方法的核心思想是,通过LLM生成有价值的知识信息,然后把这些信息作为提示内容,和一个相关问题结合起来,用于解决具体的任务。
**知识通常指的是可以被算法或模型利用来执行任务或做出决策的信息。**它可以采取多种形式,包括数据,事实,规则,关系,模式,概念和经验。以下是几个例子:
-
事实知识:
例如,“巴黎是法国的首都。”这是一个明确的事实,可以被用来回答关于地理或政治的问题。
-
程序性知识:
如编程语言的语法规则或者骑自行车的步骤。这些知识说明了如何执行特定的任务。
-
启发式知识:
在解决问题时,经验法则或简单规则可以指导决策过程。例如,在棋类游戏中,“控制棋盘中心”通常是一个有用的策略。
-
关系知识:
诸如“所有的猫都是哺乳动物”这样的陈述,表明了猫和哺乳动物之间的分类关系。
-
模式知识:
通过数据分析发现的趋势,例如股市历史数据中的交易模式。
-
概念知识:
对一类事物的一般理解,例如“民主”或“可持续发展”的定义。
-
经验知识:
个人或集体的经验,如医生对疾病症状的识别。
这些知识形式可以通过不同方式获取和应用,例如通过训练数据集学习,通过知识库直接编码,或者通过模型的推理能力来生成和应用。知识是智能系统的核心组成部分,它使得这些系统能够理解复杂的概念,解决问题,并做出有根据的决策。
以下是生成知识提示方法的简明解析:
-
生成知识:
这一过程开始于向大型语言模型(LLM)提供指令,为每项任务准备几个具体示例以及一个待提问的空白处。这些示例由人工编写,不仅包含了与任务相符的问题,还附带了有益的知识说明。
-
知识整合:
生成知识之后,这一步骤通过运用另一个大型语言模型(LLM),以每条知识声明作为依据进行预测,从中挑选出最具有信服力的预测结果,并将其融合进模型的判断过程中。
-
评估表现:
评估标准围绕三个核心要素:知识的数量与质量(表现随着更多知识声明的添加而提升),以及在推断时采取的知识整合策略。
这种技术已成功提高了大型语言模型(LLM)在处理多种常识性推理任务上的性能,为大部分测试数据集创下了新的行业领先成果,并且无论是在未见过的数据上还是经过微调的场景中都显示出了有效性。
在《Generated Knowledge Prompting for Commonsense Reasoning》论文中,通过图示展示了这一过程:利用少量示例从一个LLM中生成与问题相关的知识声明,然后使用另一个LLM根据每条知识声明进行预测,并最终选出最有把握的预测结果。
举个例子,可以向模型提出这样的命题:“鱼能思考。知识:鱼的智慧超出外表所显示的。”模型应当根据所给的知识做出反应。
总之,生成知识提示技术通过生成作为提问部分的知识,引用知识或规律而非实例来提问,它不仅确保了模型在面对不同输入时能够保持内部状态或行为的一致性,而且在多种场合下都有应用,比如在 LangChain 中,特别是处理 CSV 格式数据时尤为有效。

3、思维链技术
Tree of Thought (ToT)

思维树
ToT
框架被用于BabyAGI的任务生成代理中,其目的是提升如GPT-4等大型语言模型(LLM)的解题能力。
它的主要构成和功能:
-
树状结构及推理路径:
ToT采用树状结构,支持多条推理路径,以探索性方式识别下一步动作。这种结构也便于实现深度优先和广度优先等搜索算法。
-
预读与回溯功能:
ToT的特色之一是其能够预先阅读并在必要时回溯推理步骤,同时可以在所有方向上选择全局推理步骤。
-
维护思维树:
该框架保持一个树状结构,每个节点的思维代表一个连贯的语言序列,是解题过程中的中间步骤。这样做使得语言模型能够通过有目的的推理自我评估中间思维在解题过程中的进展。
-
系统性思维探索:
结合搜索算法的模型生成与评估思维的能力,使得系统性地探索思维成为可能,具备前瞻和回溯功能。
例如,在“解决24点游戏”的任务中
模型将基于思维树来构造答案。如在24点游戏中,可以将思维划分为3个步骤,每个步骤包含一个中间等式。在每个关键点,模型会保留最优选项,并根据是否能达到24来评估每个思维候选,分为“肯定/可能/不可能”。这种方法支持那些能够在少数几次尝试中确定的准确部分解决方案,并排除那些无法实现的方案。
在BabyAGI这样的自主AI代理(Agent)中,ToT被用来根据特定目标生成和实施任务。任务完成后,BabyAGI会根据结果调整其策略,并基于之前的执行成果和总体目标规划新任务。
总结来说
思维树(ToT)提示技术为语言模型提供了一种强有力的解决问题的工具,能够系统性地探索和评价多条推理路径。在 BabyAGI 等系统中找到了应用,这些系统能够自主地生成、执行和评估任务,以达成明确的目标。
Graph of Thoughts (GoT)
思维图
GoT
既是一种框架体系,也是一种引导技术。这种方法通过将大型语言模型(LLM)生成的信息以图的形式组织起来,从而显著提升了回答的精确性,其效果尤为突出。
在该图中:
- 顶点:表示各个独立的思维。
- 边:显示思维之间的联系或相互作用。
GoT通过鼓励LLM以多样化方式整合思维、提纯思维网络到其核心,并通过反馈循环来加强思维,反映了人类认知过程的非线性本质,使得对思维序列的模拟更加真实。
GoT方法概述如下:
- 思维产生:LLM产生相关的思维,每一个思维在图中被表示为一个顶点。
- 连接识别:确定思维之间的关系(逻辑发展、支撑证据或不同观点),并在图中以边的形式展现。
- 图形探索:LLM在图中进行探索,以形成解决方案,可能会按照特定的顺序遍历,巧妙地结合思维,或通过反馈循环来强化特定的思维。
- 生成回答:基于图内探索出的解决方案,LLM生成回答。这种回答往往比未使用GoT生成的回答更加精准。
在进行的实践测试中,面对日益增加的挑战,如24点游戏、解决高次多项式方程、导出递归序列的公式等,GoT展现了超越GPT-4和其他先进提示方法,如思维树(ToT),的优越性能,分别在这些任务中实现了89.7%、86%和56%的准确度提高,与ToT相比,平均准确度分别提升了23%、24%和15%。

本质上,GoT通过允许大型语言模型(LLM)通过图表示来模拟、探索和增强复杂的思维过程,从而提高了LLM生成回应的准确性,确保了对所有相关思维及其相互关系的全面检查。

4、交互与推理技术
Retrieval Augmented Generation(RAG)

检索增强型生成
RAG
是一种框架,通过融合检索式模型和生成式模型的优势,致力于提升大型语言模型(LLM)输出文本的品质和相关度。它能够从外部知识库中提取信息,确保LLM输出的信息既准确又是最新的,而无需修改LLM本身。
RAG框架要点解析如下:
-
检索模型:这类模型负责从数据集或知识库中寻找必要信息,通过信息检索或语义搜寻技巧根据特定查询找到最合适的信息。
-
生成模型:根据特定提示或上下文创造新内容的模型,它们通过分析大量训练数据来创作新颖或创意内容。
-
结合双方优势:RAG将上述两种方法结合,既弥补了它们的不足,又发挥了各自的强项。通过检索模型找到与查询或上下文相关的信息,再将这些信息作为生成模型的输入或额外上下文,以此来生成更加贴切和精确的文本。
-
应用实例:例如,Alice想知道是否能以半天为单位请假,以及她今年是否还有足够的假期。一个应用了RAG的聊天机器人能够实时查找公司最新的假期政策,并利用这些信息来回答Alice的问题。
采用 RAG 的工具和平台包括:
-
LlamaIndex:
简化自定义数据上基于LLM应用开发的索引和查询过程。
-
Weaviate:
一款开源的向量数据库,支持使用向量表达方式来存储和查询数据对象。
RAG应用场景:
-
问答系统:
先通过检索模型找到含有答案的相关文段或文件,再通过生成模型整合这些信息,形成简洁明了的回答。
-
内容创作任务:
如进行文本摘要或编故事,检索模型会先寻找相关资料,然后生成模型根据这些资料创作出摘要或故事。
简而言之,RAG通过利用知识库中的准确和最新信息,极大地扩展了LLM的功能,使其在问答系统、内容创作等多种应用场景中,能够生成更加相关和精确的文本,并且能与多种工具和平台配合使用。
5、总结
提示工程
Prompt Engineering的四大类技术:
- 基于样本提示技术
- 思维链技术
- 自动增强技术
- 交互与推理技术
都为AI系统提供了新的可能性
这些技术可以广泛应用于问答系统、内容创作、任务生成代理、执行代理等多种场景,极大地扩展了大型语言模型的能力和应用范围。并且,通过不断改进和创新这些技术,我们可以预见到未来AI将会更加智能、准确和高效。
总的来说,本文对提示词的介绍和一些相关的方法论和框架的解析,旨在为广大读者提供对这一新兴行业的深入理解和洞见。在未来的发展中,我们期待看到更多的成功应用和突破性成果,共同推动这个激动人心的领域不断向前。
如何学习大模型
现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。
作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。
我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。
一、AGI大模型系统学习路线
很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

二、AI大模型视频教程

三、AI大模型各大学习书籍

四、AI大模型各大场景实战案例

五、结束语
学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。
再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。
因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。
相关文章:
Prompt 提示词强大方法论和框架2
自从ChatGPT Chat Generative Pre-trained Transformer于2022年11月30日发布以来,一个新兴的行业突然兴起, 那就是提示工程Prompt engineering,可谓如日冲天。 从简单的文章扩写到RAG,ChatGPT展现了前所未有的惊人能力。 在上一…...
C语言分支和循环(2)
我的相关博客: C语言的分支与循环(1) 1.switch语句 除了 if 语句外,C语⾔还提供了 switch 语句来实现分⽀结构。 switch 语句是⼀种特殊形式的 的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重 else if…...
14.FreeRTOS 流媒体缓存 Stream Buffer
FreeRTOS 中的 Stream Buffer(流媒体缓存) 在实时操作系统(RTOS)中,处理流媒体数据是一项非常关键的任务。FreeRTOS 提供了一种名为 Stream Buffer(流媒体缓存)的机制,用于高效地管…...
利用ffmpeg把视频分解成图片(每秒x张图)再图片合成视频
1. 视频分解成图片 ffmpeg -i rawVideo.mp4 -r 5 -f image2 img/%04d.png-i rawVideo.mp4 输入文件 -r 5 每秒5帧(1秒5张图) 可不写,默认每秒24帧 -f image2 表示输出的格式图像 可不写,默认图像 img/ 图片放在img文件夹下 %04d.png 图片的命名…...
冯喜运:6.7今日外汇黄金原油走势分析及日内操作策略
【黄金消息面分析】:美国初请失业金人数超预期,市场对美联储9月降息预期升温,全球降息潮起,黄金市场受支撑。北京时间本周四,美国劳工部公布的数据显示,截至6月1日当周初请失业金人数增加至22.9万人&#x…...
[网络基础]——计算机网络(OSI)参考模型 详解
🏡作者主页:点击! 🌐网络通信基础TCP/IP专栏:点击! ⏰️创作时间:2024年6月2日21点59分 🀄️文章质量:93分 目录 🎟️OSI基本概念 🎄分层架构…...
使用 Java 获取图片的 MD5 编码
在许多应用场景中,我们需要验证文件的完整性或唯一性,常用的方法是计算文件的哈希值。MD5(Message Digest Algorithm 5)是一种广泛使用的哈希函数,可以生成一个128位的哈希值(32位的十六进制数字࿰…...
GO——泛型
泛型 对于强类型语言,在编写代码时不事先指定类型,在实例化的时候作为参数指明类型 参考:https://www.liwenzhou.com/posts/Go/generics/ 什么时候使用泛型? 方法中的代码实现与类型T无关参考:https://juejin.cn/p…...
TSP(Python):Qlearning求解旅行商问题TSP(提供Python代码)
一、Qlearning简介 Q-learning是一种强化学习算法,用于解决基于奖励的决策问题。它是一种无模型的学习方法,通过与环境的交互来学习最优策略。Q-learning的核心思想是通过学习一个Q值函数来指导决策,该函数表示在给定状态下采取某个动作所获…...
【精通NIO】NIO介绍
一、什么是NIO NIO,全称为New Input/Output,是Java平台中用于替代传统I/O(Blocking I/O)模型的一个功能强大的I/O API。NIO在Java 1.4版本中被引入,其设计目标是提供一种非阻塞的、低延迟的I/O操作方式,以…...
ssh远程管理
一、Openssh概述 Openssh是一种安全通道协议,用来实现字符界面的远程登录、远程复制、远程文本传输。 Openssh对通信双方的数据进行了加密。有两种方式: 用户名和密码登录:比较常用密钥对认证方式:可以实现免密登录 ssh端口&a…...
【ai】pycharm远程ssh开发
方式1: gateway的方式是远程放一个pycharm 专业版,经常下载失败 方式2: 类似vs,源码本地,同步到远程进行运行。 参考大神的分享: Pycharm远程连接服务器(2023-11-9) Pycharm远程连接服务器(windows下远程修改服务器代码)[通俗易懂] cpolar 建议同时内网穿透 选 远程开…...
leetcode 9 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。 回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 例如,121 是回文,而…...
学习Python的基础知识
目录 摘要 Python 的主要特点 基本语法 1. 变量和数据类型: 2. 条件语句: 3. 循环: 4. 函数: 5. 类和对象: 6. 列表和字典: 7. 文件I/O: Python 的学习路线 如何高效使用 Python 的…...
第五届上海市青少年算法竞赛网络同步赛(小学组)
第五届上海市青少年算法竞赛网络同步赛(小学组)T1. 符号译码_网络同步赛 内存限制: 256 Mb 时间限制: 1000 ms 题目描述 小爱为标点符号设计了一套编码系统,编码规则如下: [ 的编码为 010 ] 的编码为 101 < 的编码为 00 > 编码为 11 + 的编码为 011 - 编码为 100 根…...
【区分vue2和vue3下的element UI Cascader 级联选择器组件,分别详细介绍属性,事件,方法如何使用,并举例】
在Vue 2的Element UI和Vue 3的Element Plus中,el-cascader(级联选择器)组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader组件的属性、事件和方法的详细介绍,并附带示例。 Vue 2的Element UI el-cascader 属性…...
pottery,一个超酷的 Python 库!
更多Python学习内容:ipengtao.com 大家好,今天为大家分享一个超酷的 Python 库 - pottery。 Github地址:https://github.com/brainix/pottery 在分布式系统和高并发环境中,Redis 作为一种高性能的键值存储数据库,被广泛…...
【Android面试八股文】在Java中重载和重写是什么意思,区别是什么?
文章目录 在Java中重载和重写是什么意思,区别是什么?这道题想考察什么 ?考察的知识点考生应该如何回答重载(Overloading)重写(Overriding)重载和重写的区别在Java中重载和重写是什么意思,区别是什么? 这道题想考察什么 ? Java基础 考察的知识点 面向对象多态的基…...
【第二篇】SpringSecurity源码详解
一、SpringSecurity中的核心组件 在SpringSecurity中的jar分为4个,作用分别为 jar作用spring-security-coreSpringSecurity的核心jar包,认证和授权的核心代码都在这里面spring-security-config如果使用Spring Security XML名称空间进行配置或Spring Security的Java configura…...
基于Python+FFMPEG环境下载B站歌曲
题主环境 WSL on Windows10 命令如下 # python3.9 pip install --pre yutto yutto --batch https://www.bilibili.com/video/BV168411o7Bh --audio-only ls | grep aac | xargs -I {} ffmpeg -i {} -acodec libmp3lame {}.mp3WinAmp...
SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现
摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序,以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务,提供稳定高效的数据处理与业务逻辑支持;利用 uniapp 实现跨平台前…...
QT: `long long` 类型转换为 `QString` 2025.6.5
在 Qt 中,将 long long 类型转换为 QString 可以通过以下两种常用方法实现: 方法 1:使用 QString::number() 直接调用 QString 的静态方法 number(),将数值转换为字符串: long long value 1234567890123456789LL; …...
技术栈RabbitMq的介绍和使用
目录 1. 什么是消息队列?2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...
人机融合智能 | “人智交互”跨学科新领域
本文系统地提出基于“以人为中心AI(HCAI)”理念的人-人工智能交互(人智交互)这一跨学科新领域及框架,定义人智交互领域的理念、基本理论和关键问题、方法、开发流程和参与团队等,阐述提出人智交互新领域的意义。然后,提出人智交互研究的三种新范式取向以及它们的意义。最后,总结…...
怎么让Comfyui导出的图像不包含工作流信息,
为了数据安全,让Comfyui导出的图像不包含工作流信息,导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo(推荐) 在 save_images 方法中,删除或注释掉所有与 metadata …...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
大模型——基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程
基于Docker+DeepSeek+Dify :搭建企业级本地私有化知识库超详细教程 下载安装Docker Docker官网:https://www.docker.com/ 自定义Docker安装路径 Docker默认安装在C盘,大小大概2.9G,做这行最忌讳的就是安装软件全装C盘,所以我调整了下安装路径。 新建安装目录:E:\MyS…...
基于Uniapp的HarmonyOS 5.0体育应用开发攻略
一、技术架构设计 1.混合开发框架选型 (1)使用Uniapp 3.8版本支持ArkTS编译 (2)通过uni-harmony插件调用原生能力 (3)分层架构设计: graph TDA[UI层] -->|Vue语法| B(Uniapp框架)B --&g…...
【多线程初阶】单例模式 指令重排序问题
文章目录 1.单例模式1)饿汉模式2)懒汉模式①.单线程版本②.多线程版本 2.分析单例模式里的线程安全问题1)饿汉模式2)懒汉模式懒汉模式是如何出现线程安全问题的 3.解决问题进一步优化加锁导致的执行效率优化预防内存可见性问题 4.解决指令重排序问题 1.单例模式 单例模式确保某…...
mcts蒙特卡洛模拟树思想
您这个观察非常敏锐,而且在很大程度上是正确的!您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些,您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”,这个观察非…...
