一句话概要:ReAct 把「纯思考」与「纯行动」两条偏科的路缝在一起,用「思考—行动—观察」的显式循环让推理有事实依据、让行动有规划纠偏,代价是串行调用慢、依赖模型能力、且提示词很脆。
一、它之前的两条路
在 ReAct 之前主流方法分两类。纯思考型(如思维链)能引导模型做复杂推理,但无法与外部世界交互,容易产生事实幻觉——推理再严密,输入的事实本身可能是编的。纯行动型直接输出动作,干脆利落,但缺少规划和纠错能力,走错也没有机制拉回来。ReAct 的洞见是:思考指导行动,行动的结果反过来修正思考。
二、思考—行动—观察循环
每一步的输出遵循固定轨迹:
新的观察被追加进历史,形成不断增长的上下文,直到模型在思考中判断任务完成。形式化地说,每个时间步由策略(即模型)根据初始问题与历史「行动—观察」轨迹生成当前思考与行动,环境中的工具执行行动后返回新观察,循环往复。
三、适用场景
典型问题是「华为最新的手机是哪一款,主要卖点是什么」——模型凭借自身知识库答不上来,必须先意识到知识不足、再调用搜索工具、最后总结答案。真实运行中两步内即可给出答案。
四、工具的三要素
如果说大语言模型是大脑,工具就是手和脚。良好定义的工具包含:名称(简洁唯一的标识符)、描述(自然语言说明用途与输入,最关键,模型只靠它决定用不用、何时用)、执行逻辑(真正干活的函数,并负责清洗裁剪原始返回)。多种工具需要一个统一管理器,按名字登记、查表取函数、执行、返回结果。
五、系统提示词的四个部分
角色定义(设定模型用什么姿态回应)、工具清单(动态列出名称与描述,建议控制在十来个以内)、格式规约(强制输出结构化,规定分隔符与结束指令,是整个机制跑起来的前提)、动态上下文(原始问题与累积历史,让模型基于完整上下文决策,也是上下文不断变长的原因)。
六、核心循环与解析
循环是「格式化提示词 → 调用模型 → 执行动作 → 整合结果」四步,直到完成或达到最大步数。最大步数是必须留的安全阀,防无限循环烧钱,一般五到十步。模型返回纯文本,靠两个解析函数提取:拆分思考与行动、再从行动串里取出工具名与工具入参(解析要容错)。工具调用层要兜住「工具找不到、参数不合法、调用超时」,把错误包装成自然语言回给模型让它重试。最后把行动与观察追加回历史,闭环才成立。
七、三个优点
高可解释性(思考链可追溯,合规场景常是刚需);动态规划与纠错能力(走一步看一步,搜索不理想可换词重试,比一次性写死计划抗造);工具协同能力(模型负责运筹帷幄,工具负责解决具体问题,突破知识时效性与计算准确性局限)。
八、四个局限与调试心法
局限:对模型自身能力强依赖(推理、指令遵循、格式化任一不足都会中断流程);执行效率问题(串行多次调用,延迟与成本高);提示词脆弱(模板微小变动即影响行为,并非所有模型都能稳定守格式);可能陷入局部最优(缺乏全局长远规划,甚至原地打转)。
调试五法:打印每次调用的完整提示词;解析失败时打印模型原始未经处理的输出;验证工具入参与返回格式;在提示词中加入一两个完整成功案例做少样本引导;换更强的模型或把随机性参数调零。
| 时间 | 章节 |
|---|---|
| 00:00 | 开场 |
| 00:49 | 在它之前的两条路 |
| 02:37 | 循环为什么有效 |
| 04:39 | 工具是什么 |
| 06:34 | 系统提示词里有什么 |
| 08:12 | 核心循环怎么跑 |
| 10:04 | 它的三个优点 |
| 11:37 | 四个局限 与五条调试心法 |
| 14:01 | 收尾 · 判断清单 |
总时长 15 分 35 秒。
Datawhale《Hello-Agents:从零开始构建智能体》第四章「智能体经典范式构建」,第 4.2 节「ReAct」(4.2.1 ReAct 的工作流程、4.2.2 工具的定义与实现、4.2.3 ReAct 智能体的编码实现、4.2.4 ReAct 的特点、局限性与调试技巧)。
更完整的图文内容请直接阅读原书,本页仅为音频配套要点。
本内容改编自 Datawhale《Hello-Agents:从零开始构建智能体》,采用 CC BY-NC-SA 4.0 授权,为二次演绎配音版。