尽管大型语言模型(LLM)在语言理解和交互式决策制定任务中展现了令人印象深刻的表现,但它们在推理(例如思维链提示)和行动(例如行动计划生成)方面的能力主要是作为独立的课题来研究的。在本文中,我们探索了LLM以交替的方式生成与任务相关的推理痕迹和行动的使用,从而实现两者之间的更大协同效应:推理可以帮助模型感知、跟踪和更新行动计划以及处理异常情况,而行动可以让它与外部来源(如知识库或环境)互动以获取额外信息并纳入推理中。我们将我们的方法ReAct应用于各种语言和决策制定任务,并证明它相对于当前最先进的基线方法具有效果,此外还改善了人类的可解释性和可信度。具体来说,在问答(HotpotQA)和事实核实(Fever)任务中,通过与简单的维基百科API交互,ReAct克服了链式思维推理中普遍存在的幻想和误差传播问题,并生成了比基线更具可解释性的任务解决轨迹。此外,在两个交互式决策制定基准(ALFWorld和WebShop)上,相比模仿和强化学习方法,ReAct只需要一个或两个上下文例子提示就可以获得绝对成功率分别提高34%和10%的效果。
论文原文地址:2210.03629.pdf (arxiv.org)

一、介绍
人类智能的一个独特特征是能够无缝地将面向任务的行动与语言推理(或内在语言)相结合,这被理论化为在人类认知中发挥了重要作用,使自我调节或策略化成为可能(Vygotsky, 1987; Luria, 1965; Fernyhough, 2010),并保持工作记忆(Baddeley, 1992)。考虑在厨房烹饪菜肴的例子。在任何两个具体行动之间,我们可以用语言进行推理,以跟踪进展(“现在准备好了一切,我应该加热水盆”),处理异常情况或根据情况调整计划(“我没有盐,所以用酱油和胡椒代替”),并意识到何时需要外部信息(“我该如何准备面团?让我在网上搜索一下”)。我们也可以采取行动(打开烹饪书阅读食谱,打开冰箱,检查配料)来支持推理,并回答问题(“我现在可以做什么菜?”)。这种“行动”和“推理”的紧密协同使人类能够快速学习新任务并在以前看不见的情况或面临信息不确定性下进行稳健的决策或推理。
注:阳明心学提出“知行合一”的理念;大模型目前确实只是知识的合集,无法完成很多现实世界的任务,也可以理解;未来,大模型能够感知现实世界,得到反馈,并进行改进,那可能就是未来世界了!
近期的结果提示了在自主系统中将语言推理与交互式决策制定相结合的可能性。一方面,被恰当提示的大型语言模型已经展示出在算术、常识和符号推理任务中进行自己的“思考过程”来导出答案的新兴能力(Wei et al., 2022)。然而,这种“思维链”推理是一个静态的黑箱,因为模型使用自己的内部表示来生成思想,并没有与外部世界相接地,这限制了它对环境做出反应或更新知识的能力。这可能导致像虚构事实和误差在推理过程中的传播这样的问题(图1 (1b))。另一方面,最近的工作探索了将预训练语言模型用于交互式环境中的计划和行动,重点放在通过语言先验预测动作上。这些方法通常将多模态观察转换为文本,使用语言模型生成特定领域的具体动作或计划,然后使用控制器选择或执行它们。但是,它们没有利用语言模型进行抽象推理来维持工作记忆以支持行动,除了Huang等人(2022b)使用有限的语言推理来重述当前状态的空间事实。除了与几个建模块交互的简单具身任务之外,还没有关于如何以协同的方式在一般任务解决中组合推理和行动的研究,也没有研究这样的组合相比仅进行推理或行动是否能带来系统性的好处。

