ReAct 框架是什么- [intro-what-is-react-framework]

article
2026年7月21日1 min read189 words

Updated 2026年7月21日

ReAct 框架是什么?

思考、行动、观察三步循环,边想边做胜过一口气答完

原题:什么是 ReAct 框架?它的"推理+行动"交替循环是怎么运转的,相比让模型一次性给出答案好在哪里?

Agent

30 秒回答

  1. ReAct = Reason(推理)+ Act(行动),让模型"边想边做"而不是一口气答完
  2. 核心是循环:Thought(思考)→ Action(调工具)→ Observation(看结果)→ 再思考,直到得出最终答案
  3. 对比一次性回答:每一步都有真实反馈兜底,能纠错、能拆解复杂任务、轨迹可解释
  4. 它是最经典的 Agent 执行范式,出自 2022 年的论文 ReAct

回答与解析

答案要点

  • ReAct = Reason(推理)+ Act(行动),让模型"边想边做"而不是一口气答完

  • 核心是循环:Thought(思考)→ Action(调工具)→ Observation(看结果)→ 再思考,直到得出最终答案

  • 对比一次性回答:每一步都有真实反馈兜底,能纠错、能拆解复杂任务、轨迹可解释

  • 它是最经典的 Agent 执行范式,出自 2022 年的论文 ReAct

  • 代价是多轮模型调用,延迟和 token 成本更高,还要防死循环

核心概念

ReAct 是一种让大模型把"推理过程"和"工具行动"交替进行的执行框架:模型先写下思考,再执行一个动作,观察工具返回的结果后继续思考,循环往复直到任务完成。

一个循环长什么样

以"姚明的妻子比他小几岁"为例:

  1. Thought:得先查姚明妻子是谁 → Action:搜索"姚明 妻子" → Observation:叶莉,1981 年生

  2. Thought:再确认姚明出生年份 → Action:搜索"姚明 出生年份" → Observation:1980 年

  3. Thought:1981−1980=1,可以作答了 → Final Answer:小 1 岁

为什么比一次性回答强

维度 一次性回答 ReAct
事实来源 全凭参数记忆,易幻觉 每步有真实 Observation 支撑
复杂任务 一步到位容易漏 自动拆成多个子步骤
出错之后 无法挽回 下一轮 Thought 可换策略重试
可解释性 黑盒 思考轨迹全程可见,方便调试

本质上,ReAct 把"闭卷考试"变成了"开卷考试加草稿纸":允许查资料、允许打草稿、允许写错了划掉重来。

代价也要心里有数:一个任务要跑多轮模型调用,延迟和费用成倍增加,还可能陷入死循环(反复搜同一个词),所以工程上必须设最大步数和退出条件。入门后可以对比 Plan-and-Execute、Reflexion 等改进范式,再看看 LangGraph 等框架里 ReAct 的真实实现。

口语版讲法(约2分钟)

  • 一句话定位:ReAct 本质是让模型边想边做,而不是一次性回答
  • 用天气对比的例子讲清楚 Thought-Action-Observation 循环
  • 对比一次性回答,点出减少幻觉、可调试、适合复杂任务的优势
  • 落地风险和边界:循环失控、成本、停止条件,以及我的取舍

这道题其实是在问,当模型需要借助外部工具完成复杂任务时,怎么让推理和行动有机配合。ReAct 的核心就是让模型在推理过程中交替调用工具,每步都根据工具返回的结果修正下一步计划。

具体说一下,它的流程是 Thought、Action、Observation 循环。举个例子,用户问“帮我比较北京和上海今天的天气,顺便给穿衣建议”。模型会先判断要查北京天气,于是调用天气工具;拿到结果后,再想,查上海天气;两个结果都回来后,再比较温度、降雨、风力,最后生成建议。每一步行动都不是孤立的,而是由上一步的观察结果驱动。

相比让模型一次性回答,ReAct 的价值可以落到几件事上。它能减少 Hallucination,事实性信息通过工具获取,不是靠模型凭记忆猜。过程也更容易解释和调试,系统能看到每一步为什么调用工具、工具返回了什么、下一步怎么变。另外,它适合复杂任务,比如多跳问答、数据分析这类需要多次外部交互的任务。

但 ReAct 上线时风险也很明显。最常见的是循环失控,模型不断思考和调用工具,最后超时或成本爆炸。所以生产系统一定要加控制:最大步数、最大耗时、工具调用白名单,以及任务完成判断。

我会特别关注停止条件。一个好的 ReAct 系统,不只是能继续推理,也要知道什么时候该停、什么时候该拒答、什么时候该转人工。这个往往比让模型多想几步更重要。

所以我会把 ReAct 看成一种 Agent 执行范式,而不是完整产品方案。真正落地时,要在外面加工具注册、安全控制和记忆管理,否则它只解决“怎么边想边做”,不解决“怎么安全稳定地做”。

关键一句:ReAct 系统的停止条件往往比推理能力更重要

面试官还可能这样问

  1. 问法 1 · 概念辨析ReAct 和 Chain-of-Thought 都强调"让模型先思考",两者的本质区别在哪?什么样的问题光有 CoT 不够、必须上 ReAct?
  2. 问法 2 · 追问边界ReAct 每走一步都要调一次大模型,延迟和成本都上去了。什么样的任务其实不该用 ReAct?你会怎么设计退出条件防止它死循环?