Agent 应用于提示工程

如果Agent模仿了人类在现实世界中的操作方式,那么,能否应用于提示工程即Prompt Engingeering 呢?

从LLM到Prompt Engineering

大型语言模型(LLM)是一种基于Transformer的模型,已经在一个巨大的语料库或文本数据集上进行了训练,包括了互联网上的大多数网页。在训练期间,需要花费大量的时间(和/或图形处理器)、能量和水(用于冷却) ,梯度下降法被用来优化模型的参数,以便它能够很好地预测训练数据。

e89dad7a121164d75f394368f24d2717.png

本质上,LLM 学习根据前面的词序预测最可能的下一个词。这可以用来执行推理即查找模型生成某些文本的可能性,或者用来生成文本,像 ChatGPT 这样的 LLM 使用这些文本与人进行对话。一旦 LLM 完成了训练,意味着它的参数被保存,不会向训练数据或重新训练的数据中添加输入。值得注意的是,LLM 仍然会从训练数据中学到偏见,而 ChatGPT 背后的 OpenAI 公司不得不增加安全措施,使用来自人类反馈的强化学习(RLHF)以防止该模型产生有问题的内容。此外,由于 LLM 默认情况下只是根据他们所看到的内容生成最有可能的下一个单词,而没有进行任何事实核查或推理,因此它们容易产生幻觉,或者编造事实,以及推理错误。

自从 ChatGPT 公开发布以来,LLM 风靡全球。这些模型的新兴智能以及它们在我们生活中的各个方面的应用,使它们成为一种非常受欢迎的工具,每家公司都想从中分一杯羹。除了聊天机器人以及编码和写作助手,LLM 还被用来创建与包括互联网在内的模拟环境交互的Agent。

如果尝试过 ChatGPT,有时会发现它的回答很糟糕,但是如果重新措辞这个问题,可能会得到更好的结果。这就是提示工程的艺术,通过修改输入使 LLM 以您希望的方式作出响应。提示语的背后只是尝试通过提出一些事实来“唤醒LLM的记忆”,或者告诉它一个新的领域,然后从一个训练好的 LLM 那里得到适当的响应。这就是所谓的上下文学习,一般主要有两种类型: zero-shot和few-shot。zero-shot为 LLM 提供了一个提示,可以在问题/命令之前包含一些背景信息,以帮助 LLM 找到一个好的响应。few-shot给 LLM 提供了一些示例提示和可取的响应,然后提出一个新的提示,LLM 将以示例的格式响应这些提示。

提示工程可能是自然语言处理(NLP)的未来趋势之一。这个领域正在从定制模型转向定制提示,因为 LLM 比任何人在没有大量时间和精力的情况下自己制作的语言模型要好得多。当 LLM 与正确的提示工程技术配对时,通常情况下,它可以完成专用模型所能完成的任何工作。

6d2281c21e271209970cadf237f2ce63.jpeg

从CoT到Agent

思维链推理(CoT)是一种流行的提示工程技术,旨在对抗推理错误。它包括给 LLM 提供一个或多个例子,说明如何通过语言推理解决问题,然后给它一个不同的问题,以这种方式解决。这可以帮助克服推理的错误,但它仍然受到幻觉的影响以及幻觉的“事实”可以通过推理传播,导致模型得出错误的结论。

只提出一个问题的标准提示语被比作思维链(CoT)提示的输入 ,需要多步推理才能解决问题。由于幻觉的问题,使用 CoT 提示的 LLM 有更令人信服的响应,但它仍然有可能是错误的。如果 LLM 要成为一个有用的工具,如果不能左右它胡编乱造,我们就永远不能相信它们,最好还是自己做研究。而Agent似乎可以解决这个问题,允许 LLM 采取行动,比如搜索维基百科,以便从中找到事实和理由。

Agent 应用于提示工程示例——ReAct

