ReAct(Reasoning + Acting)让 LLM 交替输出思考(Thought)与行动(Action),行动调用外部工具(搜索、计算器、代码执行、API),把工具返回的观察(Observation)追加进上下文,再继续推理,形成'思考→行动→观察'循环,直到得出最终答案。它将推理轨迹与行动交织,让模型能根据中间结果动态调整计划,而非一次性闭眼执行。

Thought: 需要查最新股价 → Action: search("AAPL 股价")
Observation: 190.2 美元
Thought: 已获得答案 → Final Answer: ...

相比纯 CoT,ReAct 用外部工具获取实时、精确信息,减少幻觉;相比纯工具链,它有显式推理,能处理计划外情况。LangChain、各类 Agent 框架的核心循环均源于此。现代实现多以模型的原生工具调用(function calling)替代文本解析式 Action,更可靠。

易错点:循环需要终止条件(最大步数、超时),否则可能无限打转;观察结果要控制长度防止上下文爆炸。追问方向:ReAct 与 Plan-and-Execute 架构的取舍?