目录
1. 论文基本信息
标题: 《ReAct: Synergizing Reasoning and Acting in Language Models》作者: Shunyu Yao, Jeffrey Zhao, Dian Yu, Nan Du, Izhak Shafran, Karthik Narasimhan, Yuan Cao机构: 普林斯顿大学, Google Research (Brain团队)发表时间: 2022年10月论文链接: https://arxiv.org/pdf/2210.03629
2. 论文解决的问题
ReAct范式主要针对大型语言模型(LLMs)中存在的以下四个关键挑战:
推理与行动能力的分离问题
现有研究中,大型语言模型的推理能力(如思维链提示)和行动能力(如行动计划生成)主要被作为独立的主题研究,缺乏有效的结合方式。
这一问题导致语言模型难以同时利用其强大的推理能力和执行能力。虽然语言模型在思维链(Chain-of-Thought)等推理任务上表现出色,在行动规划上也有所进展,但这两种能力往往被割裂开来,无法形成协同效应。
推理中的幻觉和错误传播问题
传统的思维链(Chain-of-Thought, CoT)推理方法依赖模型内部表征生成思考,不与外部世界交互,容易产生事实幻觉并在推理过程中传播错误。
当语言模型仅依靠内部知识进行推理时,它们容易生成看似合理但实际上不准确的信息(幻觉),而且这些错误会在多步推理过程中累积和放大。由于缺乏与外部信息源的交互验证机制,模型难以纠正这些错误,导致最终结果不可靠。
交互式决策中缺乏高层次推理支持
现有的交互式决策方法主要关注预测行动,缺乏使用语言模型进行抽象推理或维护工作记忆来支持行动的能力。
在交互式环境中,现有方法往往直接从观察到行动,缺少中间的推理过程。这使得模型难以处理需要多步规划、目标分解或常识推理的复杂任务。没有高层次的推理支持,模型在面对新情况或异常情况时适应能力有限,难以灵活调整行动计划。
复杂环境中的长期规划和探索效率问题
在复杂的交互环境中,智能体需要有效地进行长期规划并系统地探索,而现有方法难以高效完成这些任务。
当任务需要多步骤、长期规划时,纯行动驱动的方法往往陷入局部最优或重复行为。缺乏系统性的探索策略和有效的进度跟踪机制,使得模型在开放式、复杂环境中表现不佳。这一问题在需要探索大量可能状态的任务中尤为明显,如文本游戏或网页导航等交互式环境。
3. 提出的解决方案
论文提出了ReAct(Reasoning + Acting)范式,通过将推理与行动结合在一起,解决上述问题。ReAct范式的核心思想是让语言模型生成交织的推理轨迹和任务特定行动,实现推理指导行动和行动支持推理的协同效应。
3.1 ReAct范式的设计原理
扩展行动空间
ReAct将智能体的行动空间扩展为A^=A∪L,其中:
-
A是任务特定的行动空间
-
L是语言空间
语言空间中的行动(思考)不直接影响外部环境,而是通过推理更新上下文,为未来的推理或行动提供支持。
交织生成
ReAct使大型语言模型能够生成两种输出:
-
推理轨迹(思考):在语言空间中进行的内部推理
-
任务特定行动:与外部环境交互的具体操作
这两种输出以交织方式生成,形成完整的任务解决轨迹。
3.2 基于少样本提示的实现方法
ReAct主要通过少样本提示学习(few-shot prompting)实现,只需要1-6个示例即可让模型学会推理与行动的结合:
少样本提示学习实现步骤
-
人工标注少量(1-6个)示例轨迹,每个示例包含人类解决任务实例的行动、思考和环境观察的完整轨迹
-
将这些示例作为上下文提供给大型语言模型(如PaLM-540B)
-
模型通过上下文学习生成类似的推理-行动交织轨迹
-
对于不同类型的任务,采用不同的思考-行动交替模式
针对不同类型的任务,ReAct采用不同的思考-行动交替模式:
-
推理为主的任务(如问答):交替生成思考-行动-观察步骤,形成密集的推理轨迹
-
决策为主的任务(如游戏):允许模型自行决定思考和行动的异步出现,形成稀疏的推理轨迹
3.3 思考类型的多样化设计
ReAct支持多种类型的思考,使模型能够灵活应对不同任务场景:
目标分解将任务目标分解为子目标
例:”我需要搜索x,找到y,然后找到z”
信息提取从观察中提取关键信息
例:”x始于1844年”
常识/算术推理进行基本推理
例:”x不是y,所以z一定是…”或”1844 < 1989″
搜索重构指导如何重新构建搜索
例:”也许我可以搜索/查找x”
答案合成综合最终答案
例:”…所以答案是x”
进度跟踪跟踪子目标完成情况和行动计划转换
例:”现在我已完成x,接下来需要y”
3.4 内部知识与外部知识的结合
ReAct还提出了将模型内部知识与外部获取的信息结合的方法,进一步提高任务解决能力:
ReAct与CoT-SC的结合策略
-
ReAct → CoT-SC:当ReAct在给定步骤内无法返回答案时,回退到CoT-SC(思维链自洽性)
-
CoT-SC → ReAct:当CoT-SC中的多数答案出现次数少于总样本数一半时,回退到ReAct
这种结合策略充分利用了模型内部知识和外部信息源的优势,实现了更强大的推理和决策能力。
ReAct范式通过上述设计,成功地将推理能力和行动能力结合在一起,使语言模型能够在复杂任务中表现出更强的问题解决能力、更高的可解释性和可信度。
4. 主要贡献和关键发现
ReAct范式在多个基准测试上的实验结果表明,将推理与行动结合可以显著提高语言模型的性能和可解释性。本节将详细介绍论文的主要贡献和关键发现。
4.1 主要贡献
首创推理与行动结合的通用范式
ReAct是首个将推理和行动结合在语言模型中进行通用任务解决的范式,实现了推理指导行动和行动支持推理的协同效应。
这一创新范式打破了传统研究中将推理能力和行动能力作为独立主题的局限,为语言模型的应用开辟了新方向。通过将语言空间与任务特定行动空间结合,ReAct使模型能够同时利用内部知识和外部信息,形成更强大的问题解决能力。
少样本学习效果显著
仅通过1-6个示例的上下文学习,ReAct在交互式决策任务上显著优于使用10³~10⁵任务实例训练的模仿学习或强化学习方法。
这一发现表明,通过合理设计的推理-行动交织轨迹,大型语言模型能够快速学习复杂任务的解决策略,大幅降低了训练成本和数据需求。这对于资源受限或数据稀缺的应用场景具有重要意义。
提高了模型可解释性和可信度
通过推理轨迹和行动的结合,使人类能够区分模型内部知识与外部环境信息,并检查推理轨迹以理解模型行动的决策依据。
ReAct生成的推理轨迹提供了模型决策过程的透明视图,使人类可以理解模型为什么做出特定决策,从而增强了对AI系统的信任。同时,通过明确区分内部推理和外部信息获取,ReAct减少了幻觉问题,提高了结果的可靠性。
4.2 多领域实验验证
论文在四个不同领域的基准测试上进行了广泛实验,验证了ReAct的有效性:
知识密集型推理任务
-
HotPotQA:多跳问答任务
-
Fever:事实验证任务
这些任务需要模型从多个信息源收集和整合信息,进行复杂推理。
交互式决策任务
-
ALFWorld:文本游戏任务
-
WebShop:网页导航任务
这些任务需要模型在复杂环境中进行长期规划和探索。
4.3 知识密集型推理任务的表现
在知识密集型推理任务上,ReAct展现出与传统思维链方法相当甚至更优的性能,同时显著降低了幻觉率:
方法
|
HotPotQA (EM)
|
Fever (准确率)
|
标准提示
|
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 (6% vs 14%)。
这表明通过与外部环境(如Wikipedia API)交互,ReAct能够获取更准确的信息,减少依赖模型内部可能不准确的知识。
4.4 交互式决策任务的卓越表现
在交互式决策任务上,ReAct展现出显著优于现有方法的性能:
ALFWorld 任务成功率 (%)
方法
|
Pick
|
Clean
|
Heat
|
Cool
|
Look
|
Pick 2
|
平均
|
BUTLER
|
33
|
26
|
70
|
76
|
17
|
12
|
22
|
Act (最佳)
|
88
|
42
|
74
|
67
|
72
|
41
|
45
|
ReAct (最佳)
|
92
|
58
|
96
|
86
|
78
|
41
|
71
|
WebShop 性能
方法
|
平均得分
|
成功率 (%)
|
模仿学习 (IL)
|
59.9
|
29.1
|
模仿+强化学习 (IL+RL)
|
62.4
|
28.7
|
Act
|
62.3
|
30.1
|
ReAct
|
66.6
|
40.0
|
人类专家
|
82.1
|
59.6
|
关键发现:内部推理的重要性
ReAct的灵活稀疏推理显著优于仅基于外部反馈的内部独白方法(ReAct-IM)(71% vs 53%)。
高层次目标分解和常识推理是ReAct在交互式决策任务中成功的关键因素。
4.5 微调效果与人机协作潜力
除了少样本提示学习,论文还探索了ReAct的微调效果和人机协作潜力:
微调效果
使用3,000个ReAct生成的正确轨迹微调较小语言模型(PaLM-8B/62B)时:
-
PaLM-8B微调后的ReAct优于所有PaLM-62B提示方法
-
PaLM-62B微调后的ReAct优于所有540B提示方法
这表明ReAct范式可以通过微调进一步提升性能,并在较小模型上实现良好效果。
人机协作潜力
ReAct支持人类检查和编辑推理轨迹,实现行为纠正:
-
通过简单编辑几个思考步骤,人类可以显著改变ReAct的行为
-
这种交互式协作方式为人类与AI系统的协作提供了新的可能性
这一特性使ReAct在实际应用中更加灵活和可控。
总结来看,ReAct通过将推理和行动结合在一起,不仅提高了语言模型在多种任务上的性能,还增强了模型的可解释性、可信度和可诊断性,为人类与AI系统的协作提供了新的可能性。
5. 总结与启示
ReAct范式的提出代表了大型语言模型应用研究的一个重要突破,为解决复杂任务提供了新的方法论。本节将总结论文的核心意义并探讨其对AI领域的启示。
5.1 研究意义
打破能力孤岛
ReAct成功地将语言模型的推理能力和行动能力这两个原本独立发展的研究方向结合起来,形成了一种协同增强的效应。
这种结合不是简单的叠加,而是通过推理指导行动、行动支持推理的双向促进机制,实现了1+1>2的效果。
ReAct范式的提出表明,语言模型不仅可以作为静态的文本生成器,还可以作为动态的交互式智能体,通过与环境的交互获取信息并做出决策。这一突破扩展了语言模型的应用边界,为构建更通用的AI系统提供了新思路。
人类认知的启发
ReAct的设计受到人类认知过程的启发,模拟了人类在行动之间进行语言推理(内部语言)的能力。
这种设计使语言模型能够像人类一样,在行动之间进行目标跟踪、计划调整和异常处理,展现出更接近人类的问题解决模式。
通过模拟人类认知中推理与行动的紧密结合,ReAct为构建更符合人类心智模型的AI系统提供了新的范式。这种接近人类认知的设计不仅提高了系统性能,还增强了人类对AI系统的理解和信任。
5.2 技术启示
ReAct范式的成功为AI研究和应用提供了几点重要启示:
少样本学习的潜力
ReAct证明了通过精心设计的示例,大型语言模型能够快速学习复杂任务的解决策略,而无需大量训练数据。
这一发现对于资源受限或数据稀缺的场景具有重要意义,表明了提示工程(prompt engineering)在AI系统开发中的价值。
交互式系统的重要性
ReAct强调了AI系统与外部环境交互的重要性,表明封闭式推理存在固有局限。
通过与外部知识源或环境的交互,AI系统可以获取更准确的信息,减少幻觉,提高推理质量。
此外,ReAct还展示了透明决策过程的价值。通过生成可解释的推理轨迹,ReAct使人类能够理解模型的决策依据,识别潜在错误,并在必要时进行干预。这种透明性对于构建可信AI系统至关重要。
5.3 未来方向
论文指出了几个值得进一步探索的研究方向:
-
扩展到更多任务领域:将ReAct应用于更广泛的任务,如复杂对话、代码生成、机器人控制等。
-
多任务训练:通过在多种任务上训练ReAct,提高其通用能力和迁移学习能力。
-
与强化学习结合:将ReAct与强化学习方法结合,进一步提高在复杂环境中的探索和决策能力。
-
人机协作增强:深入研究如何基于ReAct构建更有效的人机协作系统,使人类能够更自然地指导和纠正AI系统的行为。
-
减少幻觉:进一步研究如何通过外部信息验证和内部一致性检查,减少语言模型的幻觉问题。
更通用的AI系统愿景
ReAct为构建更通用、更可信、更透明的AI系统提供了新的范式,代表了向人类级别通用智能迈进的重要一步。
通过将推理与行动的协同作用置于AI系统设计的核心位置,ReAct开辟了一条有前景的研究路径。
总的来说,ReAct范式的提出不仅解决了当前语言模型面临的一些关键挑战,还为未来AI系统的发展指明了方向。随着这一领域的持续探索和创新,我们有望看到更多将推理与行动结合的强大AI系统,为人类社会创造更大价值。