与思维链推理一样,ReAct 也是一种提示工程方法,它使用少量学习来教模型如何解决问题。CoT 被认为是模仿人类如何思考问题,ReAct 也包括了这个推理元素,但它更进一步,允许Agent操作文本,让它与环境互动。人类使用语言推理来帮助我们制定策略并记住事情,但也可以采取行动来获得更多的信息并实现目标。这就是 ReAct 的基础。ReAct 提示包括行动的例子、通过行动获得的观察结果,以及人类在过程中各个步骤中转录的思想(推理策略)。LLM 学习模仿这种交叉思考和行动的方法,使其成为其环境中的Agent。

一定要记住,观察结果不是由 LLM 生成的,而是由环境生成的,环境是一个单独的模块,LLM 只能通过特定的文本操作与之交互。因此,为了实现 ReAct,需要:

  1. 一种环境,它采取一个文本操作, 从一组可以根据环境的内部状态改变的潜在操作中返回一个文本观察。

  2. 一个输出解析器框架,一旦Agent编写了一个有效的操作,它就停止生成文本,在环境中执行该操作,并返回观察结果, 一般是将其追加到目前生成的文本中,并用该结果提示 LLM。

  3. 人工产生的示例,混合了思想,行动和观察,在环境中可以使用few-shot,例子的数量和细节取决于目标和开发者的设计,例如:

ba74f198e655f67d93adedb82142ee80.png

这里,思想、动作和观察都被清楚地标记如上,而且动作使用了一种特殊的格式,查询放在括号中,这样Agent就可以学习以这种方式编写任务,然后输出解析器就可以轻松地提取查询。

Yao 等人(2023)使用了 PalM-540B,用这个 LLM 在两个知识密集型推理任务和两个决策任务上测试了 基于ReAct 的提示工程效果。

知识密集型推理任务

在这个任务领域中使用的两个域是 HotPotQA 和 FEVER,前者是使用 Wikipedia 段落进行多跳问答,后者是事实验证。Agent可以使用以下操作与Wikipedia API 进行交互:

  • Search: 根据名称或大多数相似结果列表查找页面。

  • 查找: 在页中查找字符串。

  • 以答案结束任务。

在 HotPotQA 和 FEVER 这两个评估领域中, ReAct 与如下提示工程 技术进行了比较,结果是通过 FEVER 的准确性和 HotPotQA 中 EM 来评估的。

5ef93d472d5963d797bb64f0807a5139.png

其中:

  • 标准Prompt: 没有思想,行动,或观察。

  • CoT: 没有及时的行动或观察。

  • CoT-SC (自我一致性) : 从 LLM 中抽取一定数量的回答,并选择大多数作为回答。

  • 动作: 没有思维的prompt。

  • ReAct ->CoT-SC: 开始时是ReAct,然后转换为 CoT-SC。

  • CoT-SC-> ReAct: 开始时是 CoT-SC,然后切换到 ReAct。

ReAct 在 HotPotQA 中表现不佳,但在 FEVER 中表现优于 CoT。ReAct 比 CoT 更不容易产生幻觉,但是有更高的推理错误率。尽管 ReAct 确实有这个缺点,但是 ReAct-> CoT-SC 和 CoT-SC-> ReAct 方法是其中最成功的。

决策任务

测试ReAct 的两个决策任务是 ALFWorld 和 WebShop。

ALFWorld 是一个基于文本的游戏,具有真实的环境。它具有用于在模拟世界中移动和交互的文本操作,例如“打开抽屉1”给代理人的一个目标可能是在房子里找到一个特定的物体,因此常识推理有助于知道这样一个物体通常在哪里被发现。衡量成功的标准是达到目标的试验的百分比。

WebShop 是一个模拟在线购物网站,数据来自亚马逊。这是一个具有挑战性的领域,因为它有大量的行动导航网站和搜索产品。目标是找到一个符合用户规范的项目。衡量成功的标准是所选项目与用户心目中的隐藏项目有多接近。

