ICLR | 思维与行动的协同:ReAct框架如何重塑大模型的问题解决能力

论文标题: REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS
论文链接: https://arxiv.org/abs/2210.03629
本文将深度解析 ReAct 框架,一个旨在将大型语言模型(LLM)的推理(Reasoning)能力与行动(Acting)能力进行协同增效的范式。通过交错生成推理轨迹和任务相关动作,ReAct 使得模型不仅能进行更高阶的思考以指导行动,还能通过与外部环境(如知识库)的交互来获取信息,从而反哺推理过程。
一、核心思想:推理(Reason)与行动(Act)的协同
传统上,对 LLM 的研究将推理(如通过思想链 CoT)和行动(如生成动作规划)作为两个独立的领域。CoT 在其“内部思考”中可能产生事实幻觉或错误传播;而单纯的行动模型则缺乏对复杂任务的规划、分解和异常处理能力。
ReAct 的核心思想在于打破这种隔阂。它通过 Prompting 的方式,让 LLM 生成一种**交错(interleaved)**的轨迹,该轨迹包含三个关键元素:
- Thought(思考): 模型的内部语言推理过程。它不直接影响外部环境,而是用于分析问题、分解任务、制定或调整计划、处理异常情况,以及从观察中提取关键信息。
- Act(行动): 模型生成的与外部环境交互的具体指令。例如,调用一个搜索引擎 API、在一个虚拟环境中执行某个动作等。
- Observation(观察): 执行行动后从外部环境返回的结果。这些结果作为新的上下文,供模型在下一步进行思考。
这种“思考 → 行动 → 观察 → 思考…”的循环,模拟了人类解决问题时“边想边做、边做边想”的认知过程,形成了一个动态、可回溯的闭环。

- (a) 标准提示 (Standard): 直接输出答案,易出错。
- (b) 思想链CoT (Reason-Only): 仅进行内部推理,可能因知识局限而产生幻觉。
- © 仅行动 (Act-Only): 连续执行动作,但缺乏规划性,难以从多次交互中综合出答案。
- (d) ReAct (Reason+Act): 通过思考规划下一步行动,通过行动获取事实信息,通过观察修正思考,逻辑清晰且有据可循。
二、在知识密集型推理任务上的应用 (以 HotpotQA 为例)
在这类任务中,模型需要检索并整合多个信息源的知识才能回答问题。
1. 实验设置
- 数据集: HotpotQA (多跳问答), Fever (事实核查)。
- 外部环境: 一个简化的维基百科 API,提供三个动作:
search[entity]: 搜索一个实体,返回其维基百科页面的前5句话。lookup[string]: 在当前页面中查找包含特定字符串的下一句话,模拟 “Ctrl+F” 功能。finish[answer]: 提交最终答案并结束任务。
2. 核心实验与结论
研究人员对比了多种方法,其关键结论如下:
结论一:ReAct 在事实性上优于 CoT,但灵活性稍逊
通过对比 ReAct 和 CoT 的错误案例,我们发现:
- 幻觉问题: CoT 的主要失败原因(56%)是事实性幻觉(Hallucination)。相比之下,ReAct 因为有外部知识源的验证,轨迹更可靠,幻觉导致的失败几乎为零。
- 推理灵活性: ReAct 的 “Thought-Act-Obs” 结构虽然保证了事实性,但也限制了其进行纯粹抽象推理的灵活性,导致其推理错误率(如重复之前的思考和行动)高于 CoT (47% vs 16%)。
- 信息检索的重要性: ReAct 的一个显著失败原因(23%)是“非信息性搜索”,即搜索未能返回有效信息,这会使模型的推理过程偏离轨道。

这揭示了两者之间的 事实性(factuality)与灵活性(flexibility)的权衡。
结论二:ReAct 与 CoT-SC 的结合效果最佳
Self-Consistency (SC) 是一种通过多次采样并取多数投票来增强 CoT 效果的技术。论文发现,将 ReAct 与 CoT-SC 结合可以实现优势互补:
- 当模型对内部知识足够自信时,使用 CoT-SC 快速推理。
- 当内部知识不确定(例如,CoT-SC 投票结果分散)时,切换到 React,从外部获取事实依据。
这种结合策略在 HotpotQA 和 Fever 数据集上均取得了超越单一方法的最佳性能。

