ReAct Synergizing Reasoning and Acting in Language Models

基础信息

ReAct: Synergizing Reasoning and Acting in Language Models
发布在 ICLR 2023,引用量4581

文章链接:
ReAct: Synergizing Reasoning and Acting in Language Models

一句话总结:将过去工作中关于AI agnet的“推理”和“行动”这两个单独进行研究的板块合二为一,通过他们的交替使用,使得模型表现达到SOTA,同时增强了可解释性和可信度

研究背景动机

在人类解决问题任务的时候,往往会采取推理-行动-反馈-推理-行动的链,这对于完成任务是很有帮助的。那么在ai agent中,是否也可以借鉴这一模式,将“推理”和“行动”相结合,相互交错叠加进行执行。
这里的推理使用llm创建、维护高级计划,行动是与外部环境进行交互(比如维基百科)

过去相关的研究中,CoT的推理过程是静态的,没有对于外部执行的观测,这一点极大地限制了它的推理能力和更新能力,这也就导致了产生幻觉的可能性。另一条研究路线是专注于“行动”的,通过预训练的llm在交互中通过语言先验来预测行动,将多模态结果转化为文字,然后让语言模型生成行为,这一点的思路问题在于没有使用语言模型来推理高级目标,也就不存在工作记忆了,又是一个过于“动态”,只关注实时当前的架构设计了。

所以在这种“推理”和“行动”分家的研究背景下,作者提出将二者相结合,交错进行的新范式,在四个不同的基线中达到SOTA

核心方法

对于一个最基本的可与环境进行交互的agent:
在时间步 $t$ 中,得到的环境观察 $o_t \in O$,然后通过策略 $π(a_t|c_t)$ 采取 $a_t \in A$,其中$ c_t$ 是agent能得到的“上下文”, $ c_t = (o_1, a_1, · · · , o_{t−1}, a_{t−1}, o_t)$

那么 ReAct的思路其实就是将其中的 $A$ 增广到 $A\cup L$,其中 $L$ 是语言空间,代表着llm产生的思考或者是推理。由于是思考或推理,所以并不会对外界环境造成印象,也不会影响反馈,而是会通过 $a_t$ 对当前上下文 $c_t$ 进行推理,生成有用的信息,然后更新上下文 $c_{t+1} = (c_t, \hat{a_t})$ 来进一步推进未来的推理或者行为。

其中的语言空间是由llm生成实现

这样设计有四个特点:

  • prompts 直观且易于设计
  • 通用灵活
  • 表现性,鲁棒性好
  • 人性化,可控

实验和结果

首先使用两个很有挑战性的数据集:HotPotQA、FEVER
允许agent的动作空间有:搜索维基百科、寻找指定字符串的下一句话、结束。这些动作空间的目的是为了模拟人类和维基百科互动,所以性能方面明显弱于神经检索。

指定标准化的提示词
选择的基线有:标准的prompt引导llm、CoT、Act-Only
并且在实验中,有一个ReAct和CoT-SC的回退机制,即当REACT表现不佳的时候,会退回到CoT-SC,实验证明这种回退机制表现更佳

实验证明,REACT表现持续地比Act-Only更佳,但是和CoT的性能比较的时候并不明显,分析案例之后得到的结果是:

  • CoT幻觉问题未能克服
  • 交错推理和动作的设计提高REACT的可信性,但是也约束了推理步骤的灵活性,导致性能不明显
  • 在REACT错误的案例中,说明了信息搜索准确的重要性,也就是说明REACT架构限制了推理步骤的灵活性
    为了平衡灵活性和真实性,所以将提出了回退机制

然后测试了在交互式决策任务ALFWorld和Webshop的表现,在这两个复杂决策任务环境下,REACT的表现均优于ACT-Only

结论和讨论

作者提出一种REACT简单而有效的方法,在多条问答、事实核查和交互式任务上都具有可解释的优越性能(可解释性来自型生成的“思考痕迹 (reasoning traces)” )

对提示示例的依赖但是可能会超过情景学习的输入上下文长度限制
作者提出未来更多高质量人类标注是更一步提升性能的途径
并提出将强化学习等互补范式相结合,可能会产生更加强大的agent

思考和批判

对提示示例的依赖但是上下文长度限制