从论文中的评估结果来看,ReAct 的表现明显优于基线。

ReAct 虽然由于其推理错误而并不完善,但仍然是一个强有力的提示工程方法,它克服了思维链推理的事实幻觉问题,并且允许 LLM 成为一个可以与其环境相互作用的Agent。此外,它具有可解释性,因为Agent在行动时输出其思维过程。

260095659565ca3adf679a00050c150c.jpeg

小结

作为Agent 应用于提示工程的一种具体实现,ReAct 迈出通往通用人工智能和具象语言模型的一步。如果一个机器人有一种基于熟悉的特征对外部环境进行建模并使用该模型创建提示的方法,那么它至少可以尝试在各种领域独立行动,而不需要人工制作的示例。它还需要某种记忆,或者从它的经历中学习的能力,具有常识性知识的机器人,只要能够解决诸如推理错误和幻觉之类的问题,就可能对我们有很大的帮助。

BTW,拥有了大模型就可以拥有好的产品么? 产品经理的贡献往往仍然是不可或缺的,以智能语音产品为例, 你可能需要这样的一本案头手册(笔者的最新译作),帮助自己更好的完成产品设计。

【参考资料】

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

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

相关文章

钡铼技术助力ARM工控机在智慧交通中的创新应用

在交通运输领域,钡铼技术ARM工控机可以实现以下功能: 实时监控和管理:利用钡铼技术ARM工控机,可以对交通运输中的车辆、船只、飞机等进行实时监测和管理,帮助调度员提高车辆调度和路线规划的准确性和效率。 安全保障&…

不要在不使用cvx优化的场合使用log_det,应改为log(det(..)),否者可能会出现奇怪的错误

跑代码的时候遇到的问题 %% 分解为功率和单位模,交替优化功率分量和单位模clc;clear; Nt 8; % 发射天线数目 8 Nr 4; % 接收天线数目 4 Ne 6; % Eve天线数目 6 noisePower 1; SNRTotaldB -5:5:35; %%%%最大发射功率单位dB SNRTotal 10.^(SNRTotaldB./…

【Liunx应用市场】yum

【Liunx应用市场】yum 1. Linux 软件包管理器 yum2. yum源3. yum的使用3.1 yum查找3.2 yum安装3.3 yum删除 所属专栏:Linux学习❤️ 🚀 >博主首页:初阳785❤️ 🚀 >代码托管:chuyang785❤️ 🚀 >感…

数据标准是什么?如何建立企业的数据标准?

2023年10月25日国家数据局正式揭牌,由国家发展和改革委员会管理。国家数据局的主要职责是负责协调推进数据基础制度建设,统筹数据资源整合共享和开发利用,统筹推进数字中国、数字经济、数字社会规划和建设等。国家越来越重视数据资源的价值&a…

Spring MVC的常用注解(设置响应篇)

目录 1.返回静态页面 2.返回数据 3.返回HTML代码片段 4.返回json 5.设置状态码 6.设置Header (1).设置 Content-Type (2).设置其他Header 推荐先看前篇博客Spring MVC的常用注解(接收请求数据篇) 接收…

微信小程序怎么制作?【小程序开发平台教学】

随着移动互联网的快速发展,微信小程序已经成为了人们日常生活中不可或缺的一部分。从购物、支付、出行到社交、娱乐、教育,小程序几乎涵盖了我们生活的方方面面。那么,对于有营销需求的企业商家来说,如何制作一个自己的微信小程序…

微服务初始和Nacos安装

一)初始微服务: 微服务是将一个大型的,单一的应用程序拆分成多个小型服务,每一个服务负责于特定的业务功能,并且可以通过网络来和其他服务进行通讯,是一个思想,将一个大的项目拆分成多个小的项目,多个小的项…

DDACO

算法 alternative set包括备用路径和禁忌表,roulette体现所占比例越大被选中概率越高的思想。在图2中,节点表示与图1中的边相同的路径,边表示邻接关系(AND关系) 所有的帕累托最优解构成帕累托最优解集 作者未提供代码…

