ReAct:Synergizing Reasoning and Acting in Language Models
背景
最近的研究结果暗示了在自主系统中结合语言推理与交互决策的可能性。
- 一方面,经过适当Prompt的大型语言模型(LLMs)已经展示了在算术、常识和符号推理任务中通过多步推理推导问题答案的新兴能力。然而,这种“思维链(CoT)”推理是一个静态的黑箱,因为模型依赖其内部表示生成思维,并未与外部世界建立联系,这限制了其进行反应性推理或更新知识的能力。这可能导致诸如事实幻觉和推理过程中的错误传播等问题
- 另一方面,近期的研究探索了利用预训练语言模型在交互环境中进行规划和行动的可能性 。然而,这些方法并未利用语言模型进行高层次目标的抽象推理,也未维护一个工作记忆以支持行动。
上图表示4种提示方法的比较。(1a)表示普通方法,(1b)表示CoT,即只有Reason。(1c)表示仅行动,(1d)表示ReACT,即Reason+Act
上图表示基于AlfWorld解决方案的Act和ReAct方法比较。(2a)表示只有行动,(2b)表示ReAct
研究目的、动机
如何以协同的方式结合推理与行动,以及这种结合是否能带来相较于单独推理或行动的系统性优势。
成果
- 作者提出了ReAct,这是一种将推理和行动与语言模型相结合的一般范式,用于解决不同的语言推理和决策务。 提示LLMs以交错方式生成与任务相关的语言推理跟踪和动作,这允许模型执行动态推理以创建、维护和调整高级行动计划(Reason to Act),同时还与外部环境(例如维基百科)交互以将其他信息纳入推理(Act to Reason)。
- 在问答、事实验证、基于文本的游戏和网页导航进行评测,证明了提出方法的有效性,与精心设计的CoT相竞争。总体上最好的方法是ReAct和CoT的组合,允许在推理过程中同时使用内部知识和外部获得的信息。
收获
- ReAct思想简述:
思考:涉及对下一个行动进行推理。在这一步需要评估当前情况并考虑可能的行动方案。
行动:基于思考的结果,决定采取什么行动。
观察:执行行动后,需要观察并收集反馈。对行动结果进行评估,它可能影响或改变下一轮思考的方向。
While(目标未完成):Thought;Action;Observation
- 对于ReAct来说,采取行动检索准确和最新的知识至关重要
- ReAct+CoT结合效果会更好一些
- 存在的问题。尽管ReAct可以提高模型的可信度,但这种结构约束也降低了其制定推理步骤的灵活性,导致推理错误率高于 CoT。 且ReAct具有一种常见错误模式,会重复生成之前的想法和行动,作者将其归类为 “推理错误” 的一部分,因为模型未能推理出正确的下一步行动并跳出循环。
- 此外作者对这四种方法在Prompt和微调(基于3000样本点对模型做了微调)上进行了测试,表明ReAct更适合微调后的场景。可能是前者本质上是教模型记住(可能是幻觉的)知识事实,而后者教模型如何(推理和)行动以访问维基百科的信息,这是一种更通用的知识推理技能。
举例四种方式的Prompt案例
- normal
Question: 哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Answer: 摩根·弗里曼Question:《肖申克的救赎》的导演是谁?Answer:弗兰克·德拉邦特Question:摩根·弗里曼在《绿色奇迹》中扮演了什么角色?Answer:他饰演了角色“艾利斯·波伊德·瑞德”。Question:《绿色奇迹》是哪一年上映的?Answer: 1999年
- Act
Question: 哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Action 1:查询关于《肖申克的救赎》的文档。Observation 1: 《肖申克的救赎》是一部1994年的电影,由弗兰克·德拉邦特执导,主演包括蒂姆·罗宾斯和摩根·弗里曼。Action 2:查询弗兰克·德拉邦特的其他电影。Observation 2: 弗兰克·德拉邦特还执导了《绿色奇迹》,这部电影于1999年上映,主演包括汤姆·汉克斯和摩根·弗里曼。Action 3:确认摩根·弗里曼是否同时出演了这两部电影。Observation 3:是的,摩根·弗里曼在这两部电影中都有出演。Final Answer:摩根·弗里曼
- CoT
Question:哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Thought:首先,我需要找到《肖申克的救赎》的主演名单,并确认导演是弗兰克·德拉邦特。Answer: 主演包括蒂姆·罗宾斯和摩根·弗里曼,导演是弗兰克·德拉邦特。Question:弗兰克·德拉邦特还执导了哪些电影?Thought:我需要查找弗兰克·德拉邦特的其他作品,并检查是否有相同的演员出演。Answer:弗兰克·德拉邦特还执导了《绿色奇迹》,主演包括汤姆·汉克斯和摩根·弗里曼。Question:是否有演员同时出演了《肖申克的救赎》和《绿色奇迹》?Thought:根据以上信息,摩根·弗里曼在这两部电影中都有出演。Answer: 摩根·弗里曼
- ReAct
Question:哪位演员出演了《肖申克的救赎》,并且还出演了另一部由弗兰克·德拉邦特执导的电影?Thought 1:我需要先找到《肖申克的救赎》的主演名单和导演信息。Action 1:查询关于《肖申克的救赎》的文档。Observation 1:《肖申克的救赎》是一部1994年的电影,由弗兰克·德拉邦特执导,主演包括蒂姆·罗宾斯和摩根·弗里曼。Thought 2:接下来,我需要查找弗兰克·德拉邦特的其他电影,并确认是否有相同的演员出演。Action 2:查询弗兰克·德拉邦特的其他电影。Observation 2:弗兰克·德拉邦特还执导了《绿色奇迹》,这部电影于1999年上映,主演包括汤姆·汉克斯和摩根·弗里曼。Thought 3 : 现在我可以确认,摩根·弗里曼同时出演了《肖申克的救赎》和《绿色奇迹》。Final Answer : 摩根·弗里曼