https://react-lm.github.io/https://github.com/ysymyth/ReAct摘要尽管大型语言模型(LLM)在语言理解和交互式决策制定的任务中展现出了令人印象深刻的性能,但其推理(如思维链提示)和行动(如行动方案生成)的能力主要被作为独立的研究主题进行探讨。在本文中,我们探索使用LLM以交错的方式生成推理轨迹和任务特定的行动,这使得两者之间能够产生更强的协同效应:推理轨迹帮助模型诱导、跟踪和更新行动方案以及处理异常,而行动则使其能够与外部来源(如知识库或环境)交互并从中收集额外信息。我们将提出的方法(名为ReAct)应用于一系列不同的语言和决策制定任务,并展示了其相较于最先进基线的有效性,同时还提高了人类可解释性和可信度。具体而言,在问答(HotpotQA)和事实验证(Fever)任务上,通过与一个简单的维基百科API交互,ReAct克服了思维链推理中常见的幻觉和错误传播问题,并生成了比没有推理轨迹的基线更具可解释性的人类式任务解决轨迹。此外,在两个交互式决策制定基准(ALFWorld 和 WebShop)上,ReAct 在仅使用一两个上下文示例进行提示的情况下,其绝对成功率分别比模仿学习和强化学习方法高出34%34\%34%和10%10\%10%。1 引言人类智能的一个独特特征是能够无缝地将面向任务的行动与言语推理(或内部言语,Alderson-Day Fernyhough, 2015)结合起来,这在理论上被认为在人类认知中扮演着重要角色,有助于实现自我调节或策略制定(Vygotsky, 1987; Luria, 1965; Fernyhough, 2010)以及维持工作记忆(Baddeley, 1992)。以在厨房烹饪一道菜为例。在两个具体行动之间,我们可能会用语言进行推理,以跟踪进度(“现在所有东西都切好了,我应该加热锅里的水”),根据情况处理异常或调整计划(“我没有盐,那就用酱油和胡椒代替”),并意识到何时需要外部信息(“我怎么准备面团?让我上网查一下”)。我们还可能采取行动(打开烹饪书阅读食谱、打开冰箱、检查食材)来支持推理并回答问题(“我现在能做什么菜?”)。这种“行动”和“推理”之间的紧密协同使得人类能够快速学习新任务,并在即使面对前所未见的情况或信息不确定性的情况下,也能做出稳健的决策或推理。最近的结果暗示了在自主系统中结合言语推理和交互式决策制定的可能性。一方面,经过适当提示的大型语言模型(LLM)已经展现出执行多步推理轨迹以从算术、常识和符号推理任务中得出答案的新兴能力(Wei et al., 2022)。然而,这种“思维链”推理是一个静态的黑盒,因为模型使用其内部表示来生成思考,并未与外部世界建立联系,这限制了其被动反应式推理或更新知识的能力。这可能导致推理过程中的事实幻觉和错误传播等问题(图1 (1b))。另一方面,最近的工作探索了使用预训练语言模型在交互式环境中进行规划和行动(Ahn et al., 2022; Nakano et al., 2021; Yao et al., 2020; Huang et al., 2022a),重点是通过语言先验预测行动。这些方法通常将多模态观察转换为文本,使用语言模型生成特定领域的行动或计划,然后使用控制器选择或执行它们。然而,除了 Huang et al. (2022b) 进行了一种有限形式的言语推理以重申关于当前状态的空间事实外,它们并未使用语言模型来抽象地推理高层次目标或维持支持行动的工作记忆。除了这种与几个物体交互的简单具身任务之外,还没有研究探讨推理和行动如何以协同的方式结合用于通用任务解决,以及这种结合是否能比单独推理或行动带来系统性的好处。在这项工作中,我们提出了 ReAct,一种结合语言模型进行推理和行动以解决多样化语言推理和决策制定任务的通用范式(图1)。ReAct 提示 LLM 以交错的方式生成与任务相关的言语推理轨迹和行动,这使得模型能够执行动态推理,以创建、维护和调整用于行动的高层计划(推理以行动),同时与外部环境(例如维基百科)交互,将额外信息纳入推理(行动以推理)。我们对 ReAct 和四个不同基准上最先进的基线进行了实证评估:问答(HotPotQA, Yang et al., 2018)、事实验证(Fever, Thorne et al., 2018)、基于文本的游戏(ALFWorld, Shridhar et al., 2020b)和网页导航(WebShop, Yao et al., 2022)。对于 HotPotQA 和 Fever,通过访问模型可以与之交互的维基百科 API,ReAct 优于普通的行动生成模型,同时与思维链推理(CoT)(Wei et al., 2022) 相比也具有竞争力。总体上最好的方法是 ReAct 和 CoT 的组合,它允许在推理过程中同时使用内部知识和外部获取的信息。在 ALFWorld 和 WebShop 上,两样本甚至一样本的 ReAct 提示就能够超越在103∼10510^{3} \sim 10^{5}103∼105个任务实例上训练的模仿或强化学习方法,成功率分别绝对提高了34%34\%34%和10%10\%10%。我们还通过展示与仅有行动的控制基线相比的一致优势,证明了稀疏、多功能的推理在决策制定中的重要性。除了普遍适用性和性能提升外,推理和行动的结合还有助于提高模型在所有领域的可解释性、可信赖性和可诊断性,因为人类可以轻松区分来自模型内部知识与外部环境的信息,并检查推理轨迹以理解决策基础。总结来说,我们的主要贡献如下:(1) 我们引入了 ReAct,一种新颖的基于提示的范式,用于在语言模型中协同推理和行动以解决通用任务;(2) 我们在不同的基准上进行了广泛的实验,展示了 ReAct 在少样本学习设置下相对于先前单独执行推理或行动生成的方法的优势;(3) 我们提出了系统的消融实验和分析,以理解行动在推理任务中的重要性,以及推理在交互式任务中的重要性;(4) 我们分析了 ReAct在提示设置下的局限性(即推理和行动行为的支持有限),并进行了初步的微调实验,显示了 ReAct 通过额外训练数据改进的潜力。将 ReAct 扩展到更多任务上进行训练和操作,并将其与强化学习等互补范式相结合,可能进一步释放大型语言模型的潜力。2 REACT:协同推理 + 行动考虑一个智能体与环境交互以解决任务的通用设置。在时间步ttt,智能体从环境接收观察ot∈Oo_{t} \in \mathcal{O}ot∈O并根据某个策略π(at∣ct)\pi (a_{t} | c_{t})π(at∣ct)采取行动at∈Aa_{t} \in \mathcal{A}
【高被引】【ICLR2023】ReAct: Synergizing Reasoning and Acting in Language Models
发布时间:2026/5/26 22:23:04
https://react-lm.github.io/https://github.com/ysymyth/ReAct摘要尽管大型语言模型(LLM)在语言理解和交互式决策制定的任务中展现出了令人印象深刻的性能,但其推理(如思维链提示)和行动(如行动方案生成)的能力主要被作为独立的研究主题进行探讨。在本文中,我们探索使用LLM以交错的方式生成推理轨迹和任务特定的行动,这使得两者之间能够产生更强的协同效应:推理轨迹帮助模型诱导、跟踪和更新行动方案以及处理异常,而行动则使其能够与外部来源(如知识库或环境)交互并从中收集额外信息。我们将提出的方法(名为ReAct)应用于一系列不同的语言和决策制定任务,并展示了其相较于最先进基线的有效性,同时还提高了人类可解释性和可信度。具体而言,在问答(HotpotQA)和事实验证(Fever)任务上,通过与一个简单的维基百科API交互,ReAct克服了思维链推理中常见的幻觉和错误传播问题,并生成了比没有推理轨迹的基线更具可解释性的人类式任务解决轨迹。此外,在两个交互式决策制定基准(ALFWorld 和 WebShop)上,ReAct 在仅使用一两个上下文示例进行提示的情况下,其绝对成功率分别比模仿学习和强化学习方法高出34%34\%34%和10%10\%10%。1 引言人类智能的一个独特特征是能够无缝地将面向任务的行动与言语推理(或内部言语,Alderson-Day Fernyhough, 2015)结合起来,这在理论上被认为在人类认知中扮演着重要角色,有助于实现自我调节或策略制定(Vygotsky, 1987; Luria, 1965; Fernyhough, 2010)以及维持工作记忆(Baddeley, 1992)。以在厨房烹饪一道菜为例。在两个具体行动之间,我们可能会用语言进行推理,以跟踪进度(“现在所有东西都切好了,我应该加热锅里的水”),根据情况处理异常或调整计划(“我没有盐,那就用酱油和胡椒代替”),并意识到何时需要外部信息(“我怎么准备面团?让我上网查一下”)。我们还可能采取行动(打开烹饪书阅读食谱、打开冰箱、检查食材)来支持推理并回答问题(“我现在能做什么菜?”)。这种“行动”和“推理”之间的紧密协同使得人类能够快速学习新任务,并在即使面对前所未见的情况或信息不确定性的情况下,也能做出稳健的决策或推理。最近的结果暗示了在自主系统中结合言语推理和交互式决策制定的可能性。一方面,经过适当提示的大型语言模型(LLM)已经展现出执行多步推理轨迹以从算术、常识和符号推理任务中得出答案的新兴能力(Wei et al., 2022)。然而,这种“思维链”推理是一个静态的黑盒,因为模型使用其内部表示来生成思考,并未与外部世界建立联系,这限制了其被动反应式推理或更新知识的能力。这可能导致推理过程中的事实幻觉和错误传播等问题(图1 (1b))。另一方面,最近的工作探索了使用预训练语言模型在交互式环境中进行规划和行动(Ahn et al., 2022; Nakano et al., 2021; Yao et al., 2020; Huang et al., 2022a),重点是通过语言先验预测行动。这些方法通常将多模态观察转换为文本,使用语言模型生成特定领域的行动或计划,然后使用控制器选择或执行它们。然而,除了 Huang et al. (2022b) 进行了一种有限形式的言语推理以重申关于当前状态的空间事实外,它们并未使用语言模型来抽象地推理高层次目标或维持支持行动的工作记忆。除了这种与几个物体交互的简单具身任务之外,还没有研究探讨推理和行动如何以协同的方式结合用于通用任务解决,以及这种结合是否能比单独推理或行动带来系统性的好处。在这项工作中,我们提出了 ReAct,一种结合语言模型进行推理和行动以解决多样化语言推理和决策制定任务的通用范式(图1)。ReAct 提示 LLM 以交错的方式生成与任务相关的言语推理轨迹和行动,这使得模型能够执行动态推理,以创建、维护和调整用于行动的高层计划(推理以行动),同时与外部环境(例如维基百科)交互,将额外信息纳入推理(行动以推理)。我们对 ReAct 和四个不同基准上最先进的基线进行了实证评估:问答(HotPotQA, Yang et al., 2018)、事实验证(Fever, Thorne et al., 2018)、基于文本的游戏(ALFWorld, Shridhar et al., 2020b)和网页导航(WebShop, Yao et al., 2022)。对于 HotPotQA 和 Fever,通过访问模型可以与之交互的维基百科 API,ReAct 优于普通的行动生成模型,同时与思维链推理(CoT)(Wei et al., 2022) 相比也具有竞争力。总体上最好的方法是 ReAct 和 CoT 的组合,它允许在推理过程中同时使用内部知识和外部获取的信息。在 ALFWorld 和 WebShop 上,两样本甚至一样本的 ReAct 提示就能够超越在103∼10510^{3} \sim 10^{5}103∼105个任务实例上训练的模仿或强化学习方法,成功率分别绝对提高了34%34\%34%和10%10\%10%。我们还通过展示与仅有行动的控制基线相比的一致优势,证明了稀疏、多功能的推理在决策制定中的重要性。除了普遍适用性和性能提升外,推理和行动的结合还有助于提高模型在所有领域的可解释性、可信赖性和可诊断性,因为人类可以轻松区分来自模型内部知识与外部环境的信息,并检查推理轨迹以理解决策基础。总结来说,我们的主要贡献如下:(1) 我们引入了 ReAct,一种新颖的基于提示的范式,用于在语言模型中协同推理和行动以解决通用任务;(2) 我们在不同的基准上进行了广泛的实验,展示了 ReAct 在少样本学习设置下相对于先前单独执行推理或行动生成的方法的优势;(3) 我们提出了系统的消融实验和分析,以理解行动在推理任务中的重要性,以及推理在交互式任务中的重要性;(4) 我们分析了 ReAct在提示设置下的局限性(即推理和行动行为的支持有限),并进行了初步的微调实验,显示了 ReAct 通过额外训练数据改进的潜力。将 ReAct 扩展到更多任务上进行训练和操作,并将其与强化学习等互补范式相结合,可能进一步释放大型语言模型的潜力。2 REACT:协同推理 + 行动考虑一个智能体与环境交互以解决任务的通用设置。在时间步ttt,智能体从环境接收观察ot∈Oo_{t} \in \mathcal{O}ot∈O并根据某个策略π(at∣ct)\pi (a_{t} | c_{t})π(at∣ct)采取行动at∈Aa_{t} \in \mathcal{A}