ReAct 的核心思想是什么

一句话速记

ReAct = Reasoning + Acting:在生成中交替输出「推理语言(思考)」与「对外动作(如调工具)」,把环境返回的观察写回提示,再推理下一步;用外反馈把单纯 CoT 和真实环境闭环起来。

论文常用引用:ReAct: Synergizing Reasoning and Acting in Language Models(Yao et al., 2022)。

在干什么

  • Reasoning 轨迹:以自然语言写出中间判断(Thought: ...),可视为可解释的链式思考,但不是终点
  • Action:在定义好的动作空间里选工具名 + 参数(如 search("query")finish(...)),形式依实现。
  • Observation:环境或工具真实返回,进入下一轮 prompt(不是模型编造的续写)。
  • 多轮交替直到 终停动作步数上限

与纯 CoT 的区别:纯 CoT 的「下一步信息」在同一段自回归里虚构延续;ReAct 的关键信息环境真实 Observation 里,减少幻觉、可核查

伪结构(示意,非某框架唯一格式)

Thought: 先确认用户要查的实体。
Action: search["某某 官方 API 文档"]
Observation: 返回摘要与链接…
Thought: 根据结果需要读具体方法。
Action: visit["https://..."]
Observation: 页面内容…
Thought: 信息足够,可作答。
Action: answer["……"]

典型追问准备

  • 停条件finish / answer、重复检测、步数/ token 截断。
  • 坏观测:重试、换工具、把错误信写回让模型修正计划(与「规划-再执行」可组合)。

延伸追问

  • Q:ReAct 和 self-ask 或分解式 CoT 区别?
    答:后两者多在同一段生成里展开;ReAct 强调动作离开模型观测再回来,是开环+闭环交替。

  • Q:为什么有时 Thought 和 Action 分两条消息?
    答:训练与解析方便(有的做监督微调专门预测 Action: 行);推理上可合并,工程取舍。

  • Q:和 Planning 先写计划再一步步走谁更稳?
    答:ReAct 更局部、灵活、适合探索型环境先全计划可分解且环境稳定时更省步数;Planning 类 Agent 有哪些模式

我的记法

TODO

状态

  • 已背速记
  • 能讲通俗版
  • 能答追问

参考资料

  • Yao et al., 2022, ReAct: Synergizing Reasoning and Acting in Language Models