结论三:Finetuning 能显著释放 ReAct 的潜力
- 小模型理解能力有限: 在小模型(如 PaLM-8B/62B)上,仅通过 few-shot prompt 引入 ReAct 示例效果不佳,甚至不如更简单的 CoT。这表明小模型难以从复杂的上下文中学习到“思考-行动”的范式。
- Finetuning 效果巨大: 当使用 ReAct 生成的正确轨迹对模型进行微调(Finetuning)后,性能得到巨大提升。例如,经过微调的 PaLM-62B 模型在使用 ReAct 时的性能(EM 指标约 39+)远超通过 Prompting 学习的同尺寸模型(EM 指标约 15+),甚至超过了更大的 PaLM-540B 模型的 Prompting 效果。
这说明,通过构建高质量的“中间过程”数据集进行微调,是解锁 ReAct 在不同规模模型上潜力的关键路径。
三、在决策制定任务上的应用 (以 ALFWorld 和 WebShop 为例)
这类任务环境复杂,需要模型执行长序列动作来达成目标,对高效的推理和探索能力要求极高。
1. 实验设置
- ALFWorld: 一个基于文本的模拟家居环境,任务如“把一个洗干净的盘子放到微波炉里”。模型需要进行导航、与物体交互等一系列动作。
- WebShop: 一个模拟的真实在线购物网站环境,任务是根据用户指令购买满足特定属性(如品牌、价格、颜色)的商品。
2. 核心实验与结论
- 在 ALFWorld 上,ReAct 的成功率达到 71%,显著优于 Act-Only (45%) 和之前的模仿学习方法 BUTLER (37%)。
- 在 WebShop 上,ReAct 的成功率达到 40%,同样优于 Act-Only (30.1%) 和结合了强化学习的基线模型 (28.7%)。


结论一:思考(Thought)对于复杂行动至关重要
与仅行动的基线(Act-Only)相比,ReAct 的优势在于:
- 目标分解与跟踪: Act-Only 模型在长任务链中容易“迷失”,忘记当前子目标或环境状态。而 ReAct 中的 “Thought” 可以明确地将高级目标(如“放一个干净的刀在台面上”)分解为子目标(1. 找到刀;2. 清洗刀;3. 找到台面;4. 放置刀),并持续跟踪进度。
- 常识推理: ReAct 可以利用 LLM 的预训练知识进行常识推理以指导行动。例如,在 ALFWorld 中,思考“刀具通常在抽屉或台面上”,可以帮助模型进行更高效的探索,而不是盲目搜索。
- 过滤噪声信息: 在 WebShop 这种充满无关信息的真实环境中,ReAct 可以通过思考来判断哪些商品属性与用户指令相关,从而缩小搜索和决策空间。
四、总结与展望
ReAct 框架通过一种简洁而强大的方式,将语言模型的推理与行动能力结合起来,带来了显著的优势:
- 性能提升与泛化性: 在问答、事实核查、交互式决策等多种任务上,ReAct 均展现出超越单一推理或行动基线的性能,且仅需少量示例即可学习。
- 可解释性与可信度: ReAct 生成的轨迹清晰地展示了模型的“心路历程”,使得人类可以轻松审查其决策依据,判断其结论是源于内部知识还是外部事实,从而大大提高了模型的可信度和可诊断性。
- 克服幻觉: 通过与外部知识库的互动,ReAct 有效地缓解了 CoT 方法中普遍存在的知识幻觉问题,使其在知识密集型任务中更加可靠。
- Finetuning 的巨大潜力: 实验证明,通过高质量的 ReAct 轨迹数据进行微调,可以极大地提升模型性能,这为构建更强大的 Agent 提供了切实可行的数据构建和模型优化路径。
局限与展望:
尽管 ReAct 表现出色,但它也面临挑战,例如在处理需要大量动作的复杂任务时,上下文长度可能成为瓶颈。未来的研究方向包括:扩展 ReAct 的规模进行多任务训练,以及将其与强化学习等互补范式结合,有望进一步释放大型语言模型在通用任务解决领域的潜力。
更多推荐
所有评论(0)