深度剖析 AI Agent 的 ReAct 模式
AI领域曾存在两种极端:LLM仅擅长逻辑推理却无法触达现实,自动化脚本执行力强但缺乏灵活判断。这两者之间的鸿沟,正由ReAct模式有效弥合——它通过融合推理与行动,让AI实现从思考到执行的闭环。

ReAct模式由Reason与Act组合而成,由Google DeepMind与普林斯顿大学的研究者在2022年提出,现已演变为LangChain、AutoGPT等主流Agent框架的底层基石。它将LLM的“逻辑脑”与“执行手”无缝衔接,突破了过去单向推理或单纯执行的能力边界。
一、 什么是 ReAct 模式?
ReAct是Reason(推理)与Act(行动)的缩写,其核心理念直观而清晰:让AI在行动之前先进行深思,观察行动结果后再进一步推理,形成动态循环。
没有ReAct之前:
- Chain-of-Thought (CoT, 思维链): 只推理不行动。AI会陷入长时间的内部思考,无法访问外部信息(如实时天气、数据库),容易产生幻觉。
- Only-Act (纯行动): 只行动不推理。AI盲目调用API,缺乏逻辑指引,难以处理复杂多步骤的任务。
有了ReAct之后:AI进入一个“思考 -> 行动 -> 观察 -> 再思考”的闭环。
二、 ReAct 的工作流程:Thought-Action-Observation
ReAct模式将Agent的每一次决策拆解为三个连续的步骤:
Thought (思考/推理):Agent首先产生一段文本,说明当前处境、任务目标,以及为了达成目标下一步应采取的步骤。
- 示例: “用户想知道明天的天气,我需要先搜索一下当地的地理位置。”
Action (行动):根据上一步的Thought,Agent决定调用具体工具,并给出输入参数。
- 示例:
Google_Search("北京明天天气")
- 示例:
Observation (观察):Agent接收工具返回的结果(通常是外部环境反馈),并将其融入上下文。
- 示例: “搜索结果显示:北京明天多云转晴,气温 15-25 度。”
循环: Agent会根据Observation结果,开始新一轮Thought(“我已经拿到天气数据,现在可以总结回复给用户了”),直到任务完成。
三、 为什么 ReAct 是革命性的?
1. 降低“幻觉” (Hallucination)
普通LLM常常会信口开河(例如一本正经地编造不存在的物理常数)。ReAct强制AI通过Observation获取事实,当AI意识到自己不知道答案时,它会触发“搜索”行动,而非依靠概率盲猜。
2. 具备自我纠错能力
在Observation阶段,如果API返回错误(如“未找到该地点”),ReAct模式下的Thought阶段会意识到问题:“之前的行动失败了,我应该换一个关键词重新搜索。”
3. 极高的可解释性
ReAct的推理路径(Thoughts)完全透明。用户可以清晰看到AI为何调用某个工具,以及它如何根据反馈一步步推导出最终答案。这对于金融、医疗等需要溯源的场景至关重要。
四、 实战案例模拟
任务: “计算苹果公司目前的股价乘以 2 是多少。”
- Step 1 (Thought): 我需要查询苹果公司(AAPL)最新的股价,然后计算它的两倍。
- Step 2 (Action):
Search_Finance("AAPL current price") - Step 3 (Observation): 搜索结果反馈:
$185.92。 - Step 4 (Thought): 我已经拿到了股价 $185.92,现在我需要使用计算器乘以 2。
- Step 5 (Action):
Calculator(185.92 * 2) - Step 6 (Observation): 计算结果:
371.84。 - Step 7 (Thought): 任务已完成,可以输出最终结果。
- Final Response: 苹果目前的股价是 185.92,其两倍为185.92,其两倍为185.92,其两倍为371.84。
五、 ReAct 模式的挑战
尽管ReAct极为强大,但在实际部署中仍面临问题:
- Token 消耗高: 每一轮
Thought -> Action -> Observation都要将之前对话历史全部带入,随着步骤增加,Token数量呈指数级上升。 - 延迟明显: 每一轮推理都需要等待LLM生成Thought,再等待外部工具响应,使得端到端响应速度较慢。
- 对基座模型要求高: 逻辑能力较弱的模型(如早期7B参数模型)容易在推理循环中“迷路”,或反复执行无效的Action。
六、 总结
ReAct模式通过循环推理、行动与观察,赋予AI Agent真正的智能。它使大模型从静态的对话工具进化为能动态解决问题的数字员工,是Agent框架的核心技术支柱。