当前位置: 首页 > news >正文

大模型---ReAct

目录

1.ReAct的定义

2.ReAct的基本形式

3.ReAct与普通CoT、Toolformer的区别

4.ReAct与Plan-and-Solve

5.ReAct的局限


深入学习会继续补充~

1.ReAct的定义

ReAct是Agent编排(Orchestration)的逻辑循环(Reasoning Loop)中最经典的实现方式,编排是Agent的“神经系统”,定义了思考、行动、观察和记忆的工作流程与逻辑循环。它决定了整个系统如何运作,主要包括:

指令(Instructions):通过自然语言为Agent设定清晰的目标、行为准则和分步行动计划。把复杂任务拆解成清晰的步骤,能极大提升Agent的可靠性。
逻辑循环(Reasoning Loop):Agent的核心运行模式,即“思考-行动-观察”(ReAct)循环。它不断重复这个过程:分析当前状态(思考)-->调用一个工具(行动)-->获取结果(观察),直到任务完成。
流程模式(Workflow Patterns):对于复杂任务,可以设计不同的协作模式。
单Agent模式:一个Agent配备多个工具,独立处理一个完整的任务流程。
管理者模式(Manager Pattern):一个中央管理者Agent负责接收任务,分解后分发给不同的专家Agent执行。
去中心化模式(Decentralized Pattern):Agent之间通过“移交”机制,将任务传递给最合适的下一个Agent。

原论文把 ReAct 定义为一种让语言模型交错生成 reasoning traces(推理轨迹)和 task-specific actions(任务动作)的范式。作者指出,推理可以帮助模型制定、跟踪和更新计划,也能处理异常;行动则让模型接入外部知识源或环境,获取额外信息。原论文如下:

[2210.03629] ReAct: Synergizing Reasoning and Acting in Language Models

ReAct 要解决的,是早期两条路线各自的短板。

一条路线是Chain-of-Thought(CoT)式推理:模型会一步步“想”,但如果它推理过程中依赖的事实不对,就可能一路错下去,出现幻觉错误传播。另一条路线是“只做动作”的方法:模型可以检索、点击、执行操作,但缺少明确的中间推理,容易盲目试错,也不够可解释。

ReAct的出发点就是把这两者结合起来。原论文明确写到,ReAct相比只推理或只行动的方法,能在语言推理和决策任务上带来协同收益,并提升可解释性与可信度。

为什么两者结合会更强:① 首先推理帮助行动:如果模型先明确“我现在缺什么信息”“下一步该查什么”,动作会更有方向感,不容易乱用工具。论文直接说,reasoning traces帮助模型诱导、跟踪和更新action plans,并处理异常;② 行动帮助推理:如果模型只在自己脑子里推理,它可能会用错事实;而动作让它能去查Wikipedia、知识库、网页或其他环境,从外部拿回信息,减少“闭门造车”。

ReAct经常被当作workflow 走向 agent 的桥梁,因为它已经不只是静态流程,而是一个带反馈循环的决策机制。

2.ReAct的基本形式

ReAct的典型运行模式可以写成一个循环:

Thought-->Action-->Observation-->Thought-->Action-->Observation ... --> Final Answer。其中:
Thought:模型先写出当前的想法、计划、判断。Action:模型根据当前判断,调用某个动作或工具。Observation:环境返回结果,模型把这个结果当成新信息。然后模型再继续下一轮Thought。这和普通单轮问答最大的不同是:模型不是一上来直接给最终答案,而是会先想、再查、再根据查到的结果继续想。也就是说,ReAct让模型用自然语言推理来引导行动,同时用行动结果来修正后续推理。

3.ReAct与普通CoT、Toolformer的区别

CoT的重点是让模型把思考过程写出来;ReAct的重点是让模型把思考过程和外部动作交替写出来。如果任务只需要纯内部推理,比如一道数学题,ReAct 不一定总比 CoT 更合适;但如果任务需要外部信息、环境交互、网页搜索、工具使用,ReAct 往往更自然。

ReAct与Toolformer都和工具使用有关,但关注点不一样。Toolformer更像是在研究模型如何学会“什么时候调用工具、调什么工具、传什么参数”。ReAct更像是在研究模型如何在多步任务里把“思考-->行动-->观察”组织成一个循环。也就是说,Toolformer偏“工具调用能力学习”,ReAct偏“任务执行过程组织”。

4.ReAct与Plan-and-Solve

Plan-and-Solve是先计划,再求解。它由两个部分组成:先devise a plan,把整个任务分成更小的 subtasks;再按照这个plan去完成这些subtasks。它提出的直接动机,是改进zero-shot CoT里的missing-step errors,也就是“中间步骤漏掉了”。它本质上还是在模型内部完成推理,不依赖外部工具或环境。

