青蛙小白

ReAct

ReAct 是"Reasoning + Acting"的缩写,由姚顺雨(Shunyu Yao)等人于 2022 年提出(论文《ReAct: Synergizing Reasoning and Acting in Language Models》,中文译名《在语言模型中协同推理与行动》)。核心思想是让语言模型在行动之前先输出显式的推理轨迹,再执行行动,观察结果,然后再推理、再行动,形成 Thought → Action → Observation 的交织循环。

与"直接输出行动命令"不同,ReAct 要求模型说明为何选择这个工具、结果意味着什么、下一步如何调整。这种显式推理带来两个实际好处:模型能根据真实观察结果自我校正,而不是盲目执行预设步骤;同时人类和调试工具可以跟踪推理过程,判断在哪一步产生了误判。

三元素循环

ReAct 循环的最小单元:

元素含义示例
Thought(思考)模型对当前状态的推理“需要找到 Python 3.10 的发布日期,应该搜索官方文档”
Action(行动)调用工具或执行操作search("Python 3.10 release date")
Observation(观察)工具返回的实际结果"Python 3.10 was released on October 4, 2021"

这三元素重复迭代,直到模型判断任务完成并输出最终答案。

与 Agent Loop 的关系

ReAct 是 Agent Loop(智能体循环)模型端实现模式。Agent Loop 描述 harness 层面的控制流(“模型推理 → 工具执行 → 结果追加回上下文”);ReAct 描述模型本身的输出结构——每次工具调用前必须输出推理轨迹,而不是直接给出函数调用。

两者的分工:

层次负责方关注点
ReAct模型自身推理轨迹的格式与内容
Agent LoopHarness工具执行、结果追加、循环控制

现代模型(Claude、GPT-4 等)的工具调用已内化了 ReAct 的思想,但推理步骤不一定以纯文本形式暴露——它可能是模型内部的 extended thinking 而非显式 Thought 输出。

与 Chain-of-Thought 的区别

  • Chain-of-Thought(CoT):只有推理,没有外部行动——模型在上下文中"想",但不从真实环境获取新信息
  • ReAct:推理与真实世界行动交织——每一步的 Observation 来自真实工具调用,推理基于实际反馈而非模型自己的预测

CoT 只能依赖训练时知识,ReAct 能处理需要实时外部信息的任务。

为何重要

ReAct 的关键贡献是把"先想清楚再执行"引入 Agent 循环,而不是让模型直接输出行动序列。这使 Agent 能够:

  • 动态重规划:根据中间观察结果调整计划,而非执行预设步骤
  • 优雅处理意外:工具返回意外输出时,Thought 步骤允许模型重新评估策略
  • 可审计推理:推理轨迹对人类可见,便于调试和建立信任

在 AlfWorld 基准测试(多步交互式文字任务)中,ReAct 相较当时基础线提升约 34%,是验证该范式有效性的关键早期数据点。

ReAct 直接影响了后续大多数 Agent 框架(LangChain、AutoGPT、LangGraph)的设计——几乎所有现代 Agent 框架都把"思考-行动-观察"三元组作为基本执行单元。

在循环演进中的位置

ReAct 是第二代(Gen 2,2022–2023)Agent Loop(智能体循环) 架构的基础模式,也是后续所有增强方案的出发点。同代的代表性模式还有:

  • Reflexion(反思):在 ReAct 外层加入自评估循环,每次失败后生成语言反思存入情节记忆,再次尝试时读入;更适合试错密集型任务
  • Plan-and-Execute(规划与执行):先完整规划后并行执行各子步骤,无需每步等待上步结果;适合步骤相对独立的并行型任务

第三代(2024)引入 OODA 循环、内外双循环(Inner/Outer Dual Loop)和多 Agent 编排;第四代(2025–2026)则出现了 /goal/loop 等原生目标追踪命令和 Ralph Loop 等带外部状态的 shell 循环模式,详见 Agent Loop(智能体循环) 的"四代循环演进"章节。

相关概念

参考来源
  1. 1. https://arxiv.org/abs/2210.03629
  2. 2. https://blogs.oracle.com/developers/what-is-the-ai-agent-loop-the-core-architecture-behind-autonomous-ai-systems
  3. 3. http://datasciencedojo.com/blog/agentic-loops-explained-from-react-to-loop-engineering-2026-guide/
评论