工具

ReAct

为什么需要 ReAct

Chain of Thought 让模型"先想后答",但光想不够——很多任务还需要"真刀真枪"地去做。

比如"帮我查一下天气,然后告诉我该穿什么",模型不能靠脑补天气数据,它需要:

  1. 调用搜索或 API 获取真实数据
  2. 根据返回结果调整判断
  3. 继续推进下一步

CoT 解决的是"怎么想",ReAct 解决的是"怎么边想边做"。


什么是 ReAct

一句话定义:ReAct(Reasoning + Acting)是让模型交替进行"思考、行动、观察"的循环工作模式。

核心闭环:

Thought:我现在知道什么,下一步该做什么
    ↓
Action:调用一个工具或执行一个动作
    ↓
Observation:看看返回结果是什么
    ↓
Repeat:继续下一轮,直到完成或终止

类比:就像你做研究时,不是坐在那里想完所有问题,而是边查资料边整理边写——查到什么、新发现什么,都会影响你下一步的决定。

这里的"Action"就涉及 Tool Calling——让模型能发起调用指令,驱动外部系统执行动作。


怎么做:什么时候用 ReAct

适合用 ReAct 的场景

  • 需要外部信息:搜索资料、查数据库、查实时状态
  • 多步骤执行:先读文档,再总结,再写入表格
  • 环境会变化:每一步结果都影响下一步决策
  • 长任务编排:不能一次性规划到底,需要边执行边修正

不适合用 ReAct 的场景

  • 单轮生成一段文字——强行上只会增加复杂度

ReAct 和 CoT 的区别

维度CoTReAct
核心只思考思考 + 行动交替
工具调用不调用可以调用
适用场景数学推理、逻辑推理需要查资料、做事情的复杂任务

ReAct = CoT + Action + Observation

这也解释了为什么 Agent 框架普遍采用 ReAct 模式——Agent 需要的不只是"想清楚",而是"边想边做边看结果"。


记住这一句:CoT 解决"怎么想",ReAct 解决"怎么边想边做边看结果"。

相关词条Chain of Thought · Tool Calling