ReAct

Reason + Act,推理 + 行动循环范式,构建自主智能体的核心模式

简介

ReAct 是 “Reasoning + Acting” 的缩写,是一种让大模型先思考再行动的范式。它模拟人类解决问题的过程:先推理分析问题,然后采取行动,观察行动结果,再进行新一轮推理,循环往复直到解决问题。

核心循环流程

思考(Reason)→ 行动(Act)→ 观察(Observe)→ 重新思考 → ...

1. 思考阶段

  • 分析当前问题状态
  • 回顾历史行动和结果
  • 决定下一步应该做什么
  • 解释为什么选择这个行动

2. 行动阶段

  • 调用工具或执行操作
  • 可能包括:搜索、计算、文件读写、API 调用等
  • 记录行动参数和预期结果

3. 观察阶段

  • 获取行动的实际输出
  • 评估结果是否符合预期
  • 发现新的信息或问题

为什么 ReAct 重要

解决大模型的固有局限

问题ReAct 的解决方案
幻觉问题通过工具调用获取真实信息,而非凭空生成
知识截止可以搜索最新信息,不受训练数据截止日期限制
复杂推理分步推理,逐步逼近答案,而非一步到位
可解释性每一步都有思考过程,用户可以理解和验证

相比其他模式的优势

模式特点ReAct 优势
纯生成直接输出答案更准确,可验证
思维链 (CoT)只推理不行动可以实际操作,获取外部信息
工具调用只行动不推理有明确的推理过程,行动更合理

典型应用场景

1. 自主编程 Agent

  • Cursor、Cline 等 AI IDE 的核心模式
  • 理解需求 → 生成代码 → 测试运行 → 修复 Bug → 循环
  • 可以独立完成完整的开发任务

2. 智能问答系统

  • 复杂问题分解
  • 多步搜索验证
  • 交叉检查信息准确性

3. 自动化办公

  • 理解用户指令
  • 操作 Excel、Word 等软件
  • 多步骤完成复杂办公任务

实用信息

设计 ReAct 系统的关键要素

  1. 工具集设计:定义清晰、原子化的工具接口
  2. Prompt 工程:精心设计思考引导模板
  3. 状态管理:完整记录每一步的思考、行动、观察
  4. 终止条件:明确何时停止循环,输出最终答案
  5. 错误处理:行动失败时的重试和回退策略

常见的 Prompt 模板

你可以使用以下工具:[工具列表]

请按照以下格式回答:
思考:[你的推理过程]
行动:[工具名称]
输入:[工具参数]

收到工具结果后,继续:
观察:[工具输出]
思考:[基于结果的新推理]
行动:[下一步行动或最终答案]

与其他技术的关系

  • 思维链 CoT:ReAct = CoT + 工具执行 + 观察反馈
  • Function Call:大模型原生函数调用是 ReAct 的行动层实现
  • MCP 协议:标准化的工具调用协议,增强 ReAct 的工具生态
  • Agent 工作流:更复杂的多 Agent 编排,ReAct 是基础单元

相关页面