在本文中,我们介绍ReAct,这是一种将推理和行动与语言模型相结合以解决各种语言推理和决策制定任务的通用范式(图1)。ReAct提示LLM以交替的方式为与任务相关的推理痕迹和行动生成语言,这使得模型能够执行动态推理来创建、维护和调整用于行动的高层计划(推理以行动),同时也可以与外部环境(如维基百科或环境本身)交互以将额外信息并入推理过程(行动以推理)。
我们在四个不同的基准中对ReAct和当前最先进的基线方法进行了实证评估:问答(HotpotQA)、事实核验(Fever)、基于文本的游戏(ALFWorld)和网页导航(WebShop)。 在HotpotQA和Fever中,利用访问维基百科API的能力,ReAct胜过仅执行动作生成的模型,并与仅进行链式思维推理(CoT)的方法具有竞争力。最佳方法是ReAct和CoT的组合,它允许在推理过程中使用内部知识和外部获取的信息。 在ALFWorld和WebShop中,相比学习过103∼105个任务实例的模仿或强化学习方法,一次或两次ReAct提示就能获得更好的效果,绝对成功率分别提高了34%和10%。我们还展示了推理的稀疏性和通用性在决策中的重要性,通过与仅进行行动的受控基线进行比较持续显示出优势。 除了广泛的适用性和性能提升之外,推理和行动的结合还提高了所有领域中的模型可解释性、可信度和诊断能力,因为人类可以轻松区分模型内部知识和外部环境的信息,并检查推理痕迹以了解模型行动的决策依据。
为总结,我们的主要贡献如下:(1)我们介绍了ReAct,这是一种新的提示范式,可以协同语言模型的推理和行动进行一般任务解决;(2)我们在各种基准中进行了广泛的实验,展示了ReAct在少样本学习设置下相对于仅执行推理或行动生成的先前方法的优势;(3)我们进行了系统的消融实验和分析,以了解仅行动的交互式任务中推理的重要性,以及仅推理的推理任务中行动的重要性;(4)我们分析了提示设置下ReAct的局限性(即对推理和行动行为的支持有限),并进行了初步微调实验,展示了ReAct随着额外训练数据的增加而改进的潜力。 将ReAct扩展到更多任务并与互补的范式(如强化学习)相结合可能会进一步释放大型语言模型的潜力。
二、协同推理和行动
考虑一个通用的设置,一个代理与一个环境交互以解决任务。在时间步t,一个代理从环境接收一个观察o∈O,并采取一个行动a∈A,遵循某个策略π(at|ct),其中ct=(o1,a1,...,ot−1,at−1,ot)是代理的上下文。学习一个策略是有挑战的,当o→a的映射高度隐式且需要大量计算时。例如,图1(1c)中的代理无法生成完成QA任务的正确最终操作(Act 4),因为它需要对轨迹上下文(问题、Act 1-3、Obs 1-3)进行复杂的推理。类似地,图1(2a)中的代理也无法从上下文中理解sinkbasin 1不包含peppershaker 1,因此持续产生幻想的行动。
ReAct的思想很简单:我们将代理的行动空间增广为ˆA=A∪L,其中L是语言空间。语言空间中的一个行动ˆa∈L,我们将其称为思想或推理痕迹,不会影响外部环境,因此不会产生观察反馈。相反,一个思想ˆa旨在通过对当前上下文ct进行推理来组合有用的信息,并更新上下文ct+1=(ct,ˆa)以支持未来的推理或行动。如图1所示,有各种有用的思想,例如分解任务目标并创建行动计划(2b,Act 1;1d,Thought 1),注入与任务解决相关的常识知识(2b,Act 1),从观察中提取重要部分(1d,Thought2,4),跟踪进展并转换行动计划(2b,Act 8),处理异常并调整行动计划(1d,Thought 3)等等。
然而,由于语言空间L是无限的,在这个增广的行动空间中学习是困难的,需要强大的语言先验知识。在本文中,我们主要关注这样一个设置,其中一个固定的大型语言模型PaLM-540B被提示几个上下文示例以生成特定领域的具体操作和任意形式的语言思想用于任务解决(图1 (1d),(2b))。每个上下文示例都是人类轨迹,包含操作、思想和环境观察结果以解决一个任务实例(见附录C)。对于推理至关重要的任务(图1(1)),我们以交替的方式生成思想和行动,以便任务解决轨迹由多个思想-行动-观察步骤组成。相比之下,对于可能涉及大量操作的决策任务(图1(2)),思想只需要在轨迹最相关的位置出现,所以我们让语言模型自己决定思想和行动的异步发生。
由于决策制定和推理能力集成在一个大型语言模型中,ReAct享有几个独特的特征:A) 直观且容易设计:设计ReAct提示非常简单,因为人类标注者只需要在行动之上键入他们的思想。本文没有使用任何特殊的格式选择、思维设计或示例选择。我们在第3节和第4节详细说明每个任务的提示设计。B) 通用且灵活:由于灵活的思维空间和思维-行动发生格式,ReAct适用于具有不同行动空间和推理需求的各种任务,包括但不限于QA、事实核查、文字游戏和网络导航。C) 高效且稳健:ReAct展现了从仅几个上下文示例学习的强大泛化能力,在不同领域中一致优于仅具备推理或行动生成能力的基线。我们在第3节还展示了微调时ReAct的额外收益。D) 符合人类且可控制:ReAct Promise一个可解释的顺序决策制定和推理过程,人类可以轻松检查推理和事实的正确性。此外,人类还可以通过思维编辑实时控制或纠正代理行为,如图5所示。
2.1 实际案例
User:
Context: In the field of question answering, we aim to develop models that can accurately answer questions based on given information or knowledge. In this task, you will be asked a question and you need to provide the correct answer.
Question: Who is the president of the United States?
ReAct Prompt:
Reasoning Trace: Generate a reasoning trace that helps you think about how to find the answer to the question.
Action: Based on your reasoning, take the necessary action(s) to gather information or interact with external sources.
Answer the question: Provide the correct answer to the question based on the gathered information or knowledge.
LLM:
Here is a possible reasoning trace and answer for the question "Who is the president of the United States?":
Reasoning Trace:
- The president is the head of state and head of government of the United States.
- The president leads the executive branch of the federal government and is the commander-in-chief of the United States Armed Forces.
- The president is elected to a four-year term by the Electoral College and has a maximum of two terms according to the 22nd Amendment.
- To find the current president, I need to check authoritative sources on who won the last presidential election and was sworn into office.
Action:
- Consult online government websites, news articles or other credible sources to find information on the most recent presidential election and inauguration.
- Search for official announcements from government authorities on who became president after the last election.
Answer: Joe Biden is the current president of the United States. He was elected in the 2020 presidential election and inaugurated on January 20, 2021.
用户:
Context: 在问题回答领域,我们的目标是开发能够根据给定信息或知识准确回答问题的模型。在这个任务中,您将被问及一个问题,您需要提供正确的答案。
Question: 美国总统是谁?
ReAct Prompt:
思路追踪(Reasoning Trace):生成一个思路追踪,帮助您思考如何找到问题的答案。
行动(Action):根据您的思考,采取必要的行动来收集信息或与外部资源进行交互。
回答问题:根据收集到的信息或知识提供正确的答案。
通过这个ReAct Prompt,您将被引导生成推理轨迹、采取行动并回答问题。在思路追踪阶段,您可以考虑查找可靠信息的来源,例如维基百科或其他权威来源。在行动阶段,您可以执行与外部资源的交互,例如查询维基百科或其他相关数据库。最后,根据收集到的信息,您可以给出正确的答案,即当前的美国总统。这种ReAct的工作方式有助于模型在推理和行动之间实现有效的交互,从而提供准确的问题回答。
大模型:
思路追踪(Reasoning Trace):
- 美国总统是美国的国家元首和政府首脑。
- 美国总统领导着联邦政府的行政部门,也是美国武装部队的总司令。
- 根据美国宪法第二十二条修正案,美国总统由选举人团选出,任期4年,最多可以连任两届。
- 为了找到当前的美国总统,我需要检查权威来源,看看上一次总统大选谁获胜并就任。
行动(Action):
- 查询在线政府网站、新闻报道或其他可信来源,找到有关最近一次总统大选和就职仪式的信息。
- 搜索政府机构的正式声明,看看上次大选之后谁成为了总统。
回答问题:
乔·拜登是当前的美国总统。他在2020年总统大选中获胜,并于2021年1月20日宣誓就职。
三、实验
3.1 准备
域。我们考虑两个数据集,它们在知识检索和推理方面具有挑战性:(1)HotPotQA(Yang et al., 2018),这是一项需要推理两个或多个维基百科段落的多跳问答基准;(2)FEVER(Thorne et al., 2018),这是一项事实核查基准,其中每个声明被注释为SUPPORTS、REFUTES或NOT ENOUGH INFO,根据是否存在可以验证该声明的维基百科段落。在这项工作中,我们在两个任务上都采用仅问题/声明输入的设置,模型不会得到支持段落的访问,必须依靠其内部知识或通过与外部环境交互检索知识来支持推理。
行动空间。我们设计了一个简单的维基百科网页API,具有三种类型的操作以支持交互式信息检索:(1)search[entity],如果实体存在对应的wiki页面则返回前5句,否则从维基搜索引擎建议前5个相似实体;(2)lookup[string],相当于在浏览器上按Ctrl+F,返回包含该字符串的下一句;(3)finish[answer]结束当前任务并返回答案。我们注意到这个行动空间大部分只能根据确切的段落名称检索一小部分段落,这比目前的词汇或神经检索引擎差很多。目的是模拟人类与维基百科的交互,迫使模型通过明确的语言推理进行检索。
3.2 方法
ReAct提示:对于HotpotQA和Fever,我们从训练集中随机选择6个和3个案例,并手工编写ReAct格式的轨迹作为提示中的少样本实例。如图1(d)所示,每个轨迹包含多个思想-行动-观察步骤(即密集思想),其中任意形式的思想用于各种目的。具体来说,我们使用思想来分解问题(“我需要搜索x,找到y,然后找到z”)、从维基百科观察中提取信息(“x于1844年启动”、“段落没有告诉x”)、进行常识或算术推理(“x不是y,所以z必须是......”)、引导搜索重构(“也许我可以搜索/查找x”)以及综合最终答案(“...所以答案是x”)。参见附录C了解更多详细信息。
基线:我们系统地消融ReAct轨迹以构建多个基线的提示(格式如图1(1a-1c)):(a) 标准提示(Standard),删除ReAct轨迹中的所有思想、行动、观察。(b) 思维链提示(CoT)(Wei et al., 2022),删除行动和观察,作为仅推理基线。我们还构建一个自洽基线(CoT-SC)(Wang et al., 2022a;b),在推理时对21个CoT轨迹进行0.7温度采样,并选择多数出现的答案,发现它能持续提升CoT的性能。(c) 仅行动提示(Act),删除ReAct轨迹中的思想,类似于WebGPT(Nakano et al., 2021)在不同任务和行动空间中与互联网交互回答问题,但WebGPT使用了模仿和强化学习而不是提示。
内外知识的结合:正如将在3.3节详细解释的那样,我们观察到ReAct展示的问题解决过程更加真实可靠,而CoT在推理结构的构建上更准确,但很容易遭受幻想的思维或事实的困扰。因此,我们提出结合使用ReAct和CoT-SC,并让模型决定何时切换到另一种方法,基于以下启发式方法:A) ReAct → CoT-SC:当ReAct在给定步数内未能返回答案时,退回到CoT-SC。我们分别为HotpotQA和FEVER设置7步和5步,因为我们发现更多步骤不会提高ReAct的性能。B) CoT-SC → ReAct:当21个CoT-SC样本中的多数答案出现次数少于n/2时(即内部知识可能无法自信地支持该任务),退回到ReAct。
微调:由于大规模手工标注推理痕迹和行动非常具有挑战性,我们考虑了一种类似于Zelikman等人(2022)的引导方法,使用ReAct(也用于其他基线)生成的3000个正确答案轨迹来微调较小的语言模型(PaLM-8/62B)以解码轨迹(所有思想、行动、观察)。更多详细信息请参阅B.1。
3.3 结果和观察
ReAct始终优于Act:表1显示了在HotpotQA和Fever上使用PaLM-540B作为基模型的不同提示方法的结果。我们注意到ReAct在两个任务上都优于Act,展示了推理引导行动的价值,如图1(1c-d)所示,尤其是综合最终答案时。微调结果也确认了推理痕迹对更明智的行动的价值。
ReAct与CoT的比较:另一方面,ReAct在Fever上胜过CoT(60.9比56.3),但在HotpotQA上略落后于CoT(27.4比29.4)。Fever对于SUPPORTS/REFUTES的声明可能只相差很小(见附录D.1),所以行动以获取准确且最新知识至关重要。为了更好地理解ReAct和CoT在HotpotQA上的行为差异,我们从ReAct和CoT分别随机抽样了50个正确和错误答案的轨迹(因此总共200个示例),并手动标注它们的成功模式和失败模式,如表2所示。一些关键观察如下:
A) 幻想是CoT的一个严重问题,导致其成功模式中的假正率远高于ReAct(14%比6%),也是它的主要失败模式(56%)。相比之下,由于可以访问外部知识库,ReAct的问题解决轨迹更加确定性、更加以事实驱动、更加可信。
B) 虽然在推理、行动和观察步骤之间进行交替改善了ReAct的确定性和可信度,这种结构约束也减少了其在构建推理步骤方面的灵活性,导致其推理错误率高于CoT。我们注意到ReAct有一个特定的频繁错误模式,即模型反复生成之前的思想和行动,我们将其分类为“推理错误”,因为模型无法推理出下一步应该采取的适当行动并跳出循环。
C) 对于ReAct,通过搜索成功检索到信息知识至关重要。无信息搜索占错误案例的23%,会打乱模型的推理并使其难以恢复和重构思维。这可能是事实性和灵活性之间的预期权衡,这就促成了我们提出的策略来结合两种方法。
我们在附录E.1中提供了每个成功模式和失败模式的示例。我们还发现HotpotQA中的一些问题可能包含过时的答案标签,参见图4示例。
ReAct + CoT-SC的性能最佳
表1还显示,在HotpotQA和Fever上的最佳提示方法分别是ReAct → CoT-SC和CoT-SC → ReAct。此外,图2显示了不同方法随CoT-SC样本数量的变化而呈现的性能。虽然ReAct + CoT-SC方法在两个任务上各自最优,但与仅用CoT-SC相比,它们在不同数量样本下的性能均有显著持续的提升,在仅用3-5个样本的情况下就达到了CoT-SC用21个样本的性能。这些结果表明,在推理任务中,适当组合模型内部知识和外部知识对于性能至关重要。
ReAct在微调中表现最佳
图3显示了在HotpotQA上提示/微调四种方法(Standard、CoT、Act、ReAct)的缩放效果。使用PaLM-8/62B提示时,由于从上下文示例中同时学习推理和行动很困难,ReAct表现最差。但是,当只用3000个示例进行微调时,ReAct变成四种方法中最好的,微调后的PaLM-8B甚至优于所有PaLM-62B提示方法,微调后的PaLM-62B又优于所有540B提示方法。相比之下,对Standard或CoT进行微调时,无论是对PaLM-8B还是PaLM-62B,性能都要差很多,因为前者本质上是教模型记忆(可能是虚构的)知识事实,而后者是教模型如何(推理并)行动以从维基百科访问信息,这是一种更具通用性的技能。由于所有提示方法距离特定领域的最优方法还有显著差距(表1),我们认为,使用更多人类编写的数据进行微调可能是发挥ReAct力量的更好方法。
四、决策任务
我们也在两个基于语言的交互式决策制定任务上测试ReAct,即ALFWorld和WebShop,两者都具有复杂的环境,需要代理在长时间区间内行动才能获得稀疏奖励,这就需要推理来有效地行动和探索。
ALFWorld:ALFWorld(Shridhar et al., 2020b)(图1(2))是一个与具身基准ALFRED(Shridhar et al., 2020a)对齐的合成文本游戏。它包含6种任务,其中代理需要通过文本行动(如go to coffeetable 1, take paper 2, use desklamp 1)在模拟家庭环境中导航和交互来完成高级目标(如在台灯下检查纸张)。一个任务实例可以有50多个位置,专家策略需要50多个步骤才能解决,因此对代理提出了计划和跟踪子目标以及系统探索(例如逐个检查所有桌子寻找台灯)的挑战。ALFWorld具体设计了一个挑战,即需要确定日常家居用品可能的位置(例如,台灯更有可能在桌子、架子或衣柜上),这使其非常适合LLM利用其预训练的常识知识。为提示ReAct,我们从每个任务类型的训练集中随机标注了三个轨迹,其中每个轨迹包含用于以下用途的稀疏思维:(1)分解目标,(2)跟踪子目标完成情况,(3)确定下一个子目标,(4)通过常识推理在哪里可以找到对象及对其进行什么操作。我们在附录C中显示了用于ALFWorld的提示。我们在134个未见评估游戏上进行评估,采用特定任务的设置。为了稳健性,我们通过标注的3个轨迹的每种排列构建了6个提示,以测试ReAct和Act的重要性,并提供一种公平且受控的比较。作为基线,我们使用BUTLER(Shridhar et al., 2020b),这是一个在每个任务类型上训练了105个专家轨迹的模仿学习代理。
WebShop:ReAct是否也可以与嘈杂的真实世界语言环境进行交互以进行实际应用?我们研究WebShop(Yao et al., 2022),这是一个拥有118万个真实世界产品和1.2万个人类指令的在线购物网站环境。与ALFWorld不同,Webshop包含各种结构化和非结构化文本(例如从亚马逊抓取的产品标题、描述和选项),并要求代理基于用户指令(例如“我在找有抽屉的床头柜。它应该有镍黑色的定制,价格要低于140美元”)通过网页交互(例如搜索“床头柜抽屉”,选择诸如“颜色:现代镍黑白”或“返回搜索”之类的按钮)来购买产品。这个任务通过对500个测试指令的平均得分(所选产品覆盖的期望属性的百分比的平均值)和成功率(所选产品满足所有要求的剧本百分比)进行评估。我们构建了Act提示,包含搜索、选择产品、选择选项和购买等动作,而ReAct提示除此之外还推理确定要探索的内容、何时购买以及哪些产品选项与指令相关。参见表6中的示例提示,以及模型预测的附录表10。我们与在1012个人类标注轨迹上训练的模仿学习(IL)方法进行比较,以及在额外10587个训练指令上进行训练的模仿学习+强化学习(IL + RL)方法。
结果:ReAct在ALFWorld(表3)和Webshop(表4)上都优于Act。在ALFWorld上,最佳的ReAct试验取得71%的平均成功率,明显优于最佳的Act试验(45%)和BUTLER试验(37%)。事实上,即使是较差的ReAct试验(48%)也胜过这两种方法的最佳试验。而且,与Act相比,ReAct的优势在六次控制试验中都是一致的,相对性能提升范围是33%到90%,平均为62%。从质的角度看,我们发现,没有任何思想的Act无法正确分解目标为较小的子目标,或者在环境状态中迷失方向。比较ReAct和Act的轨迹示例可在附录D.2.1和D.2.2中找到。
在Webshop上,单次Act提示的表现已经与IL和IL+RL方法不相上下。 添加额外的稀疏推理后,ReAct取得显著更好的表现,绝对成功率提高了10%。通过查看示例,我们发现ReAct更有可能通过推理来识别与指令相关的产品和选项,以弥补嘈杂观察和行动之间的差距(例如,对于“适合客厅的节省空间的长凳型凳子”,该项目具有“39x18x18英寸”和“蓝色”选项,看起来可以购买”)。但是,现有的方法距离专家人类的表现还很遥远(表4),后者执行了显著更多的产品探索和查询重构,这仍然是提示式方法的挑战。
关于内部推理与外部反馈的价值:到我们所知,ReAct是首个在封闭环系统中将推理和行动相结合的LLM演示,最接近的先前工作可能是Inner Monologue(Huang等人,2022b),其中具身代理的行动是由同名的“内心独白”驱动的。然而,Inner Monologue中的“内心独白”仅限于对环境状态的观察和代理需要完成的内容。相比之下,ReAct中决策制定的推理痕迹是灵活且稀疏的,允许不同的推理类型(见第2节)为不同的任务而诱导。
为了展示ReAct与IM之间的差异,并突出内部推理与简单外部反馈的重要性,我们进行了消融实验,使用由IM风格的密集外部反馈组成的思维模式。如表3所示,ReAct明显优于IM样式提示(整体成功率71比53),在六项任务中五项上都具有一致的优势。从质的角度看,我们观察到,由于缺乏高级目标分解,ReAct-IM经常在识别子目标完成时以及确定下一个子目标时出错。此外,许多ReAct-IM轨迹在确定ALFWorld环境中的可能位置时也较弱,因为缺乏常识推理。ReAct范式可以解决这两个缺点。关于ReAct-IM的更多详细信息请参阅B.2。ReAct-IM的示例提示可在附录C.4中找到,示例轨迹在附录D.2.3中。
五、相关工作
用于推理的语言模型
也许使用LLM进行推理最著名的工作是Chain-of-Thought(CoT)(Wei et al., 2022),它揭示了LLM形成自己的“思考过程”以解决问题的能力。自此之后进行了几项后续工作,包括用于解决复杂任务的由少到多提示(Zhou et al., 2022)、零样本CoT(Kojima et al., 2022)和自洽推理(Wang et al., 2022a)。最近,(Madaan & Yazdanbakhsh, 2022) 系统地研究了CoT的形式化和结构,并观察到符号、模式和文本的存在对CoT的有效性至关重要。其他工作也将推理扩展到了比简单提示更复杂的推理架构。例如,Selection-Inference(Creswell et al., 2022) 将推理过程分为“选择”和“推理”两步。STaR(Zelikman et al., 2022) 通过在模型自身生成的正确论证上进行微调来引导推理过程。Faithful reasoning(Creswell & Shanahan, 2022) 将多步推理分解为三步,每步由专用的LM执行。类似Scratchpad(Nye et al., 2021)等方法通过在中间计算步骤上微调LM也展示了在多步计算问题上的改进。与这些方法相比,ReAct不仅进行隔离的固定推理,还将模型的行动及相应的观察整合为一致的输入流,以便模型进行更准确的推理并解决推理之外的任务(例如交互式决策制定)。
用于决策制定的语言模型
强大的LLM能力使它们能够执行语言生成之外的任务,利用LLM作为决策制定的策略模型正在变得越来越流行,特别是在交互式环境中。WebGPT(Nakano et al., 2021)使用LM与网页浏览器进行交互、浏览网页并从复杂问题的网页中推断答案。与ReAct相比,WebGPT没有明确建模思考和推理过程,而是依靠昂贵的人类反馈进行强化学习。在对话建模中,像BlenderBot (Shuster et al., 2022b) 和Sparrow(Glaese et al., 2022)等聊天机器人以及SimpleTOD(Hosseini-Asl et al., 2020)等面向任务的对话系统也训练LM决定何时调用API。与ReAct不同,它们也没有明确考虑推理过程,而是依靠昂贵的数据集和人类反馈收集来学习策略。相比之下,ReAct以更经济的方式学习策略,因为决策过程只需要推理过程的语言描述。
LLM也越来越多地被用于交互式和具身环境中的规划和决策制定。也许与ReAct最相关的分别是SayCan(Ahn et al., 2022)和Inner Monologue(Huang et al., 2022b),它们使用LLM进行机器人行动规划和决策制定。在SayCan中,提示LLM直接预测机器人可以采取的可能动作,然后由建立在视觉环境上的禀赋模型对其进行重新排序以进行最终预测。Inner Monologue通过添加同名的“内心独白”进一步改进了性能,它被实现为来自环境的注入反馈。到我们所知,Inner Monologue是首个展示这种封闭环系统的工作,ReAct在此基础上建立。但是,我们认为Inner Monologue并不真正包括内部思想——这在第4节有阐述。我们还注意到,将语言作为语义丰富的输入引入交互式决策过程中已在其他设置下被证明是成功的(Abramson et al., 2020; Karamcheti et al., 2021; Huang et al., 2022a; Li et al., 2022)。LLM的进步也启发了通用智能体的发展,如Reed et al. (2022)。
六、结论
我们提出了ReAct - 一种简单且有效的方法,可以在大型语言模型中协同推理和行动。通过对问答、事实核验和交互式决策制定任务的多样化实验,我们展示了ReAct带来的性能提升和可解释的决策过程。尽管我们的方法很简单,但复杂任务与大型行动空间需要更多的演示才能学好,这很容易超出上下文学习的输入长度限制。我们在HotpotQA上探索了微调方法,初步结果很有希望,但从更多高质量的人类标注中学习仍将是关键所在以进一步改进性能。将ReAct扩展到多任务训练并与互补范式(如强化学习)相结合可能会产生更强大的代理,这可以进一步释放LLM的潜力,应用于更多应用。
ACKNOWLEDGMENTS
我们感谢来自Google Brain团队和普林斯顿NLP小组的许多人的支持和反馈。这项工作部分由国家科学基金会根据2107048号拨款支持。本文中表达的任何意见、发现和结论或建议均为作者自己的,不一定反映国家科学基金会的观点。
七、论文的创新点
1. 提出了ReAct,一种新的提示范式,可以在语言模型中协同推理和行动。ReAct与以往仅进行推理或行动的方法不同,实现了两者的有效结合。
2. 在四个不同的任务中评价了ReAct:问答、事实验证、文本游戏和网页导航。展示了ReAct在少样本学习下的优势,并讨论了推理对行动任务以及行动对推理任务的帮助。
3. 通过与知识库交互,ReAct可以获得外部知识来纠正推理中的错误,提高准确性。与仅利用内部知识的推理系统相比,这是一大创新。
4. ReAct生成了可解释和可信的推理-行动轨迹,使人类可以检查推理过程并对模型行为进行控制。这大大提高了模型的可解释性和可靠性。
5. 初步探索了ReAct提示和微调的组合,表明额外的数据可能会进一步提升ReAct的学习能力。这为未来的研究指明了方向。
6. 概念上简单但高效,在不同类型和难度的任务上都表现优异。展示了语言模型内在推理和行动能力的积极发挥空间。
7. 为语言模型服务的交互式环境设计,以及灵活的推理-行动轨迹 annotation,为类似研究提供了范例。
总体而言,这篇论文探索了语言模型新的应用范式,取得了多个方面的创新,为继续拓展大模型的理解和决策能力提供了启发。
八、论文的不足之处
1. 方法仍然依赖于人工设计的提示,无法自主学习。提示的质量直接影响模型性能,扩展性有限。
2. 试验任务较为理想化,与真实复杂环境还有一定差距。语言交互的动作空间简化,对推理和行动支持有限。
3. 分析主要停留在性能比较,对工作原理缺乏深入探究。难以定量分析不同组成部分的贡献。
4. 尝试了微调,但数据集规模仍小,效果有限。大规模高质量数据集的获取仍是瓶颈。
5. 模型可解释性分析较为主观和定性。对推理过程监督和控制机制不够系统。
6. 试验任务局限在语言领域,没有涉及多模态环境。推广能力有待验证。
7. 评价指标简单,与真实应用目标的匹配度有待提高。
8. 方法描述存在一定模糊不清之处,重复试验可能有难度。
9. 对社会影响等道德风险缺乏讨论。应更多考虑应用负面影响。
总体来说,本文工作有一定的局限性,是对语言模型能力初步探索的尝试。要实现实际应用,还需要进一步的研究来克服这些不足。
九、论文提出的ReAct方法落地实际应用的步骤
1. 确定实际任务的目标,比如客户服务对话中提供符合用户需求的推荐。
2. 构建该任务的交互环境,定义行动空间(如提问、搜索商品等)和观察空间。
3. 收集一些人类案例,标注推理和行动轨迹作为示教样本。
4. 使用示教样本提示语言模型,生成推理-行动策略。
5. 在交互环境中测试语言模型,分析错误案例,修改提示样本。
6. 收集更多标注数据,使用增量学习的方式不断完善模型。
7. 部署语言模型与环境接口,允许在线交互使用。
8. 监控用户反馈,收集错误案例修正模型。也可提供用户修改推理过程的接口。
9. 评估实际效果,如推荐命中率、用户满意度等指标。持续优化迭代。
10. 扩展任务场景,重复上述流程,构建更通用的推理-行动模型。
11. 建立标注数据共享平台,为不同领域任务提供丰富示教样本。
通过不断应用实践,结合用户反馈,ReAct方法可以得到持续改进,真正对实际任务产生价值。

