ReAct:推理与行动交替进行

ReAct 是把任务分析、外部行动和观察结果交替组织的方法,让后续步骤能够利用执行过程中获得的新信息。

返回概念图谱 →

理解与应用

ReAct 是一种结合推理与行动的语言模型方法。模型在解决任务时,不必一次性给出所有步骤,而可以先选择行动、取得环境反馈,再据此继续。推理帮助决定当前缺少什么信息,行动负责获取信息或改变环境,观察则为下一步提供新的依据。

例如有人问:“我们正在用的数据导出服务支持 JSON 吗?”助手先搜索文档,找到一篇只介绍 CSV 的使用说明。直接据此回答“不支持”还太早,因为文档可能对应旧版本。助手读取文档后发现它属于 v1,于是查询用户正在使用的版本,并继续查找 v2 的格式说明。新获得的版本信息改变了后续搜索方向。

如果 v2 的文档明确列出 CSV 和 JSON,助手就可以回答,并注明结论适用于 v2。如果部署信息仍查不到,它可以解释已经找到的版本差异,再向用户询问版本。关键是每次行动都回应一个尚未解决的问题,而不是为了显示工作量重复搜索。

ReAct 与先写完整计划再执行侧重点不同。前者更依赖途中反馈,适合一开始无法确定需要查哪些信息的任务;后者适合条件较清楚、步骤能提前分解的问题。实际系统经常把两者结合:先确定“核实功能”的大方向,再根据每次读取结果安排具体查询。

应用可以保存工具、参数、观察和简短的行动理由,让人看清事实从何而来。这些记录描述可观察的执行过程,无需把模型内部推理当作真实可靠的审计记录。工具结果本身也可能过时,因此循环使用了外部观察,并不意味着已经完成了来源核验。

关系速览
智能体执行循环应用于 →ReAct:推理与行动交替进行

ReAct 是把行动与观测交替组织起来的一种循环模式。

看一次交互:让文档版本决定下一次查询

服务和文档编号均为虚构。第一次搜索结果没有直接变成最终答案,而是暴露了版本问题;确认版本后才继续查找适用资料。这是一条人工编写的交互示例,没有测量模型的工具选择能力。

以下为教学示意,未连接真实业务系统。

交互示意

用户:我们的导出服务能输出 JSON 吗?

动作:搜索“导出服务 支持格式”。
观察:找到使用说明 D-11,正文只列出 CSV;页眉标记 v1。

动作:读取当前部署版本。
观察:当前服务版本为 v2。

动作:搜索并读取“v2 导出格式”文档 D-24。
观察:D-24 的格式表列出 CSV、JSON,适用版本为 v2。

示意结果

示意回答:当前使用的是 v2。该版本的格式表列出了 CSV 和 JSON,因此可以导出 JSON;先前查到的 CSV-only 说明属于 v1。依据:D-24 的格式表与当前部署记录。

常见误区

  • 把旧文档里的“未提及”直接写成“不支持”,会把有限观察过度推广为产品结论。
  • 照着固定标签写出“思考、行动、观察”,却没有真的执行工具,不构成有效的环境反馈。

前置与延伸

建议先读

相关概念

参考与版本

Apollo 原创讲解与教学示例。参考资料用于核对技术定义;核验日不代表资料的发布日期。

  • ReAct 原始论文 ↗

    已核对作者论文页面,v3;引用交替推理与行动的方法定义,不外推原论文的基准收益。 · 核验:2026-10-10