ReAct论文阅读笔记总结
ReAct:Synergizing Reasoning and Acting in Language Models
背景
最近的研究结果暗示了在自主系统中结合语言推理与交互决策的可能性。
- 一方面,经过适当Prompt的大型语言模型(LLMs)已经展示了在算术、常识和符号推理任务中通过多步推理推导问题答案的新兴能力。然而,这种“思维链(CoT)”推理是一个静态的黑箱,因为模型依赖其内部表示生成思维,并未与外部世界建立联系,这限制了其进行反应性推理或更新知识的能力。这可能导致诸如事实幻觉和推理过程中的错误传播等问题
- 另一方面,近期的研究探索了利用预训练语言模型在交互环境中进行规划和行动的可能性 。然而,这些方法并未利用语言模型进行高层次目标的抽象推理,也未维护一个工作记忆以支持行动。

上图表示4种提示方法的比较。(1a)表示普通方法,(1b)表示CoT,即只有Reason。(1c)表示仅行动,(1d)表示ReACT,即Reason+Act

上图表示基于AlfWorld解决方案的Act和ReAct方法比较。(2a)表示只有行动,(2b)表示ReAct
研究目的、动机
如何以协同的方式结合推理与行动,以及这种结合是否能带来相较于单独推理或行动的系统性优势。
成果
- 作者提出了ReAct,这是一种将推理和行动与语言模型相结合的一般范式,用于解决不同的语言推理和决策务。 提示LLMs以交错方式生成与任务相关的语言推理跟踪和动作,这允许模型执行动态推理以创建、维护和调整高级行动计划(Reason to Act),同时还与外部环境(例如维基百科)交互以将其他信息纳入推理(Act to Reason)。
- 在问答、事实验证、基于文本的游戏和网页导航进行评测,证明了提出方法的有效性,与精心设计的CoT相竞争。总体上最好的方法是ReAct和CoT的组合,允许在推理过程中同时使用内部知识和外部获得的信息。
收获
- ReAct思想简述:
思考:涉及对下一个行动进行推理。在这一步需要评估当前情况并考虑可能的行动方案。
行动:基于思考的结果,决定采取什么行动。
观察:执行行动后,需要观察并收集反馈。对行动结果进行评估,它可能影响或改变下一轮思考的方向。
While(目标未完成):Thought;Action;Observation
- 对于ReAct来说,采取行动检索准确和最新的知识至关重要
- ReAct+CoT结合效果会更好一些
- 存在的问题。尽管ReAct可以提高模型的可信度,但这种结构约束也降低了其制定推理步骤的灵活性,导致推理错误率高于 CoT。 且ReAct具有一种常见错误模式,会重复生成之前的想法和行动,作者将其归类为 “推理错误” 的一部分,因为模型未能推理出正确的下一步行动并跳出循环。
- 此外作者对这四种方法在Prompt和微调(基于3000样本点对模型做了微调)上进行了测试,表明ReAct更适合微调后的场景。可能是前者本质上是教模型记住(可能是幻觉的)知识事实,而后者教模型如何(推理和)行动以访问维基百科的信息,这是一种更通用的知识推理技能。

