YUAN'Blog |

姚顺雨力作精读:ReAct Synergizing Reasoning and Acting

Date: October 23, 2025 | Estimated Reading Time: 5 min | Author: YUAN

1.jpg

【姚顺雨力作精读】ReAct: Synergizing Reasoning and Acting inLanguageModel

在探索AI Agent的道路上,我们是不是经常遇到这样的“猪队友”:

  1. 1. “满嘴跑火车”型(CoT): 你让它推理个复杂问题,它用Chain-of-Thought(CoT)洋洋洒洒写了一堆,看似逻辑严密,结果事实全靠“编”(幻觉)。
  2. 2. “闷头莽干”型(Act-Only): 你让它执行个任务,它二话不说就是干,撞了南墙也不回头,不知道规划、不懂得变通。

LLM做Agent,难道就只能在“瞎说”(幻觉)和“瞎做”(无效行动)之间反复横跳吗?

今天,咱们挖到一篇堪称“上古神器”的ICLR 2023杰出论文—— ReAct !它真正教会了LLM如何像人一样“三思而后行”。

这篇论文不仅在当时技惊四座,更是直接奠定了当今主流Agent框架(比如LangChain)的基石。读懂了ReAct,你就抓住了现代Agent架构的灵魂。


论文速览:ReAct是做什么的?

论文标题: ReAct: Synergizing Reasoning and Acting in Language Models
作者: Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao (来自普林斯顿大学和谷歌大脑团队)
GitHub: https://github.com/ysymyth/ReAct

ReAct提出了一种全新的范式,其核心思想是: 协同(Synergizing)推理(Reasoning)和行动(Acting)

它不再让LLM“要么只思考”(CoT),“要么只行动”(Act-Only),而是让LLM交错(Interleaved)地生成这两者。

简单来说,LLM的工作流变成了:

  1. 1. 推理(Reasoning): LLM先生成一个“Thought”(思考轨迹),分析当前情况、制定计划、更新策略。
  2. 2. 行动(Acting): LLM再根据这个“Thought”,生成一个“Action”(具体行动),比如调用API、搜索知识库或在环境中执行操作。

这种方式实现了完美的协同:

这就是ReAct的魔力: Thought -> Action -> Observation -> Thought … 循环往复,直到任务完成。


核心技术深度解析:ReAct的“三思而后行”循环

光说不练假把式。ReAct的威力在论文的图1中展现得淋漓尽致。

2.jpg

(图1说明:这张图是ReAct的核心,它对比了(1) HotpotQA和(2) ALFWorld两个任务下,Standard, CoT, Act-Only, ReAct四种方法的具体轨迹。)

场景一:知识问答 (HotpotQA) —— 终结幻觉

问题: 除了Apple Remote,还有什么设备可以控制Apple Remote最初设计用于交互的程序?

我们来看看不同方法的表现(参考上方的Figure 1 (1)区):

看明白了吗? ReAct通过与外部Wikipedia API的真实交互,一步步验证和获取信息,彻底避免了CoT的“闭门造车”式幻觉。

场景二:决策制定 (ALFWorld) —— 智能规划

任务: 把胡椒研磨器(pepper shaker)放到抽屉里。

我们来看看不同方法的表现(参考上方的Figure 1 (2)区):

ReAct的“Thought”清晰地展示了它的 任务分解能力 (先找、再拿、再放)和 状态跟踪能力 (我知道我拿到东西了,该进行下一步了)。


实验验证:狂“秀”肌肉的ReAct

ReAct在两大类任务上都取得了SOTA(或接近SOTA)的成绩。

1. 知识密集型任务 (HotpotQA, Fever)

在这类任务上,ReAct最大的敌人是CoT的“幻觉”。

3.jpg

(Table 1说明:展示了在HotpotQA和Fever任务上,ReAct与Standard、CoT、Act等方法的性能对比。)

4.jpg

(Figure 2说明:展示了ReAct + CoT-SC组合方法相比CoT-SC的巨大优势。)

5.jpg

