Skip to content

什么是 ReAct?

更新: 6/21/2026 字数: 0 字 时长: 0 分钟

ReAct 出自 2022 年的论文《ReAct: Synergizing Reasoning and Acting in Language Models》(Yao 等人,后发表于 ICLR 2023)[1]。名字是 Reasoning + Acting 的合写,读音同 "react"(反应),本身就暗示了它的核心:让模型边推理、边行动。

一、ReAct 的本质:推理与行动的协同

在 ReAct 之前,大模型的"推理"和"行动"是两条分开研究的路线。一边是思维链(Chain-of-Thought),让模型一步步推理;另一边是行动规划(如 WebGPT、SayCan),让模型生成动作。两者长期各走各的[1]

ReAct 的本质,就是把这两件事**交错(interleaved)**起来:让语言模型在解决任务时,同时生成推理轨迹(reasoning traces)和任务相关的动作(actions),而且两者交替进行[2]。这种交错带来了双向的协同:

  • 推理帮助行动:推理轨迹帮模型归纳、追踪、更新行动计划,还能处理异常情况。
  • 行动反哺推理:动作让模型能与外部环境(知识库、搜索引擎等)交互,把新获取的信息纳入后续推理[2]

一句话概括:ReAct 让模型像人一样,"想一下、做一步、看看结果、再想下一步"。

ReAct 的本质:推理与行动的结合

二、核心设计:Thought–Action–Observation 循环

ReAct 的运行机制是一个不断重复的三元循环。模型在每一轮里依次产出:

  1. Thought(思考):一段自然语言的推理,模型在这里分析当前状况、决定下一步该干什么。比如"现在我需要找到一个杯子,然后把它放到桌上"[3]
  2. Action(行动):模型发出一个具体的、领域相关的动作。在问答任务里可能是 search[关键词],在房间导航里可能是 go to[某处][3]
  3. Observation(观察):外部环境对这个动作返回的结果,比如搜索 API 返回的一段文字。这个观察不是模型生成的,而是真实环境给的反馈。

观察被读进来后,模型进入下一轮 Thought,如此循环,直到任务完成。这三步的交替,就是 ReAct 的全部骨架。需要强调:Observation 来自外部,这正是 ReAct 区别于纯推理的关键——它的推理被真实世界的反馈"锚定"住了。

ReAct 的核心循环:思考-行动-观察

三、ReAct 解决了什么问题

理解 ReAct,关键是看清它相对两个"半成品"方案的改进。

纯推理(如 CoT)的毛病:脱离现实。思维链让模型只靠自己的内部知识推理,不与外部世界连接,这限制了它探索和更新知识的能力,容易产生幻觉和错误传播[3]。模型可能一本正经地推出一个错误事实,而且无从纠正。

纯行动的毛病:缺乏规划。只生成动作而不推理,模型就没法维护一个高层次的计划,遇到复杂任务或异常就乱套。

ReAct 把两者合起来,正好互补。论文在问答(HotpotQA)和事实验证(Fever)任务上证明:通过与一个简单的 Wikipedia API 交互,ReAct 克服了思维链里常见的幻觉和错误传播问题[2]。额外的好处是,生成的"思考+行动"轨迹很像人类解题过程,可解释性和可信度都更高[2]

ReAct 与纯推理、纯行动的对比

四、技术定位:它是一种提示范式

这里有个最容易被搞错的认知点,需要说清楚。

ReAct 本质上是一种基于提示的范式(prompt-based paradigm),不是一种新模型架构,也不需要重新训练模型。论文里用的是一个冻结的语言模型 PaLM-540B,通过少样本(few-shot)的上下文示例来提示它,就能让它生成动作和推理轨迹[3]。一个 ReAct 提示,就是若干条少样本的任务解决轨迹,里面包含人工写的推理文字、动作,以及环境对动作返回的观察[1]

换句话说,ReAct 的"魔法"全在提示词的组织方式里:你给模型示范几个"思考→行动→观察"的完整例子,模型就学会了照着这个格式去解新问题。它直观、灵活、易于设计,并在从问答到在线购物的多种任务上取得了当时最先进的少样本表现[1]

五、为什么 ReAct 重要

ReAct 之所以成为绕不开的基础概念,是因为它给"会用工具的 AI Agent"提供了最经典的范式骨架。今天大量工具调用型 Agent——能搜索、能查数据库、能调 API——的底层逻辑,都是这套"推理决定调哪个工具、工具结果反哺下一步推理"的循环。Action 这一步连接的外部源,可以是搜索引擎、计算器、知识库 API、数据库等任意外部环境[2]

理解了 ReAct 的 Thought–Action–Observation 循环,你就掌握了现代 LLM Agent 最核心的运行心智模型。

ReAct 作为工具调用型 Agent 的基础范式