ReAct 论文略读

ReAct:语言模型中推理与行动的协同机制

摘要

ReAct 框架,通过让语言模型(LM)交替生成推理轨迹与执行动作,实现推理与行动的协同增强,在问答、实验验证以及交互决策任务上显著现有基线。

核心方法

  • 交替生成机制:ReAct 让模型以交错方式生成推理轨迹和任务特定动作,使两者形成正向反馈循环
  • 推理的动作:帮助模型推导、追踪和更新行动计划。并有效处理异常情况
  • 行动的作用:让模型能够与外部资源(知识库、环境接口)交互,就获取实时或补充信息,从而支撑更准确的推理

优势

  • 协同增强:将推理和行动整合统一,实现双向增益
  • 可解释性与可信度:推理和决策过程透明化,便于人类理解与信任
  • 高效泛化:提示词只需展示极少量示例(few-shot learning)。

一、引言

绝大部分人类智能的一个独特之处在于能将"面向任务的具体行动"与"语言推理"(或内心独白)无缝结合。也就是说有内心独白的人(人类的90%以上)能通过内心独白来进行推理,从而决定采取什么样的行动,同时行动也能辅助思考,因为做了这个行动后得到真实世界的反馈(例如阅读说明书、打开冰箱),从而解答心中目前的一个疑问。

正是这种"行动"与"推理"之间紧密的协同效应,让人类能够快速掌握新任务,并做出稳健的决策与推理------哪怕是在面对前所未见的新环境,或是处于信息不确定的状况下,我们依然能游刃有余。

链式思考 (CoT) 提示显示了 LLMs 执行推理轨迹以生成涉及算术和常识推理的问题的答案的能力 (Wei 等人,2022)。但它因缺乏和外部世界的接触或无法更新自己的知识,而导致事实幻觉和错误传播等问题。

作者提出 ReAct,是一种将推理和行动相结合的通用范式。通过提示词(prompt)让 LM 以交错的方式生成语言推理轨迹和任务相关的行动。这种方式不仅允许模型进行动态推理,从而制定、维护和调整行动的高层计划(即"以推理指导行动"),还能让模型与外部环境(例如维基百科)进行交互,将额外的信息融入到推理过程中(即"以行动辅助推理")。简而言之就是**"边想边做",通过实际行动获取真实世界的反馈来修正自己的想法,并带着思考和计划去行动。**

下图展示了 ReAct 的一个示例,执行问题回答所涉及的不同步骤

可以看到,模型生成了"任务解决轨迹",Obs 对应与之交互的环境的观察。从本质上讲,ReAct 可以检索信息来支持推理,而推理则有助于确定下一步检索的目标。

二、交互框架定义

交互流程

在时间步 t ,智能体接收环境观测 o_t ,并基于策略 π(a_t∣c_t )执行动作 at。

c_t 是上下文,

c t = ( o 1 , a 1 , . . . , o t − 1 , a t − 1 , o t ) c_t = (o_1, a_1, ..., o_{t-1}, a_{t-1}, o_t) ct=(o1,a1,...,ot−1,at−1,ot)

包含完整的历史观测、动作及当前观测的完整轨迹。

核心挑战

  • 映射复杂性:从上下文 c_t 到动作 a_t 的映射关系高度隐式,需要大量计算才能解析。
  • 策略学习难点:当任务依赖长场轨迹上下文的深层理解时,直接学习策略变得极具挑战

ReAct 框架将语言也纳入动作空间,使"思考"成为不改变外部环境但能更新内部上下文的特殊动作。从而支持任务拆解、知识注入、信息提取、进度追踪及异常处理等多种推理功能。模型并不是在轨迹的每一步都机械地插入思考,而是能够智能地识别出那些最关键、最需要推理的节点。因此让模型自行决定思考和行动异步出现的时机。

三、实验结果

ReAct 可以在语言和决策任务上的表现高于几个最先进水要求的基线。作者发现 ReAct 和 链式思考 CoT 结合使用的最好方法是在推理过程同时使用内部知识和获取到的外部信息。

四、总结

ReAct 在面对动作空间较大的复杂任务时,模型需要更多演示样本才能有效学习,这容易导致样本量超出上下文学习的输入长度限制。

相关推荐
腻害兔20 分钟前
【若依项目-产品经理视角】RuoYi-Vue-Pro 源码拆解:CRM 客户关系模块深度解析——从线索到回款,一套完整的 B2B 销售闭环是怎么搭的?
java·前端·javascript·vue.js·产品经理·ai编程
大数据点灯人35 分钟前
【AI编程】Vibe Coding 模型选型:越贵越好吗?效果/速度/成本平衡指南
编程·ai编程·claude·codex·vibe coding
oort12342 分钟前
吃上了自家的细糠,还挺丝滑,用起来手感还行,OortCloud发布新版AI编程平台,下载 OortCodex,Token多,免费薅
大数据·开发语言·人工智能·ai编程
AI小码1 小时前
把动作「画」给视频世界模型,跨本体双向推演,李飞飞参与
大数据·人工智能·算法·ai·大模型·音视频·编程
qq_172805591 小时前
liblib.tv的积分扣除规则与拽拽的人工
ai·liblib
小虎AI生活1 小时前
WorkBuddy 自动化实战,TTS 配音从安装到跑通
ai编程
艾斯特_2 小时前
从模型调用到可用聊天应用:会话状态与消息协议
python·ai·aigc
小虎AI生活3 小时前
workbuddy 短视频获客的终极形态,不是做内容,是建工厂
ai编程
SharpCJ4 小时前
在 JetBrains IDE 中接入 OpenCode 并配置自定义模型
ai·aigc
钱六两4 小时前
#5、Spring AI Tool Calling 深度解读(从概念>原理>定义工具>使用工具>核心接口剖析)
ai编程