ReAct推理与行动框架 | AI生成和翻译
问题: 什么是 ReAct(在 LLM 和提示工程的语境下)?
回答:
ReAct — 推理 + 行动
ReAct 是一种针对大型语言模型(LLM)的提示框架/范式,由 Yao 等人在 2022 年的一篇论文中提出。该名称是 “推理”(Reasoning) 和 “行动”(Acting) 的合成词。
ReAct 解决的核心问题
在 ReAct 之前,LLM 的两种能力是分别研究的:
- 推理 — 例如思维链(Chain-of-Thought,CoT)提示,模型逐步思考
- 行动 — 例如使用工具、搜索网络、调用 API
思维链和行动计划生成此前主要作为独立主题进行研究。ReAct 探索让 LLM 以交错方式同时生成推理轨迹和特定任务行动,从而使两者之间的协同作用更强。
ReAct 的工作原理
ReAct 通过在 LLM 内部交织推理与行动来运作,使模型不仅能思考任务,还能根据结论以动态、响应式的方式采取行动。它提示 LLM 生成推理轨迹(本质上是思路或逻辑步骤的序列),并与特定任务行动交错结合。模型推理每个步骤的含义,执行必要的行动,观察结果,然后根据新信息调整其推理。
循环过程如下:
思考 → 行动 → 观察 → 思考 → 行动 → ...
具体示例(来自 HuggingFace):
思考:我需要查找巴黎的最新天气。
行动:Search["巴黎天气"]
观察:气温 18°C,多云。
思考:既然我知道了天气……
行动:Finish["巴黎气温 18°C,多云。"]
为什么 ReAct 比单独使用 CoT 更好
CoT 提示缺乏对外部世界的访问或更新知识的能力,可能导致事实幻觉和错误传播等问题。ReAct 允许系统进行动态推理,同时还能与知识库或环境等外部来源交互,从而产生更可靠、更符合事实的响应。
简而言之:
- CoT = 深度思考,但仅依赖内部知识 → 可能产生幻觉
- ReAct = 思考 + 从工具中获取真实信息 → 更接地气、更准确
为什么它今天很重要(与 AI 智能体的联系)
ReAct 智能体并非实现基于规则或预定义的工作流,而是依靠 LLM 的推理能力,根据新信息或先前步骤的结果动态调整其方法。
这就是为什么 ReAct 被视为现代 AI 智能体 系统的基础——LangChain、AutoGPT 和 Claude 的工具使用等功能在底层都实现了 ReAct 风格的循环。
对比:CoT vs ToT vs ReAct
| 技术 | 功能 | 局限性 |
|---|---|---|
| CoT | 单次通过逐步推理 | 无外部工具,可能产生幻觉 |
| ToT(思维树) | 探索多个推理分支 | 复杂,现实世界使用有限 |
| ReAct | 在循环中推理 + 现实世界工具行动 | 当前的智能体黄金标准 |
简而言之: ReAct 是现代 AI 助手能够搜索网络、运行代码、查询数据库,同时还能“思考”下一步该做什么的原因——所有这些都在一个统一的循环中完成。
参考资料: