第 3 章 Agent 架构与多智能体
Agent 与单次 LLM 调用的本质区别是"循环 + 自主性":模型基于环境反馈在多轮中自我驱动,而非沿固定脚本执行。本章先讲单 Agent 的认知闭环与核心模式,再讲多智能体协作与主流框架。
5 单 Agent 架构
5.1 Agent 的认知闭环
一个被广泛接受的框架是四要素闭环:感知(接收指令、工具返回、环境观测)→ 决策/推理(推理与规划下一步)→ 行动(调用工具改变环境或取信息)→ 记忆(跨步骤/会话存取)。Anthropic《Building Effective Agents》给出更工程化的起点:Agent 的基础构件是被检索、工具、记忆三类能力增强的"增强型 LLM"。
5.2 核心模式
ReAct(推理+行动交织)是单 Agent 基石,今天多数"工具调用 Agent"在控制流上都是其变体。Reflexion用语言反思失败并写入记忆(HumanEval 91% pass@1,超当时 GPT-4 基线 80%)。Plan-and-Solve先规划再分步,缓解 Zero-shot-CoT 的"漏步"。Self-Reflection/Critique是"生成→评判→改写"的内循环(对应下文 evaluator-optimizer 模式)。
| 模式 | 核心机制 | 解决的问题 | 需外部反馈 | 典型适用 |
|---|---|---|---|---|
| ReAct | 思考-行动交替循环 | 推理脱离环境、幻觉 | 是(环境观测) | 工具调用、检索问答、交互决策 |
| Reflexion | 失败后口头反思+写记忆 | 无法从试错中学习 | 是(成败信号) | 可多次重试的编码、序列决策 |
| Plan-and-Solve | 先规划全局再分步 | 推理漏步、缺全局观 | 否 | 可预先分解的多步推理 |
| Self-Critique | 生成-评判-修订内循环 | 单次输出质量不足 | 否/可外评 | 写作润色、答案精修、代码 review |
5.3 记忆与规划
短期记忆= 上下文窗口;长期记忆常用向量库 + 检索(RAG 式)。Generative Agents(Park 2023)的"memory stream + 反思 + 检索"按近因/重要性/相关性加权召回,并定期把零散记忆综合为高层反思。MemGPT 借鉴操作系统的分层/虚拟内存,在有限上下文与外部存储间自主分页,突破窗口物理限制。规划谱系:分解、先规划后执行(PS) vs 交错式(ReAct)、搜索式(ToT)、反思驱动的重规划。
5.4 Anthropic《Building Effective Agents》:Workflows vs Agents
核心立场:"最成功的实现往往用简单、可组合的模式,而非复杂框架。"关键区分:Workflows(LLM 与工具按预定义代码路径编排,可预测)vs Agents(LLM 动态自主决定流程与工具)。五种常见模式:
- Prompt chaining:固定子步骤序列,可在中间加程序化"gate"。
- Routing:先分类再分发到专门处理(如简单问题路由到小模型、难题到大模型)。
- Parallelization:Sectioning(拆独立子任务并行)/ Voting(同任务多跑取多样)。
- Orchestrator-workers:中心 LLM 动态拆解任务、分派 worker、再综合(子任务不预先定义)。
- Evaluator-optimizer:一个生成、一个评估反馈,循环迭代。
三条原则:保持简单、保持透明(展示规划步骤)、精心设计 agent-computer interface(ACI)。
6 多智能体与框架
当单 Agent 难以胜任、任务含多角色协作、需多视角辩论、或需"专家分工"分散上下文负担时,多智能体系统(MAS)成为选项;代价是更高复杂度、成本与协调开销,并非默认更优。
6.1 代表性多智能体系统
AutoGen(Microsoft):可对话、可定制 Agent 相互交谈完成任务的通用框架。CAMEL:role-playing + inception prompting 驱动两 Agent 自主协作。MetaGPT:把 SOP 编码进提示、以"流水线"分配产品/架构/工程等角色,抑制级联幻觉。ChatDev:沿瀑布模型用 chat chain + 沟通式去幻觉协作开发软件。Mixture-of-Agents:分层聚合——每层多个 Agent 把上一层全部输出作为辅助再生成;仅用开源模型即在 AlpacaEval 2.0 达 65.1%,超过 GPT-4 Omni 的 57.5%。
6.2 辩论 vs 投票:一场未定论的争议
多智能体辩论(Du et al., 2023,"society of minds")让多个实例多轮辩论收敛共识,提升推理与事实性。但 ICML 2024 的《Should we be going MAD?》给出审慎结论:当前形态的辩论并不可靠地优于 self-consistency / 集成等更简单基线,且对超参更敏感、更难优化。启示:引入"辩论"这类昂贵机制前,先用投票/自一致性作强基线对照、按数据实测收益。(本主题在小模型 Agent 中有进一步的"编排器主导"证据。)
6.3 主流框架对比
许可证以各项目公开仓库为准(截至 2026 年中)。
| 框架 | 出品方 | 编程模型 | 控制粒度 | 适用场景 | 许可 |
|---|---|---|---|---|---|
| LangGraph | LangChain | 显式有状态图(节点/边/状态,支持循环分支) | 极细:可精确编排、HITL、断点续跑 | 可控、可持久化的复杂工作流(生产) | MIT |
| LlamaIndex | LlamaIndex | 以数据/检索为中心的事件驱动 Workflows | 中:围绕 RAG 编排 | 知识密集、RAG over 私有数据 | MIT |
| AutoGen | Microsoft | 对话式多智能体(异步事件架构 v0.4+) | 中:对话/group chat,偏涌现式 | 多智能体协作、代码生成、研究原型 | MIT |
| CrewAI | CrewAI | 角色化团队(Crew=Agents+Tasks)+Flows | 中→细:声明式 + Flows 细控 | 快速搭"角色分工"业务流程 | MIT |
| smolagents | Hugging Face | 极简 code-as-action(直接写并跑 Python) | 粗→中:抽象少、轻量 | 轻量工具 Agent、教学、本地小模型 | Apache-2.0 |
| OpenAI Agents SDK | OpenAI | Agents + Handoffs + Guardrails + Sessions | 中:以"移交"路由,内置追踪 | 生产级多 Agent、OpenAI 生态 | MIT |
选型直觉:要最强可控/可观测 → LangGraph;RAG 为主 → LlamaIndex;对话式多智能体 → AutoGen;声明式角色团队 → CrewAI;极简/本地模型 → smolagents;OpenAI 生态 → Agents SDK。呼应 Anthropic 告诫:先用 API 直接实现,确有必要再上框架。
关键论文 / 资源(已核实)
- ReAct (Yao et al., 2022) 2210.03629 | Reflexion (Shinn et al., 2023) 2303.11366 | Plan-and-Solve (Zhou et al., 2023) 2305.04091
- Generative Agents (Park et al., 2023) 2304.03442 | Voyager (Wang et al., 2023) 2305.16291 | MemGPT (Packer et al., 2023) 2310.08560
- Building Effective Agents (Anthropic) 官方
- AutoGen 2308.08155 | MetaGPT 2308.00352 | CAMEL 2303.17760 | ChatDev 2307.07924
- Mixture-of-Agents 2406.04692 | Multiagent Debate (Du et al., 2023) 2305.14325 | Should we be going MAD? 2311.17371