ReAct:推理加行动的提示框架

ReAct(Reasoning and Acting)由 Yao 等人在 2022 年提出,把「思考(Thought)」「行动(Action)」「观测(Observation)」轮流组织进提示,让大模型像 Agent 一样边想边用工具。它把推理链与工具调用统一在同一段文本里,是构建可控 Agent 的基础范式。

是什么

ReAct 把一次求解过程写成循环:模型先输出一段思考描述当前状况,再决定调用哪个工具(如搜索、查数据库),环境返回观测结果,模型基于新信息继续思考,直到给出最终答案。思考部分记录策略,行动部分产生副作用。

为什么有效

纯推理(CoT)只能靠模型内部知识,遇到需要实时或私有信息时容易编造。纯行动(如直接调 API)又缺乏规划。ReAct 把两者结合,让模型基于真实观测做决策,显著降低幻觉,并支持多步任务。论文在问答与网页导航任务上均超过单独的推理或行动基线。

怎么做

提示里用清晰标签分隔三个阶段,并给出工具说明:

可用工具:Search[query] 返回网页摘要;Calc[expr] 计算表达式。
问题:2024 年世界杯冠军是谁?并算其夺冠次数减去 2。
Thought:先查 2024 年世界杯冠军。
Action:Search[2024 World Cup winner]
Observation:阿根廷队夺冠。
Thought:再算 16 减 2。
Action:Calc[16-2]
Observation:14
Answer:14

适用场景

ReAct 适合需要外部知识或操作的任务:联网问答、数据库查询、表单填写、网页自动化。对于纯文本创作或简单分类,引入工具循环只会增加复杂度。

注意点

  • 工具返回要真实可信,否则与 CoT 无异。
  • 控制循环轮数,避免无限调用造成成本失控。
  • 每步的 Thought 要简短,重点记录决策依据。

小结

ReAct 通过「思考-行动-观测」循环让模型调用外部工具并基于真实反馈推理,是构建检索型与 Agent 型应用的核心提示范式。

参考与延伸阅读

本文累计阅读