一、基础控制流模式(Core Agent Patterns)

1. ReAct 模式(Reason + Act)

最经典、也是当前产品里最常见的默认形态:模型在每一轮决定「再想一想」还是「调用某个工具」,把工具返回写进上下文后继续,直到给出最终答复或达到停止条件。

机制(论文与实现中的对应关系):

ReAct:Thought、Action、Observation 形成闭环 Thought Action Observation 下一轮 / 直到结束 OpenAI:多轮对话 + tools;LangChain:create_agent 封装同类循环
ReAct 闭环:观察结果写回上下文,模型再决定下一步。

特点:

适用:问答、检索、API 调用、SQL/代码助手等「边想边查」的任务。

实践提示: LangChain 文档将 create_agent 作为面向生产的 Agent 入口;旧版 LangGraph 预置 create_react_agent 在 v1 迁移中已被替代方向标注,新建项目宜跟官方迁移指南选型。

2. Plan-and-Execute(规划-执行)

把「要做什么」与「怎么做每一步」拆开:Planner 产出可检查的计划(步骤列表、子目标或 TODO),Executor 按序或按需执行,减少模型在每一步重复从零规划的开销。

结构:

规划与执行解耦 Planner Plan ① → ② → ③ 状态可持久化 Executor 可选:失败或新信息时重规划
计划与执行分离;复杂任务常在状态中维护 TODO(如 Deep Agents 场景)。

特点:更稳定、易插人审、易做进度展示;代价是至少多一轮规划调用与更复杂的状态设计。

适用:多步骤编码、数据分析流水线、需向用户展示「任务清单」的长程任务。

实践提示: 官方文档里与「结构化计划」相关的模式常和 状态里的任务列表图节点分工一起出现;需要并行分支、重试与检查点时优先用图编排而非单循环硬写。

3. Reflection / Self-Refine(自反思)

在首轮答案之后增加 Critic(评审/打分/列缺陷)与 Refine(改写),可固定轮次或由停止条件触发。

流程:

自反思:生成、批评、优化 Draft Critic Refine 未达标则再迭代 Out 适合代码/写作;注意 token 成本与「过度润色」
自反思:用独立评审提示或第二个调用扮演 Critic,再收敛到可交付输出。

特点:质量上限更高;成本上升;评审标准设计不好会出现「为改而改」。

4. Multi-Agent(多 Agent 协作)

多个专用 Agent(或同一模型不同系统提示)分担角色,通过消息、共享状态或调度器协同。编排上常用 层级(主从)、(条件边、并行)、或 市场/拍卖式 任务分配(研究向较多)。

典型角色:Planner、Executor、Critic、Tool Agent(专精单一工具域)。

多 Agent:中心协调与专职工人 Orchestrator 或 Lead Agent Executor Critic Tool Agent 结果汇总 / 再决策
多 Agent:先分清「协调者」与「执行者」,再用图或消息总线约束调用关系。

特点:边界清晰、易扩展;调试与观测成本显著上升,需要统一 trace(如 LangSmith)与清晰的消息协议。

实践提示: LangGraph 适合把多节点协作落成可检查、可持久化的图;不要过早多 Agent——多数场景单 Agent + 好工具 + 好评测更划算。

二、如何选型(简表)

模式 优先解决 主要代价
ReAct 灵活工具调用、快速上线 长链错误累积
Plan-Execute 长任务、可展示进度、可重规划 状态与编排复杂度
Reflection 质量敏感输出 延迟与 token
Multi-Agent 角色强分工、子域专精 系统与观测复杂度