AI Agent 主流设计模式详解

AI Agent 主流设计模式详解

一份关于 AI Agent 核心设计模式的图文讲解:用一张动态图 + 文字,讲清楚 ReAct、Reflection、Planning、Tool Use、Multi-Agent 这五种被主流框架反复验证的范式,以及它们如何组合与选型。
上图循环演示了下文五种模式的工作流程,配合文字阅读效果最佳。


目录


Agent 的本质

一个 Agent 区别于普通的"单次问答 LLM",在于它能够 自主决定下一步做什么,并在一个循环里反复"思考---行动---观察",而不是一锤子买卖。所谓"设计模式",就是组织这个循环的几种被反复验证有效的套路。

Andrew Ng 把其中最重要的几个总结为 agentic 的四大支柱(反思、工具调用、规划、多智能体),再加上工程上最常落地的 ReAct,基本覆盖了当前主流框架(LangGraph、AutoGen、CrewAI、OpenAI Agents SDK 等)的底层思想。


一、ReAct:推理与行动交织

ReAct 是最基础也最常用的范式,名字来自 Rea soning + Acting。它的循环是:

复制代码
Thought(思考)→ Action(行动/调用工具)→ Observation(观察结果)→ Thought ... → Answer

模型先生成一段"思考",判断现在该干什么;然后产出一个"行动",通常是调用某个工具;工具返回的结果作为"观察"被读回上下文;模型据此再思考下一步。这样一圈圈推进,直到它认为问题已经解决,才输出最终答案。

它的价值在于把"想"和"做"显式分开,让模型每走一步都有依据,也让整个过程可追踪、可调试。绝大多数 ReAct 类的应用,本质就是一个带工具的 while 循环。


二、Reflection:自我反思与迭代

Reflection 引入了一个"评审"角色:

复制代码
Generator(生成草稿)→ Critic(找问题、给改进意见)→ 重写 → 再评审 ... → 最终输出

生成器先产出草稿,评估器(可以是同一个模型换个 prompt,也可以是另一个模型)专门挑毛病、给出具体的改进意见,然后把意见反馈回去重写。如此往复几轮,输出质量逐轮抬升。

它特别适合对正确性、风格、规范要求高的任务,比如写代码后自查 bug、长文写作的润色、生成内容的合规审查。代价是要多花若干轮 token 和时间,所以通常会设一个 最大轮数质量阈值 来收敛。


三、Planning:先规划,再分解执行

面对一个复杂目标,直接让模型一步到位往往不可靠。Planning 模式让 Agent 先当"规划器",把大目标拆成一串有序的子任务,再逐个执行,最后把各步结果汇总:

复制代码
Goal(复杂目标)→ Planner(拆解为子任务)→ [Step 1, Step 2, Step 3 ...] → Aggregate(汇总)

常见变体有 Plan-and-Execute (先一次性出完整计划再执行)和更灵活的 动态重规划(执行中发现偏差就回头改计划)。

这种"分而治之"显著提升了长程任务的成功率,也让失败更容易定位到具体某一步。难点在于计划本身的质量,以及计划赶不上变化时的纠错能力。


四、Tool Use:用外部工具扩展能力边界

LLM 本身不会算精确的数、查不到实时信息、也动不了真实系统。Tool Use(也叫 Function Calling)让模型学会在合适的时机,选择合适的工具,把请求发出去,再把结果拿回来融入推理:

复制代码
LLM ──调用──▶ [ 网络检索 | 数学计算 | 代码执行 | 数据库 | 外部 API ]
    ◀──结果──

它是几乎所有实用 Agent 的地基:ReAct 里的"行动"就是工具调用,规划里的每个子任务执行也多半靠工具完成。关键设计点是 给每个工具清晰的描述,让模型知道它能干什么、何时该用。


五、Multi-Agent:多智能体协作

当一个任务横跨多个领域,单个 Agent 的上下文和角色就会过载。Multi-Agent 把工作拆给多个专精的角色,由一个协调者(Orchestrator)编排任务分配与结果汇总:

复制代码
            ┌────────────── Orchestrator(协调者)──────────────┐
            ▼                      ▼                            ▼
       研究员 / 查资料         程序员 / 写代码               审阅员 / 评审

各 Agent 之间也能直接传递消息协作。它的好处是每个 Agent 职责单一、prompt 更聚焦,且天然支持并行;代价是编排复杂、通信开销大、容易出现"踢皮球"或信息丢失。常见拓扑有 协调者---工人 (Orchestrator-Worker)、流水线 ,以及 群聊式辩论


如何组合与选型

这些模式不是互斥的,真实系统几乎总是叠加使用:

  • Tool Use 是底座
  • ReAct 是把工具串起来的最小循环
  • 在它之上叠 Reflection 提升质量
  • Planning 处理长程任务
  • 任务足够大时再上 Multi-Agent 做分工

一个粗略的选型直觉:

任务特征 推荐模式
简单查询 / 单步操作 Tool Use
需要多步推理 ReAct
对输出质量敏感 ReAct + Reflection
目标复杂、步骤多 Planning(+ Tool Use)
跨领域、需要并行或不同专长 Multi-Agent

核心原则:每加一层,能力上去的同时,延迟、成本和不可控性也都会上升,够用就好。


速查表

模式 一句话 核心循环 主要代价
ReAct 想一步、做一步、看结果 Thought → Action → Observation 步数多时上下文膨胀
Reflection 写完自己挑错再改 Generate → Critic → Refine 多轮 token / 时间
Planning 先拆解再逐个击破 Goal → Plan → Execute → Aggregate 计划质量与纠错
Tool Use 调外部工具补短板 LLM ⇄ Tools 工具设计与可靠性
Multi-Agent 多角色分工协作 Orchestrator ⇄ Workers 编排与通信开销

参考:

~图文均为原创整理,动态图见 agent-patterns.gif。可自由用于学习与分享。~