而ReAct是推理和行动交替。其能让LLM交错生成推理轨迹和任务特定动作。这里的动作不是单纯思考下一步,而是可以去访问外部知识源或环境(如Wikipedia API、交互环境等)。模型利用观察结果继续推理。

两者都可以出现在 Agent 的编排中,但 ReAct 更像 Agent 的执行循环,Plan-and-Solve 更像 Agent 的规划策略。例如,先用 Plan-and-Solve 做高层任务分解,再用 ReAct 在每个子任务里边推理边行动。

比如一个 agent 要完成“帮我写一份行业调研报告”。上层先用 Plan-and-Solve先把任务拆成:1.收集行业背景;2.找主要竞争对手;3.比较产品特点;4.总结趋势;5.写报告。下层每一步用ReAct,比如在“找竞争对手”这一步,agent采用ReAct:Thought:先查头部公司名单-->Action:调用搜索工具-->Observation:拿到搜索结果-->Thought:发现还缺国内厂商-->Action:继续搜索。也就是,PS 负责“先规划”,ReAct 负责“边执行边调整”。但是,对于很多中小型agent任务,只靠ReAct就够了:调用工具,想一下下一步,看结果,再继续,这时没有显式“总计划”,而是边做边决定。

两者关系可以理解为递进关系,Plan-and-Solve先把“多步推理”组织好,ReAct在“多步推理”的基础上,再把“外部动作/观察”纳入循环。

两者适用场景不同:

PS更适合:数学推理、逻辑推理、多步问答这类主要靠内部规划和分步求解的任务。
ReAct更适合:知识密集型问答、事实核查、交互式决策、工具使用这类需要外部检索或环境反馈的任务。

5.ReAct的局限

(1)它更依赖工具和环境质量。

如果搜索工具不准、检索结果差、环境反馈混乱,ReAct也会沿着错误观察继续推理。

(2)步骤变多,成本和延迟会上升。

因为它不是一次完成,而是多轮循环:想一下、做一下、再想一下。LangChain文档也强调,agent会在循环中持续运行直到停止条件满足。

(3)显式thought轨迹在产品环境里不一定总该暴露。

研究里这样做有助于解释和调试,但生产系统中常常需要把内部推理和用户可见输出分开。

http://www.jsqmd.com/news/643634/

相关文章:

  • 2026球衣热转印打印机品牌推荐:技术与口碑综合指南 - 品牌排行榜
  • 从零开始的大数据之路(6)- 三分钟安装部署好Datax
  • 中文NLP预处理提效:BERT文本分割模型在语音转写下游任务中的应用
  • CefFlashBrowser:终极Flash浏览器解决方案,让经典游戏和课件重获新生
  • 2026养生壶最建议买的品牌推荐:高口碑款盘点 - 品牌排行榜
  • 10个jQuery Form性能监控技巧:如何精确测量表单提交性能指标
  • PointNet学习资源终极指南:从入门到精通的完整路线图
  • 全网超全 Wireshark 使用指南,从入门到抓包实战
  • Windows Subsystem for Android 终极指南:在 Windows 11 上无缝运行 Android 应用
  • Polaris自托管音乐流媒体服务器:如何在家中搭建专属音乐云
  • OFA视觉推理系统效果展示:复杂场景下的图文关系判断案例
  • Ollama+Llama-3.2-3B实战:快速搭建本地写作助手,帮你写邮件、周报、文案
  • Harness Engineering 如何让大模型稳定落地生产环境!
  • 5分钟掌握B站视频智能转文字:从链接到可编辑文本的完整方案
  • meli多认证方式配置:GitHub、GitLab、Gitea和Google集成
  • SillyTavern角色系统深度解析:构建沉浸式AI交互体验的技术架构与实践
  • 前端框架源码解析指南
  • GHelper:华硕笔记本性能优化工具的深度解析与实战指南
  • FLUX.1-dev部署避坑指南:从启动到出图,保姆级教学,100%成功
  • Apollo Client 终极指南:从零构建宝可梦图鉴应用的完整教程
  • GLM-OCR在嵌入式场景的探索:STM32项目文档的离线解析可能性
  • TMM-AI公理驱动零幻觉架构:从概率猜答案到公理锁真理
  • 10大决策树实现代码详解:GitHub热门项目实战
  • APEX: APEX240200函数清单
  • 从零开始理解人工智能:在PyTorch 2.8平台上运行你的第一个“Hello World”模型
  • NIH-plug参数系统深度解析:声明式设计如何简化插件开发
  • 终极指南:用Universal x86 Tuning Utility轻松解锁AMD/Intel处理器潜能
  • Adams 2020与MATLAB R2020a联合仿真环境搭建避坑指南(以圆周运动为例)
  • Chart.js漏斗图funnel:销售流程可视化指南
  • Keras-BERT模型保存与加载:完整解决方案