跳转至

ReAct:思考与行动交替的代理范式

原文链接: ReAct: Synergizing Reasoning and Acting in Language Models [68]

论文信息

  • 年份:2022 [68]
  • 作者:Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao [68]
  • 作者背景(研究领域):语言模型推理/工具交互 [68]
  • 前后血缘关系(同主题):前序:MRKL SystemsPAL;后续:ReWOOReflexion

主旨

ReAct 的核心主旨是把“推理”和“行动”绑在一个循环里:模型先给出思考,再执行行动获取观察,并把观察作为下一步推理的输入。这样可以在多步任务中持续校验假设,显著减少幻觉并提升任务完成率。[68]

背景与问题定义

论文针对的问题是:纯链式思考在需要外部信息或环境交互的任务上容易走偏,因为模型无法验证自己的假设。作者认为,缺少行动与观察的推理是“闭环”的,而代理任务本质上需要“开环探索”与反馈校正。[68]

方法与机制

论文提出 Reasoning + Acting 的格式,将模型输出拆成思考轨迹与行动指令。行动可能是调用工具、检索文档或访问环境,观察结果再回流到上下文里。该框架强调“每一步都可验证”,即推理必须被现实反馈纠正,从而避免单纯语言推理的自洽幻觉。[68]

实验与结果

作者在知识密集与多步推理任务上比较 ReAct 与纯链式思考方法。结果显示,加入行动与观察能让模型更容易找到证据并纠正错误路径。实验的价值在于证明:即使推理能力有限,合适的行动接口也能显著提高整体正确性与稳定性。[68] 论文还指出,行动步骤本身是可优化的工程点:当观察返回清晰、结构化时,模型更容易保持正确路径。换言之,ReAct 的收益不仅来自推理策略,也来自“工具设计是否支持可解释的观察”。[68]

关键数据结果

  • HotpotQA 上,ReAct 的 EM 为 33.8,高于 CoT 的 28.9 与 Standard 的 27.1。[68]
  • ALFWorld 上,最佳 ReAct 平均成功率 71%,显著高于最佳 Act 的 45% 与 BUTLER 的 37%。[68]
  • WebShop 上,ReAct 在成功率上取得 10 个百分点的绝对提升(相对此前最优基线)。[68]

工程启示(优化点)

  • 设计清晰的“思考-行动-观察”格式,保证上下文可回放。
  • 让工具返回结构化观察,方便下一步推理对齐。
  • 对行动失败提供可解释的错误,减少模型盲目重试。
  • 把观察作为状态更新,而非附加备注。

局限与延伸

ReAct 的成本在于更多回合与更多工具调用,若工具延迟高会显著降低效率。此外,行动质量受限于工具覆盖范围;如果观察不可靠,思考仍会漂移。在高吞吐场景中,还需要额外的调度与并发控制。延伸方向包括:更高效的规划与缓存、减少无效行动、以及通过评估选择何时启用 ReAct 模式。[68]