ReAct模式(推理+行动)
AI TERM术语词条ReAct
术语释义
让大模型交替进行“思考—行动—观察”循环的智能体范式,把推理与工具调用结合起来,是构建 AI 智能体的主流框架。
ReAct(Reasoning + Acting,推理加行动)是一种智能体(Agent)设计范式:让大模型交替进行文字推理与外部动作——先想清楚下一步,再调用工具执行,观察结果后继续推理,如此循环直到任务完成。它把语言模型从只会“说”的问答器变成能查资料、跑代码、读写文件的执行者,是当前构建 AI 智能体的主流框架。
四步核心循环
每一次迭代都会把历史思考与观察结果保留在上下文里,因此模型能基于最新事实修正方向,而不是一次性猜答案。循环的终止条件通常是模型判断信息已足够,输出最终答复。
- 思考(Thought):分析当前状况与已有信息,决定下一步该做什么。
- 行动(Action):执行一个具体动作,例如搜索、调用接口、运行代码或读取文件。
- 观察(Observation):查看动作返回的结果,包括报错、空结果与格式异常。
- 重复:把新信息并入上下文继续推理,直到可以给出最终答案。
为什么有效
它把推理与事实获取绑在一起:思考不脱离证据空转,行动也有明确目的。中间过程以文字形式留痕,每一步都可记录、回放与审计,出错时能定位到是哪一次检索或哪一行代码造成偏差。实现门槛也低——语言模型天然擅长文字推理,外部工具只要提供统一接口即可接入,无需改动模型本身。
与思维链的对比
思维链(Chain-of-Thought,CoT)只在模型内部一步步推演,不接触任何外部信息,适合纯逻辑问题;ReAct 让推理与外部动作交替进行,能持续获得新信息,适合需要查询、计算与操作环境的真实任务。实践中两者常混合使用:先做内部规划,再按需调用工具,最后综合观察结果收敛结论。
常见实现形态
简单版本用提示词规定“思考—行动—观察”的输出格式,由外层程序解析并执行;工程化版本会把工具调用交给模型的函数调用(Function Calling)能力,框架负责执行动作与回填结果。多智能体系统里,ReAct 常作为单个执行体的内部循环,外层再由规划器分配任务与汇总产出。
实践要点
- 工具描述要清楚:名称、用途、参数格式与返回含义都要写明,模型才知道何时该调用谁。
- 限制循环次数:设置最大步数与超时,避免模型陷入反复调用同一工具的死循环。
- 错误也要回传:把失败信息原样交给模型,它往往能据此换一种策略重试。
- 压缩历史上下文:长任务要摘要旧步骤,防止上下文膨胀拖慢推理并挤占预算。
- 关键动作加确认:删除、支付、外发消息等操作应加人工确认或权限白名单。
常见误区
- 把 ReAct 当成万能规划器:它擅长局部试错,长链条复杂任务仍需外层规划与任务拆分。
- 工具越多越好:工具过多会增加选择难度与误调用概率,应按任务裁剪工具集。
- 只看最终答案:忽略中间轨迹会错过工具误用、检索失败等关键问题。
- 放任模型自由行动:缺少权限与审计的智能体可能执行危险操作,必须设定边界。