ReAct 是一种让大语言模型交替生成推理轨迹(Thought)和动作(Action)的新范式,通过推理指导行动、行动反哺推理的协同机制,在问答、事实验证和交互式决策任务上显著优于单纯的推理(CoT)或单纯的行动(Act)方法。
ReAct 的灵感来自人类认知科学中的"内心独白"(Inner Speech)理论:
这种"行动"与"推理"的紧密协同,使人类能快速学习新任务,即使在未知情况下也能做出鲁棒决策。
只推理,不行动
静态黑盒,容易幻觉
只行动,不推理
缺乏规划,容易迷失
推理 + 行动
协同互补,优势互补
推理轨迹(Thought)不直接影响外部环境,但会更新上下文,支持未来的推理或行动。
| 类型 | 作用 | 示例 |
|---|---|---|
| 目标分解 | 将复杂任务拆分为子目标 | "我需要先搜 X,再找 Y,最后找 Z" |
| 常识注入 | 引入相关背景知识 | "台灯通常放在书桌、架子或梳妆台上" |
| 信息提取 | 从观察中提取关键信息 | "X 成立于 1844 年" |
| 进度跟踪 | 监控子目标完成情况 | "现在所有食材都切好了" |
| 异常处理 | 调整计划应对意外 | "Front Row 没找到,让我搜 Front Row Software" |
| 搜索重构 | reformulate 查询策略 | "也许我可以搜/查 X 代替" |
人类标注者只需在行动旁写下内心想法,无需特殊格式或示例选择
灵活的思维空间和思维-行动格式,适用于 QA、事实验证、文本游戏、网页导航等多样任务
仅从 1-6 个 in-context 示例学习,就能持续超越纯推理或纯行动基线
可解释的序列决策过程,人类可检查推理和事实正确性,甚至实时编辑思维纠正行为
| 任务 | 数据集 | 类型 | 环境/API |
|---|---|---|---|
| 多跳问答 | HotpotQA | 知识密集型推理 | Wikipedia API |
| 事实验证 | FEVER | 知识密集型推理 | Wikipedia API |
| 文本游戏 | ALFWorld | 交互式决策 | 模拟家庭环境 |
| 网页导航 | WebShop | 交互式决策 | 在线购物网站 |
设计意图:模拟人类与 Wikipedia 的交互方式,迫使模型通过显式语言推理来检索信息
| 方法 | 说明 |
|---|---|
| Standard | 标准提示,无思维、无行动、无观察 |
| CoT (Chain-of-Thought) | 仅推理,移除行动和观察 |
| CoT-SC | CoT + Self-Consistency,采样 21 条轨迹取多数答案 |
| Act | 仅行动,移除思维(类似 WebGPT) |
| ReAct | 思维 + 行动 + 观察 交错 |
| 方法 | HotpotQA (EM) | FEVER (Acc) |
|---|---|---|
| Standard | 28.7 | 57.1 |
| CoT | 29.4 | 56.3 |
| CoT-SC | 33.4 | 60.4 |
| Act | 25.7 | 58.9 |
| ReAct | 27.4 | 60.9 |
| CoT-SC → ReAct | 34.2 | 64.6 |
| ReAct → CoT-SC | 35.1 | 62.0 |
| 类型 | ReAct | CoT |
|---|---|---|
| 正确推理和事实 | 94% | 86% |
| 幻觉推理或事实 | 6% | 14% |
| 推理错误 | 47% | 16% |
| 搜索结果错误 | 23% | — |
| 幻觉(失败模式) | 0% | 56% |
| 方法 | ALFWorld (成功率) | WebShop (成功率) |
|---|---|---|
| Act (最佳) | 45% | 30.1% |
| ReAct (平均) | 57% | 40.0% |
| ReAct (最佳) | 71% | — |
| BUTLER (模仿学习) | 37% | — |
| IL + RL | — | 28.7% |
| Human Expert | — | 59.6% |
ReAct 仅用 1-2 个 in-context 示例,就超越了在 10³~10⁵ 个任务实例上训练的模仿学习和强化学习方法:
使用 3,000 条 ReAct 生成的正确轨迹,微调较小模型(PaLM-8B/62B):
原因:微调 Standard/CoT 本质上是教模型记忆(可能幻觉的)知识事实;而微调 ReAct/Act 是教模型如何(推理并)行动以从 Wikipedia 获取信息——一种更通用的知识推理技能。
Inner Monologue (Huang et al., 2022b) 是最接近的相关工作,但存在关键差异:
| 维度 | Inner Monologue | ReAct |
|---|---|---|
| "内心独白"内容 | 环境状态观察 + 目标完成度 | 灵活多样的推理类型 |
| 推理密度 | 密集(每步都有) | 稀疏(仅在关键位置) |
| 推理类型 | 外部反馈的简单反应 | 目标分解、常识推理、进度跟踪等 |
| ALFWorld 成功率 | 53% | 71% |
将 ReAct 的思维替换为 IM 风格的密集外部反馈(ReAct-IM),成功率从 71% 降至 53%。原因是:
不是简单的"1+1=2",而是相互增强的飞轮:
ReAct 证明了 LLM 的in-context learning 能力远超传统认知。1-2 个示例就能让模型掌握复杂的推理-行动交替策略,这暗示 LLM 已经内化了大量关于"如何解决问题"的先验知识。
ReAct 的推理轨迹不仅是性能提升的工具,更是信任和安全的基础:
ReAct 启发了大量后续工作:
ReAct 是第一个系统性地将推理(Reasoning)和行动(Acting)以交错方式结合在大语言模型中的通用范式。它不仅是技术方法,更是一种认知框架——模仿人类"内心独白"与"外在行动"的协同机制。
最核心的贡献:
"The tight synergy between 'acting' and 'reasoning' allows humans to learn new tasks quickly and perform robust decision making." —— 这正是 ReAct 想要赋予 LLM 的能力。