Skip to content

06 — 多智能体协作(Multi-Agent) ​

多智能体协作是让多个承担不同任务的 Agent 通过调用、消息、共享状态或产物共同完成目标。每个 Agent 可以维护自己的任务上下文、工具集和执行循环;它们可以使用同一个模型,也可以使用不同模型。系统还需要决定任务由谁执行、结果交给谁,以及何时算完成。

例如,研究 Agent 需要多次查资料、核对来源,写作 Agent 使用核实后的材料组织报告,审查 Agent 再对照要求检查遗漏。任务之间交付的是证据、草稿和审查意见。增加这几种角色之后,系统也多出了交接和验收环节;角色名称本身不会保证报告更准确。

单 Agent、工作流和多 Agent 怎样区分 ​

先分别看节点内部的执行方式和节点之间的控制方式:

组织方式谁决定下一步典型过程
单 Agent 使用多个工具同一个 Agent 根据工具结果继续选择动作查询文档、读取详情、计算、回答
固定工作流程序按预设依赖和条件调度节点提取资料后写草稿,校验通过才交付
主管委派子 Agent主管选择子任务与执行者;子 Agent 在任务范围内推进分派调查、接收结果、检查缺口并追加任务
Agent 间控制权交接当前 Agent 请求交接,运行时将后续输入交给接收者服务台转给工单 Agent,由后者继续追问并处理

固定工作流可以包含多个 Agent 节点。例如外层固定执行“研究→写作”,研究节点内部仍可自主选择搜索工具。因此,判断结构时既要看节点内部有没有执行循环,也要看节点之间的调度是否预先确定。几个固定模型调用不一定需要实现多个自主 Agent。

拆分能带来什么,又增加了什么 ​

上下文可以按任务隔离。 研究 Agent 阅读大量原始材料,主 Agent 只接收证据与结论,有机会减少无关内容对后续步骤的干扰。代价是交接可能丢失条件和来源,需要提供可回查的原文位置。上下文隔离也不等于权限隔离,工具和数据权限仍由应用限制。

独立任务可以并行。 多个调查分支分别推进时,总等待时间可能缩短,但最终仍要等必要分支完成并汇总。存在依赖的步骤无法靠增加 Agent 数量消除等待;简单的批量查询通常用工具并发就能完成。

职责可以分别配置和检查。 不同任务可使用不同工具、模型和验收要求。收益需要通过测试确认,同时统计主管调用、重复检索、审查返工及传递上下文的开销。多 Agent 既不保证更便宜,也没有固定的成本倍数。

对于工具少、上下文能有效管理、步骤明确的任务,可以先建立单 Agent 或固定工作流基线。只有出现了可明确分开的工作,并且拆分能够改善质量、耗时或隔离要求时,再比较多 Agent 方案。

三组专题 ​

分组要解决的问题
编排与协作模式谁分派任务,哪些步骤并行,依赖怎样安排,何时交接控制权,结果如何审查
通信、状态与产物Agent 之间传什么,共享数据如何更新,多人修改同一产物怎样合并
运行与互操作子任务失败后怎样继续,如何核算质量与成本,怎样接入独立部署的 Agent

从任务需求选择结构 ​

任务需求优先阅读
子任务数量和类型要根据请求确定主管与子 Agent
多项独立工作同时执行,最后汇总并行协作
步骤有明确先后顺序和依赖流水线与任务依赖图
专业 Agent 需要接管后续对话路由与 Handoff
已有草稿或候选方案,需要核查与修订审查、辩论与结果裁决
多个参与者围绕共同记录持续补充信息共享状态与黑板协作
对方是独立部署、内部实现不可见的 AgentA2A 协议

这些结构可以组合。主管可以并行委派多个调查任务,再按固定步骤调用写作与审查;远程子任务也可以通过 A2A 接入。组合时要明确每个任务的负责人、交付要求、可用预算,以及失败由哪一层处理。

具体框架用法见 LangGraph 和 Agent SDK。本章解释协作机制,多 Agent 协作应用将这些机制放进综合项目。

持续学习,持续实践。