← 返回 Dashboard
📄 ReAct: Synergizing Reasoning and Acting in Language Models
📅 2022
📎 arXiv: 2210.03629
🏛️ ICLR 2023
👤 Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao
agent
reasoning
acting
prompting
few-shot
grounding
一句话总结:
提出 ReAct —— 一种让 LLM 交替生成推理轨迹(Thought)和任务动作(Action)的范式,将动作空间从 A 扩展为 A ∪ L(语言空间),实现"推理引导行动、行动反哺推理"的协同闭环,在知识密集型 QA 和交互式决策两大类任务上均超越纯推理(CoT)或纯行动基线。
💡 核心洞察:Reasoning ↔ Acting 协同
| 方法 | 推理 | 行动 | 问题 |
| CoT(纯推理) | ✅ 内部思维链 | ❌ 无外部交互 | 56% 幻觉率(HotpotQA);黑箱推理无法验证 |
| Act(纯行动) | ❌ 无推理 | ✅ 搜索/查找 | 无法综合信息、生成最终答案困难 |
| ReAct(推理+行动) | ✅ Thought traces | ✅ Task actions | 推理错误47%(但幻觉降至0%) |
人类认知类比:做菜时在动作间穿插「内心独白」— 追踪进度、处理异常、决定搜索菜谱 — 这正是 ReAct 的设计灵感来源(Vygotsky 内语理论)。
🏆 核心贡献
- Augmented Action Space — 将语言空间 L 融入动作空间:Â = A ∪ L,思维动作不影响环境但更新上下文
- Thought-Action-Observation 循环 — 交替生成推理轨迹和任务动作,构建可解释的问题求解路径
- ReAct + CoT-SC 混合策略 — 结合内部知识(CoT)和外部知识(ReAct),达到最优性能
- Few-shot 泛化 — 仅需 1-6 个标注样例,即超越训练 10³-10⁵ 样例的 IL/RL 方法
- Human-in-the-loop 可编辑 — 人类可直接编辑 Thought 来纠正 Agent 行为
🔬 形式化定义
标准 Agent 框架
时间步 t: 观测 oₜ ∈ O → 动作 aₜ ∈ A, 按策略 π(aₜ | cₜ)
上下文 cₜ = (o₁, a₁, ..., oₜ₋₁, aₜ₋₁, oₜ)
ReAct 扩展
扩展动作空间: Â = A ∪ L (L = 语言/思维空间)
思维动作 âₜ ∈ L: 不影响环境(无 observation 反馈),但更新上下文 cₜ₊₁ = (cₜ, âₜ)
Thought 的用途:
· 分解目标 → 生成行动计划
· 注入常识知识
· 提取观测中的关键信息
· 追踪进度 / 调整计划
· 处理异常和错误恢复
🛠️ 动作空间设计
知识密集型任务(HotpotQA / FEVER)
| 动作 | 功能 | 说明 |
search[entity] | 搜索 Wikipedia | 返回实体页面前5句;不存在则建议 top-5 相似实体 |
lookup[string] | 页内查找 | 返回包含 string 的下一句,模拟 Ctrl+F |
finish[answer] | 提交答案 | 终止当前任务 |
设计意图:故意使用弱检索器(非 SOTA),迫使模型通过显式推理来引导检索。
决策任务(ALFWorld / WebShop)
- ALFWorld:文本化 household 任务,6类任务,50+ 位置,50+ 步骤。动作如
go to countertop 1, take knife 1, clean knife 1 with sinkbasin 1
- WebShop:真实电商环境,1.18M 商品。动作如
search[query], click[option], buy
- 思维稀疏出现:决策任务中 Thought 不需要每步都有,模型自己决定何时思考
📝 Prompting 设计
| 策略 | 构造方式 | Thought 密度 |
| ReAct (QA) | 6 个人工标注的 T-A-O 轨迹 | Dense(每步都有 Thought) |
| ReAct (FEVER) | 3 个人工标注轨迹 | Dense |
| ReAct (ALFWorld) | 每种任务 3 个标注,使用排列组合取最佳 | Sparse(仅关键位置) |
| ReAct (WebShop) | 1 个标注轨迹 | Sparse |
特点:无需特殊格式设计、无 thought 模板、无样本筛选 — 标注者只需在动作旁写下自然语言思考。
📊 实验结果
知识密集型 QA
| 方法 | HotpotQA (EM) | FEVER (Acc) |
| Standard | 28.7 | 57.1 |
| CoT | 29.4 | 56.3 |
| CoT-SC (21 samples) | 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 |
| Supervised SoTA | 67.5 | 89.5 |
交互式决策
| 方法 | ALFWorld (成功率%) | WebShop (成功率%) |
| BUTLER (IL, 10⁵ 样例) | 37 | — |
| IL + RL | — | 28.7 |
| Act (best of 6) | 45 | 30.1 |
| ReAct (best of 6) | 71 | 40.0 |
| Human Expert | — | 59.6 |
错误模式分析(HotpotQA 200 样本人工标注)
| 类别 | ReAct | CoT | 核心差异 |
| ✅ 真正确 | 94% | 86% | ReAct 更 factual,更少幻觉 |
| ⚠️ 假正确(幻觉成功) | 6% | 14% | CoT 幻觉率高 2.3× |
| ❌ 推理错误 | 47% | 16% | ReAct 结构约束限制推理灵活性 |
| ❌ 搜索失败 | 23% | — | 非信息性搜索结果导致推理偏轨 |
| ❌ 幻觉失败 | 0% | 56% | ReAct 核心优势:零幻觉 |
🔧 Finetuning 实验
- 使用 3000 条正确 ReAct 轨迹作为 bootstrap 训练数据
- PaLM-8B finetuned ReAct 超越所有 PaLM-62B prompting 方法
- PaLM-62B finetuned ReAct 超越所有 PaLM-540B prompting 方法
- Finetuning Standard/CoT 效果显著差于 ReAct/Act — 前者本质是让模型记住(可能错误的)知识,后者教会模型如何获取知识
💪 优势
- 零幻觉:通过外部知识检索消除推理中的事实幻觉(0% vs CoT 的 56%)
- 可解释性:人类可直接审查 Thought 推理链,区分内部知识 vs 外部检索
- Human-in-the-loop:人类可通过编辑 Thought 实时纠正 Agent 行为
- 极致 Few-shot:1-6 个样例 > 10⁵ 条训练数据的 IL/RL 方法
- 通用性:同一范式适用于 QA、事实验证、文本游戏、网页导航四类任务
⚠️ 局限性
- 推理错误率高(47%):T-A-O 结构约束限制了推理灵活性,模型易陷入重复循环
- 搜索质量依赖:23% 错误源于非信息性搜索结果,模型难以恢复
- Prompt 长度瓶颈:复杂任务需要更多示例,但受 in-context 长度限制
- 模型规模要求:小模型(PaLM-8/62B)prompting 效果差,需要 540B 级别模型
- 贪心解码:重复循环问题可能可以通过 beam search 缓解(论文留作未来工作)
🔗 与其他论文的关联
| 连接到 | 关系 | 说明 |
| Chain-of-Thought (CoT) | extends | ReAct 在 CoT 的推理轨迹基础上增加了外部行动和观测 |
| Inner Monologue | improves | IM 只有密集外部反馈,ReAct 有灵活内部推理(71% vs 53%) |
| LLM Agent Architecture (Survey) | is_instance_of | ReAct 是 Agent 架构中 Planning Module 的经典实例 |
| Planning Module | relates_to | Thought 轨迹 = 目标分解 + 子目标追踪 + 计划调整 |
| Memory Module | relates_to | Observation 累积在上下文中形成 working memory |
| MemGPT | related | MemGPT 的 Inner Thoughts 机制与 ReAct 的 Thought 同源 |
| Generative Agents | related | 两者都是 Agent 使用自然语言推理的早期代表作 |
🕸️ 知识图谱录入
| 类型 | 新增 | 示例 |
| Method | 7 | ReAct, TAO Loop, CoT, CoT-SC, ReAct+CoT-SC Hybrid, Inner Monologue, Bootstrapped Finetuning |
| Concept | 3 | Augmented Action Space, Hallucination in Reasoning, Few-Shot In-Context Learning |
| Dataset | 4 | HotpotQA, FEVER, ALFWorld, WebShop |
| Tool | 2 | Wikipedia API Action Space, PaLM-540B |
| Author | 3 | Shunyu Yao, Karthik Narasimhan, Yuan Cao |
| 跨论文连接 | 3 | → LLM Agent Architecture, → Planning Module, → Memory Module |
图谱增长: 95→115 节点, 118→140 关系 | 查看交互式图谱