ReAct(思考-行动循环) 核心概念
别名:
边想边做
把「思考」与「行动」交替编排的范式:先思考再行动,行动结果成为下一次思考的输入,思考轨迹显式可调。原生 tool calling 时代它是基本免费的。见[第 12 章](/chapters/12-classic-paradigms/)。
它是什么
ReAct(Yao et al., 2022)是思考与行动交替编排的范式:模型先输出一段思考(Thought),harness 执行工具(Action),结果回填为观察(Observation),如此循环直到模型不再要工具。它解决的问题是「思考与行动分开都会坏」:纯思维链能推理但无法与外部世界交互(事实性问题会幻觉),纯行动能执行但没有推理轨迹(动作之间缺乏关联与纠错依据)。
最小实现
第 12 章的最小实现就是第 07 章那个 loop 加一件事:把每一轮模型的文本记下来(thoughts 数组)。思考轨迹让每一步行动的原因可见、可调试,也是第 13 章评估里「失败模式分类」的输入。行为与 ch07 完全一致,只是多记录每轮文本——原生 tool calling 时代,Thought/Action/Observation 已经被协议结构化:思考是 content、行动是 tool_calls、观察是 tool 消息回填,第 07 章那个 loop 就是 ReAct。
适用与失败模式
它是默认范式:需要实时/外部信息、走一步看一步、可解释性敏感的任务都用它。买的是灵活性(每步被最新观察锚定),代价是每步一次模型往返。主要失败模式是思考与行动脱节(工具描述不清、思考格式约束太松)与死循环(maxIterations 保险丝兜底)。