(Table 2说明:详细分析了ReAct和CoT在HotpotQA上的成功和失败模式,ReAct在“幻觉”一项上为0%。)

6.jpg

(Figure 4说明:这是一个HotpotQA的补充例子,显示了CoT等方法受限于“过时”的知识,而ReAct通过API交互获取了“最新”的正确答案。)

2. 决策制定任务 (ALFWorld, WebShop)

在这类任务上,ReAct要挑战的是需要大量数据训练的模仿学习(IL)和强化学习(RL)方法。

7.jpg

(Table 3说明:展示了在ALFWorld任务上,ReAct (71%) 远超 Act-Only (45%) 和 SOTA的BUTLER (37%)。)

8.jpg

(Table 4说明:展示了在WebShop任务上,One-shot ReAct (40.0%) 显著优于IL+RL (28.7%)。)

结果令人震惊:

3. Finetuning的巨大潜力

你可能会说,ReAct这种复杂的Thought-Act提示,小模型肯定学不会。

9.jpg

(Figure 3说明:展示了模型规模对Prompting和Finetuning的影响。在Finetuning时,ReAct在小模型(8B, 62B)上表现最好。)

论文(图3)在PaLM-8B和62B上做了实验:

这证明了: ReAct是一种可学习的、通用的问题解决技能!


智使解读:ReAct为何成为Agent的“标配”?

ReAct的意义远超一篇普通的学术论文,它为后来的Agent研究指明了方向。

亮点1:可解释性 & 可信赖性 (Interpretability & Trustworthiness)
CoT的推理过程是个“黑盒”,你不知道它为什么突然“灵光一闪”或者“胡说八道”。但ReAct的“Thought”日志让我们清楚地看到Agent每一步在想什么,为什么这么做,它的信息来源是哪里。这是从“黑盒推理”到“白盒推理”的巨大飞跃。

亮点2:可控性 (Human-in-the-Loop)

10.jpg

(Figure 5说明:展示了人类如何通过编辑Agent的Thought (Act 17, 23),将其从失败轨迹纠正为成功轨迹。)

论文(图5)展示了一个超酷的应用:如果Agent在执行任务时想错了(比如它在Act 17产生了幻觉,以为找到了钥匙),人类可以直接介入, 编辑它的Thought (比如删除幻觉,增加提示)。Agent在下一轮思考时,就会基于修正后的Thought继续执行,从而纠正错误行为。这是传统RL或IL方法难以实现的实时控制。

亮点3:强大的泛化能力与效率
ReAct是一种通用的“解决问题”的元技能(Meta-Skill),而不是针对特定任务的死板策略。它在知识问答和复杂决策上都能奏效,并且是以Few- Shot(甚至One-Shot)的方式,极大地提高了数据效率。

ReAct的深远影响(结合GitHub)
如果你现在打开主流的Agent框架 LangChain ,你会发现,它最核心的Agent类型之一就叫 Zero-shot ReAct Agent

这篇2023年的论文,已经成为了当今Agent架构的事实标准和基础。


结论

ReAct通过简单的“思考-行动-观察”交错提示,完美地协同了LLM的推理能力和行动能力,是LLM Agent发展史上的里程碑。它让我们看到了构建真正智能、可控、可信的Agent的曙光。

当然,ReAct也有局限性,比如复杂的任务需要更长的Thought- Act轨迹,这可能会超出LLM的上下文窗口限制(论文也提到Finetuning是解决之道)。

读完这篇硬核解读,你有什么新的启发吗?

欢迎在评论区留下你的思考!

以上就是今天分享的全部内容。如果觉得有所收获,记得一键三连,点个 关注、分享、喜欢 , 欢迎将文章分享给更多有需要的同学

我创建了一个高质量的 「论文研读社群」,专注于大模型、AI Agent等方向。在这里,我们 每日打卡 (精读并分享最新的Agent动态和顶会论文), 定期讨论 (围绕关键技术与研究思路进行深入交流), 资源共享 (共享高质量的学习资料与科研工具)。后台私信或下方扫码” Agent ”拉你入群。

11.jpg