ReAct 框架与规划能力

ReAct(Reasoning + Acting)是目前最主流的 Agent 推理模式,由 Yao et al. (2022) 提出。核心思想:将**推理(Thought)行动(Action)**交替进行,让 Agent 像人一样”边想边做”。

ReAct 核心思想

将**推理(Thought)行动(Action)**交替进行:


graph LR

    T1["Thought: 分析当前情况,决定下一步"] --> A1["Action: 选择并执行一个工具"]

    A1 --> O1["Observation: 获取工具返回的结果"]

    O1 --> T2["Thought: 分析结果,判断是否需要继续"]

    T2 -->|继续循环| A1

    T2 -->|完成| DONE[完成任务]

ReAct 示例

 
问题:北京和上海哪个城市人口更多?
 
Thought 1: 我需要查找两个城市的人口数据
 
Action 1: search("北京 2024 人口")
 
Observation 1: 北京常住人口约2185万
 
Thought 2: 获得了北京的数据,现在查上海
 
Action 2: search("上海 2024 人口")
 
Observation 2: 上海常住人口约2487万
 
Thought 3: 两个数据都有了,可以比较了
 
Answer: 上海人口(约2487万)多于北京(约2185万)
 

ReAct vs 其他模式

模式说明优缺点
ReAct推理+行动交替灵活,但可能循环
CoT only只推理不行动无法获取外部信息
Act only (Tool use)只行动不推理缺乏规划能力
Plan & Execute先规划再执行适合复杂任务,但不够灵活

Planning 规划能力

简单任务:ReAct 逐步规划

对于简单任务,每一步动态决策即可。

复杂任务:分层规划


graph TD

    Plan["Plan: 将大任务分解为子任务"] --> ST1[Sub-task 1]

    Plan --> ST2[Sub-task 2]

    Plan --> ST3[Sub-task 3]

    ST1 --> E1[Execute] --> R1[Result 1]

    ST2 --> E2[Execute] --> R2[Result 2]

    ST3 --> E3[Execute] --> R3[Result 3]

    R1 --> Synth[Synthesize: 综合子任务结果]

    R2 --> Synth

    R3 --> Synth

规划策略

策略说明适用场景
递归分解将任务不断拆分为更小的子任务复杂多步任务
任务图构建有向无环图 (DAG),明确依赖关系并行可执行的任务
动态重规划根据执行结果调整后续计划不确定性高的任务

▶ 对应实操:24-Human-in-the-loop:人工介入兜底与敏感操作审批机制

▶ 对应实操:15-Agent架构与工具调用

口诀

A:ReAct 边想边动手,

思考行动交替走;

复杂任务分多层,

递归图 DAG 动态谋。

速记卡(面试闪卡)

Q1:一句话讲清「ReAct 框架与规划能力」到底是什么?

A:ReAct 把”先想再动”交替循环,让 Agent 像人一样边推理边调用工具。

Q2:一、ReAct 核心:Thought 与 Action 交替 —— 怎么理解?

A:像做饭时边看菜谱边动手:先想”下一步该放盐”(Thought),再去拿盐(Action),看了结果再想——思考和行动循环推进。英文:Reason + Act。

Q3:二、ReAct vs 其他模式:灵活但有循环风险 —— 怎么理解?

A:像四种工作风格:只想不动(CoT)拿不到外部信息;只动不想(Act-only)没规划;先计划再执行(Plan&Execute)稳但僵;ReAct 灵活却可能绕圈。英文:Chain-of-Thought / Plan-and-Execute。

Q4:三、简单任务:ReAct 逐步动态决策 —— 怎么理解?

A:像走迷宫边走边看:每步根据当前情况决定下一动作,无需提前排好全部路线,适合短平快的小任务。英文:Step-by-step Reasoning。

Q5:四、复杂任务:分层规划与三种策略 —— 怎么理解?

A:像项目经理拆大活:把大任务递归拆成子任务,用 DAG 图标注依赖并行跑,执行中还能动态重规划。英文:Hierarchical Planning / DAG。

Q6:核心速记主线有哪些?

  • 核心循环:Thought → Action → Observation → 再 Thought

  • 对比:CoT 只推理、Act-only 只行动、Plan&Execute 先规划

  • 防循环:最大步数 + 重复检测 + 终止条件

  • 复杂规划:递归分解 / 任务图 DAG / 动态重规划

口诀

A:ReAct 边想边动手,

思考行动交替走;

复杂任务分多层,

递归图谋动态谋。

相关链接


快速问答

问题参考答案
ReAct 模式的核心思想?将推理(Thought)和行动(Action)交替进行。每步先思考再执行,根据执行结果继续思考,直到完成任务
如何解决 Agent 的循环问题?① 设置最大步数限制 ② 检测重复动作 ③ 使用 LangGraph 的状态机控制 ④ 加入终止条件判断
多 Agent 协作的挑战是什么?① 通信开销 ② 角色分工 ③ 冲突解决 ④ 全局一致性 ⑤ 成本控制

相关链接