在早期的大语言模型(LLM)应用中,提示工程(Prompt Engineering)是连接用户意图与模型输出的核心手段。然而,纯提示驱动的方案在多步推理、工具调用和动态环境交互中常显不足。ReAct框架(Reasoning+Acting)应运而生,通过将链式推理(Reasoning) 与环境行动(Acting) 结合,构建出能主动思考、决策并执行复杂任务的智能体(Agent)。
一、ReAct论文
ReAct来自于ICLR 2023年发表的论文:REACT: SYNERGIZING REASONING AND ACTING INLANGUAGE MODELS。
论文解读参考博客: 《REACT: SYNERGIZING REASONING AND ACTING INLANGUAGE MODELS》论文阅读
该文献提出了一个名为ReAct的新方法,旨在将推理和行动在LLMs中结合起来,以解决复杂的语言理解和决策任务。传统的语言模型在处理推理任务时(如CoT)通常是静态的,依赖于模型内部的知识,容易产生幻觉和错误传播。而现有的行动生成模型(如WebGPT)则缺乏推理能力,无法动态调整计划或处理异常情况。ReAct通过交替生成推理轨迹和任务相关行动,使得模型能够在推理过程中动态调整计划,并通过与外部环境(如Wikipedia)交互获取额外信息,从而提升任务的解决能力和可解释性。

图1:(1)四种提示方法的比较,(a)标准提示,(b)链式思维(CoT,仅推理),(c)仅行动,(d)ReAct(推理+行动),用于解决HotpotQA问题。(2)(a)仅行动和(b)ReAct提示用于解决ALFWorld游戏的比较。在这两个领域中,我们在提示中省略了上下文示例,仅展示了模型生成的任务解决轨迹(行动、思维)和环境反馈(观察)。
在这项工作中,我们提出了ReAct,一种将推理和行动与语言模型结合以解决多样化语言推理和决策任务的通用范式(图1)。ReAct提示LLMs以交替的方式生成与任务相关的语言推理轨迹和行动,这使得模型能够进行动态推理,以创建、维护和调整高层次行动计划(推理以行动),同时与外部环境(如Wikipedia)交互,将额外信息纳入推理(行动以推理)。
二、ReAct工作原理
ReAct 智能体在一个思考→行动→观察的循环中运行,直到它找到解决方案或最终答案为止。

这类似于人类解决问题的方式:我们思考要做什么,执行一个行动(比如:查找某件事或进行计算), 观察结果,然后将其纳入我们的下一个思考中。
ReAct 框架使用提示词工程来强制执行这种结构化的方法,交替大模型的思考和行动/观察。
2.1 核心模块
(1)推理(Reasoning)模块
- 动态思考链(Chain-of-Thought):Agent在每一步生成自然语言推理逻辑,解释当前决策原因(如:“用户需要查天气,需先获取位置信息”)。
- 错误回溯机制:当行动失败时,Agent能分析原因并调整策略(如:“API返回错误,可能是参数格式问题,重试前需校验输入”)。
(2)行动(Acting)模块
- 工具集成(Tool Calling):调用外部AP

最低0.47元/天 解锁文章
1499

被折叠的 条评论
为什么被折叠?