举例四种方式的Prompt案例
- normal
Question: 哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Answer: 摩根·弗里曼Question:《肖申克的救赎》的导演是谁?Answer:弗兰克·德拉邦特Question:摩根·弗里曼在《绿色奇迹》中扮演了什么角色?Answer:他饰演了角色“艾利斯·波伊德·瑞德”。Question:《绿色奇迹》是哪一年上映的?Answer: 1999年
- Act
Question: 哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Action 1:查询关于《肖申克的救赎》的文档。Observation 1: 《肖申克的救赎》是一部1994年的电影,由弗兰克·德拉邦特执导,主演包括蒂姆·罗宾斯和摩根·弗里曼。Action 2:查询弗兰克·德拉邦特的其他电影。Observation 2: 弗兰克·德拉邦特还执导了《绿色奇迹》,这部电影于1999年上映,主演包括汤姆·汉克斯和摩根·弗里曼。Action 3:确认摩根·弗里曼是否同时出演了这两部电影。Observation 3:是的,摩根·弗里曼在这两部电影中都有出演。Final Answer:摩根·弗里曼
- CoT
Question:哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Thought:首先,我需要找到《肖申克的救赎》的主演名单,并确认导演是弗兰克·德拉邦特。Answer: 主演包括蒂姆·罗宾斯和摩根·弗里曼,导演是弗兰克·德拉邦特。Question:弗兰克·德拉邦特还执导了哪些电影?Thought:我需要查找弗兰克·德拉邦特的其他作品,并检查是否有相同的演员出演。Answer:弗兰克·德拉邦特还执导了《绿色奇迹》,主演包括汤姆·汉克斯和摩根·弗里曼。Question:是否有演员同时出演了《肖申克的救赎》和《绿色奇迹》?Thought:根据以上信息,摩根·弗里曼在这两部电影中都有出演。Answer: 摩根·弗里曼
- ReAct
Question:哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Thought 1:我需要先找到《肖申克的救赎》的主演名单和导演信息。Action 1:查询关于《肖申克的救赎》的文档。Observation 1:《肖申克的救赎》是一部1994年的电影,由弗兰克·德拉邦特执导,主演包括蒂姆·罗宾斯和摩根·弗里曼。Thought 2:接下来,我需要查找弗兰克·德拉邦特的其他电影,并确认是否有相同的演员出演。Action 2:查询弗兰克·德拉邦特的其他电影。Observation 2:弗兰克·德拉邦特还执导了《绿色奇迹》,这部电影于1999年上映,主演包括汤姆·汉克斯和摩根·弗里曼。Thought 3 : 现在我可以确认,摩根·弗里曼同时出演了《肖申克的救赎》和《绿色奇迹》。Final Answer : 摩根·弗里曼
相关文章:
ReAct论文阅读笔记总结
ReAct:Synergizing Reasoning and Acting in Language Models 背景 最近的研究结果暗示了在自主系统中结合语言推理与交互决策的可能性。 一方面,经过适当Prompt的大型语言模型(LLMs)已经展示了在算术、常识和符号推理任务中通…...
XPath 定位复杂元素的最佳实践
XPath 定位复杂元素的最佳实践 一、定位下拉列表 1. 场景描述 下拉列表是网页中常见的交互元素,通常由一个触发按钮和一个选项列表组成。使用 XPath 定位下拉列表及其选项时,需要考虑元素的结构和交互逻辑。 2. HTML 示例 <!DOCTYPE html> &l…...
3.6【A】cxl.cache,mem(1,1)
协议依赖图用于定义不同协议通道之间的依赖关系和阻塞条件,目标是确保系统在无循环依赖(Acyclic Dependencies)的前提下实现死锁自由(Deadlock-Free)。 依赖关系:某个协议通道的操作需等待另一个通道的…...
Linux驱动开发(1.基础创建)
序言:从高层逻辑到底层硬件的回归 在当今的软件开发中,我们习惯于用高级语言构建抽象层——通过框架、库和云服务快速实现功能。这种“软逻辑”的便利性让开发效率倍增,却也逐渐模糊了我们对计算机本质的认知:一切代码终将落地为…...
InternalError: too much recursion
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
在WSL2-Ubuntu中安装CUDA12.8、cuDNN、Anaconda、Pytorch并验证安装
#记录工作 提示:整个过程最好先开启系统代理,也可以用镜像源,确保有官方发布的最新特性和官方库的完整和兼容性支持。 期间下载会特别慢,需要在系统上先开启代理,然后WSL设置里打开网络模式“Mirrored”,以设置WSL自动…...
LLM论文笔记 19: On Limitations of the Transformer Architecture
Arxiv日期:2024.2.26机构:Columbia University / Google 关键词 Transformer架构幻觉问题数学谜题 核心结论 1. Transformer 无法可靠地计算函数组合问题 2. Transformer 的计算能力受限于信息瓶颈 3. CoT 可以减少 Transformer 计算错误的概率&#x…...
基于51单片机的智能水箱控制系统proteus仿真
地址:https://pan.baidu.com/s/1zgG90VB5TEA05O2ZkKC3CA 提取码:1234 仿真图: 芯片/模块的特点: AT89C52/AT89C51简介: AT89C52/AT89C51是一款经典的8位单片机,是意法半导体(STMicroelectroni…...
Process-based Self-Rewarding Language Models 论文简介
基于过程的自奖励语言模型:LLM优化的新范式 引言 大型语言模型(LLM)在多种任务中展现出了强大的能力,尤其是在使用人工标注的偏好数据进行训练时。然而,传统的自奖励范式在数学推理任务中存在局限性,甚至…...
虚拟系统实验
实验拓扑 启动虚拟系统 [FW]vsys enable 配置资源类 先查看 配置 创建虚拟系统 [USG6000V1]vsys name vsysa 绑定资源类 [USG6000V1-vsys-vsysa]assign resource-class r1 将接口划入虚拟系统 [USG6000V1-vsys-vsysa]assign interface GigabitEthernet 1/0/1 公共接口 --- 勾…...
mybatis报错org/apache/commons/lang3/tuple/Pair] with root cause
mybatis一对多查询配置resultMap映射报错org/apache/commons/lang3/tuple/Pair] with root cause 原因是mybatis依赖common-lang3这个包, 只需要添加common-lang3的依赖坐标即可: <dependency><groupId>org.apache.commons</groupId><artifactId>comm…...
V90伺服电机初调试
分配设备IP地址 打开博途,将IP地址分配给对应伺服 打开V-ASSISTANT软件,刷新后读取硬件。VASSISTANT软件选择指定伺服,点击设备调试, 在控制模式选项中选择基本定位器控制(EPOS) 在设置PROFINET-选择报文页…...
Air780EPM:SIM 卡接口设计指导来啦~
在数字化浪潮中,SIM卡作为通信设备的“身份证”,早已成为人们生活中不可或缺的存在。 以下详细阐述了SIM卡接口如何通过读取卡片信息完成4G网络鉴权,并支持双卡切换功能,使设备能够灵活选择最优网络。这种看似简单的机制…...
DNS云解析有什么独特之处?
在数字化浪潮中,每一次网页点击、视频加载或在线交易背后,都依赖着域名系统(DNS)的高效运转。传统DNS架构的局限性(如单点故障、延迟高、安全脆弱)在云计算时代被彻底颠覆,DNS云解析作为新一代解…...
VMware Workstation安装rocky9.5虚拟机
1、在镜像源网站中下载rocky镜像源,下载dvd版(图像,软件全部都有,其他版本还需下载图像),这里我使用的镜像源网站是ubuntu-releases安装包下载_开源镜像站-阿里云 2、找到isos: 3、找x86_64/ 4、…...
stack,queue与deque
一.模拟实现stack和queue STL中的stac和queuek是通过容器适配器来实现的,并不是直接实现栈。那什么是容器适配器呢? 举一个简单的例子,不同的插座需要不同的插头来连接,这时候我们用一个插座适配器,我们就不需要关心…...
Git清理本地残留的、但已经在服务器上被删除的分支
要筛选出已经被服务器删除的本地分支,并在本地删除这些分支,可以按照以下步骤进行操作: 步骤 1: 获取远程分支信息,确保本地的远程分支信息是最新的: git fetch -p步骤 2: 列出本地分支和远程分支: git …...
概念|RabbitMQ 消息生命周期 待消费的消息和待应答的消息有什么区别
目录 消息生命周期 一、消息创建与发布阶段 二、消息路由与存储阶段 三、消息存活与过期阶段 四、消息投递与消费阶段 五、消息生命周期终止 关键配置建议 待消费的消息和待应答的消息 一、待消费的消息(Unconsumed Messages) 二、待应答的消息…...
【c++】时间复杂度与数据规模的对应关系
一、时间复杂度与数据规模的对应关系 (以单核CPU每秒处理 (10^6) 次操作为基准) 数据规模(n)可接受的时间复杂度最大操作次数估算适用算法示例≤ (10^2)O(n)、O(2ⁿ)≤ 1,000,000暴力搜索、全排列枚举≤ (10^4)O(n)、O(n log n)≤ (10^8)冒泡排序、Flo…...
多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...
虚拟机配置nat上网
参考: https://www.jb51.net/server/33323640v.htm https://blog.csdn.net/m0_61560049/article/details/131502564 通过命令修改网络参数: sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 sudo route add default gw 192.168.1.1 eth0 通过…...
多宠识别:基于计算机视觉的智能宠物管理系统架构解析
一、行业痛点与技术方案演进 在多宠家庭场景中,传统方案面临三大技术瓶颈: 1. 生物特征混淆:同品种/毛色宠物识别准确率低于65% 2. 动态场景适应:进食/奔跑状态下的误检率达30% 3. 数据孤岛问题:离线设备无法实现持续…...
蓝桥杯-15届研究生组-A 劲舞团
思路和时间复杂度 思路:签到模拟题,但是思路也很重要,在K的重新赋值时,卡了一下,在不满足时间条件时,应该重置为1时间复杂度: 代码 #include <iostream> #include<cmath>…...
不小心更改了/etc权限为777导致sudo,ssh等软件都无法使用
修复流程 一、进入恢复模式(无网络或无法登录时必选) 1.重启系统,在 GRUB 启动菜单选择 Recovery Mode(按 Shift 或 Esc 呼出菜单)。2.以 root 身份挂载为可读写: bash 复制 mount -o remount,rw /确保文…...
最长重复子数组、最长公共子序列、判断子序列
20250307 题目区别dp数组含义的区别dp数组状态转移方程 代码随想录: 最长重复子数组 最长公共子序列 判断子序列 题目区别 最长重复子数组(连续): 最长公共子序列(不连续): 判断子序列 dp数…...
【数据分析】转录组基因表达的KEGG通路富集分析教程
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍差异分析(limma)KEGG富集分析(enrichKEGG)可视化加载R包数据下载导入数据基因差异分析火山图KEGG通路富集分析可视化通路结果另一个案例总结系统信息参考介绍 KEGG富集分析,可…...
SpringBoot - 用责任链模式实现业务编排
文章目录 前因责任链:像工作台一样组织代码CodeSEQ3.1 定义处理器规范3.2 实现具体处理器3.3 共享上下文3.4 组装责任链 适用场景优势 前因 2000多行的业务逻辑里,各种校验规则、促销计算、库存操作像意大利面条一样缠绕在一起。最要命的是这样的代码结…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_init_cycle 函数
声明在 src/core/ngx_cycle.h ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle);实现在 src/core/ngx_cycle.c ngx_cycle_t * ngx_init_cycle(ngx_cycle_t *old_cycle) {void *rv;char **senv;ngx_uint_t i, n;ngx_log_t …...
Vue 使用 vue-router 时,多级嵌套路由缓存问题处理
Vue 使用 vue-router 时,多级嵌套路由缓存问题处理 对于三级菜单(或多级嵌套路由),vue 都是 通过 keep-alive 组件来实现路由组件的缓存。 有时候三级或者多级路由时,会出现失效情况。以下是三级菜单缓存的例子。 最…...
ResNet 改进:轻量级的混合本地信道注意机制MLCA
目录 1. MLCA注意力机制 2. 改进位置 3. 完整代码 Tips:融入模块后的网络经过测试,可以直接使用,设置好输入和输出的图片维度即可 1. MLCA注意力机制 MLCA(Mixed Local Channel Attention)是一种轻量级的混合本地信道注意机制,旨在提升卷积神经网络(CNN)在图像处理…...