2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权

2023年11月1日蜻蜓C影视追剧系统v1.2.2更新-与时俱进调整微信登录授权获取方式-修复无法登陆授权 问题背景: 小程序用户头像昵称获取规则调整公告官方 微信团队2022-05-09 更新时间:2022年11月9日 由于 PC/macOS 平台「头像昵称填写能力」存在兼容性问…

【移远QuecPython】EC800M物联网开发板的UART串口配置

【移远QuecPython】EC800M物联网开发板的UART串口配置 文章目录 UART初始化UART读写写数据轮询读取中断读取 串口测试附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 UART初始化 UART库: from machine import UART引脚和UART对应…

请问嵌入式行业会变得和java一样卷死吗?

今日话题,嵌入式行业会变得和java一样卷死吗?嵌入式行业未来不太可能出现像互联网行业那样的内卷化情况。嵌入式开发在制造业等重要第二产业中扮演关键角色,这些行业的稳定性较高,波动较小,因此嵌入式岗位的稳定性相对…

讲述为什么要学习Adobe XD以及 Adobe XD下载安装

首先 我们要了解 Adobe XD 是个什么东西 XD是Adobe公司专门开发出来面向交互、界面设计的矢量绘图工具。 然后是 他可以做什么? 最基本的 可以做UI界面设置 所有 手机 平板 电脑等设备的UI界面 我们都可以通过XD完成 还有就是原型设置 我们可以做各种界面图 还有…

智能视频监控平台EasyCVR出现偶发通道在线,但是无法播放的情况要怎么解决?

视频云存储/安防监控EasyCVR视频汇聚平台基于云边端智能协同,支持海量视频的轻量化接入与汇聚、转码与处理、全网智能分发、视频集中存储等。流媒体视频平台EasyCVR拓展性强,视频能力丰富,具体可实现视频监控直播、视频轮播、视频录像、云存储…

HNU-编译原理-讨论课1

讨论课安排:2次4学时,分别完成四大主题讨论 分组:每个班分为8组,每组4~5人,自选组长1人 要求和说明: 以小组为单位上台报告;每次每组汇报2个小主题,每组按要求在2个小主题中各选1…

JS逆向爬虫---请求参数加密① 【某度翻译】

接口定位 抓包输入翻译关键词 全局搜索关键词,定位到接口https://fanyi.baidu.com/v2transapi 全局搜索sign 多次尝试定位变化参数sign 断点调试b函数 复制整个function,并测试函数运行结果。 需要把function改写成如下的数据: function(t) {var o…

泛微e-office download.php任意文件

0x01 应用介绍 泛微e-office系统是标准、易用、快速部署上线的专业协同OA软件,国内协同OA办公领域领导品牌,致力于为企业用户提供专业OA办公系统、移动OA应用等协同OA整体解决方案 0x02 影响版本及语法特征 泛微e-offcie9 fofa:app”泛微-EOffice” && b…

九、W5100S/W5500+RP2040树莓派Pico<SNTP 获取网络时间>

文章目录 1 前言2 协议简介2.1 什么是SNTP2.2 SNTP的优点2.3 SNTP原理2.4 应用场景 3 WIZnet以太网芯片4 SNTP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 随着科技的不断进步和应用需求的不断变…

【音视频 | wav】wav音频文件格式详解——包含RIFF规范、完整的各个块解析、PCM转wav代码

😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀 🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C、数据结构、音视频🍭 🤣本文内容🤣&a…

【数据结构】堆的实现

大小堆的概念 将根节点最大的堆叫做最大堆或大根堆,根节点最小的堆叫做最小堆或小根堆。 堆的接口函数 void HeapInit(Heap*st);//堆的初始化 void swap(int* str1, int* str2);//交换两个数据 void Adjustup(int* a, int child);//向上调整 void HeapPush(Heap* …