ReAct
为什么需要 ReAct
Chain of Thought 让模型"先想后答",但光想不够——很多任务还需要"真刀真枪"地去做。
比如"帮我查一下天气,然后告诉我该穿什么",模型不能靠脑补天气数据,它需要:
- 调用搜索或 API 获取真实数据
- 根据返回结果调整判断
- 继续推进下一步
CoT 解决的是"怎么想",ReAct 解决的是"怎么边想边做"。
什么是 ReAct
一句话定义:ReAct(Reasoning + Acting)是让模型交替进行"思考、行动、观察"的循环工作模式。
核心闭环:
Thought:我现在知道什么,下一步该做什么
↓
Action:调用一个工具或执行一个动作
↓
Observation:看看返回结果是什么
↓
Repeat:继续下一轮,直到完成或终止
类比:就像你做研究时,不是坐在那里想完所有问题,而是边查资料边整理边写——查到什么、新发现什么,都会影响你下一步的决定。
这里的"Action"就涉及 Tool Calling——让模型能发起调用指令,驱动外部系统执行动作。
怎么做:什么时候用 ReAct
适合用 ReAct 的场景:
- 需要外部信息:搜索资料、查数据库、查实时状态
- 多步骤执行:先读文档,再总结,再写入表格
- 环境会变化:每一步结果都影响下一步决策
- 长任务编排:不能一次性规划到底,需要边执行边修正
不适合用 ReAct 的场景:
- 单轮生成一段文字——强行上只会增加复杂度
ReAct 和 CoT 的区别
| 维度 | CoT | ReAct |
|---|---|---|
| 核心 | 只思考 | 思考 + 行动交替 |
| 工具调用 | 不调用 | 可以调用 |
| 适用场景 | 数学推理、逻辑推理 | 需要查资料、做事情的复杂任务 |
ReAct = CoT + Action + Observation
这也解释了为什么 Agent 框架普遍采用 ReAct 模式——Agent 需要的不只是"想清楚",而是"边想边做边看结果"。
记住这一句:CoT 解决"怎么想",ReAct 解决"怎么边想边做边看结果"。
相关词条:Chain of Thought · Tool Calling
标签
ReActreasoning acting推理行动思考-行动thought action observation