多Agent协作

资料复核日期:2026-07-22。多 Agent 框架、SDK 与互操作协议仍在快速变化;本库以供应商无关的协作合同、状态机和验证方法为主,版本事实仅作为当日快照。

知识库简介

多 Agent 系统让多个具有不同职责、工具或上下文的 Agent 共同完成任务。它不是“多开几个模型就会更聪明”,而是一个分布式工作系统:任务如何切分、控制权归谁、消息和证据如何传递、失败怎样恢复、何时停止,都必须由运行时明确规定。本库先证明“确实需要多个 Agent”,再学习拓扑、委派、共享状态、冲突控制和可观测性。

在总路线中的位置

本库把 Agent 核心 作为完整课程级硬前置。工作流自动化 的 DAG、重试与补偿知识适合在复杂协作前学习,但只作为推荐顺序;LangChain、CrewAI 或其他框架按项目需要选择,不构成通用前置。若单 Agent 加工具或确定性工作流已经足够,应停留在更简单的方案。

学习目标

  • 用可测量的理由判断是否需要多 Agent,并建立单 Agent 基线。
  • 选择经理式、交接式、流水线、并行、层级或对等拓扑。
  • 把任务写成带输入、输出、身份/授权引用、预算、依赖和验收证据的委派合同。
  • 设计可追踪消息、权威共享状态、版本控制和幂等更新。
  • 处理并发冲突、超时、失败、重试、补偿、取消和人工接管。
  • 评测端到端成功率、协作增益、成本、延迟、恢复和安全边界。

前置知识

  • 已完成 Agent 核心,理解运行循环、状态和终止条件。
  • 理解 Tool Calling 的参数验证与工具权限。
  • 会读写 Python、JSON,并了解超时、重试、幂等和日志的基本含义。

推荐学习顺序

  1. 何时使用多 Agent:先建立“不使用多 Agent”的反例与决策基线。
  2. 角色、拓扑与职责边界:选择控制权结构并避免职责重叠。
  3. 任务分解与委派合同:把模糊协作转成可验收子任务。
  4. 身份、授权与跨边界信任:先把角色、运行主体、委派、审批和收据拆开,避免把编排当成授权。
  5. 消息协议与共享状态:建立唯一事实源、消息关联和状态版本。
  6. 冲突、同步与失败恢复:控制并发写入、重复执行和局部故障。
  7. 预算、停止与人工介入:让协作有硬上限和明确控制权。
  8. 评测、可观测性与安全边界:证明协作增益,而不是只看漂亮对话。
  9. 离线协作模拟项目:运行带依赖、权限、重试、预算和追踪的确定性模拟器。

动手实践或项目入口

进入 离线协作模拟项目。项目使用 Python 3 标准库和合成 JSON 场景,不调用模型或网络;它会输出带状态版本的审计事件,便于验证依赖调度、权限拒绝、有限重试、相同幂等键的结果冲突冻结和停止原因。

掌握标准

  • 面对一个任务,能先给出单 Agent/工作流基线,再说明多 Agent 的可验证收益。
  • 能画出角色、控制权、共享状态、消息方向和人工审批点。
  • 能证明每个子任务只有一个明确所有者,且输入输出与验收条件完整。
  • 能区分角色名、运行主体、委派引用、短期审批和外部 receipt,且不在 Agent 消息中传递长期凭据。
  • 能在重复消息、并发更新、局部失败和预算耗尽时得到确定终态。
  • 能用任务成功率、增量收益、总成本、关键路径延迟和安全违规率比较方案。

与其他知识库的关系

  • Agent 核心提供单 Agent 的循环、状态和授权边界。
  • 工作流自动化提供 DAG、调度、重试和补偿;多 Agent 只是其中一种执行者组织方式。
  • MCP侧重 Agent 如何连接工具与数据;A2A侧重独立 Agent 应用间的发现、任务与工件互操作;二者都不替代本课程的任务所有权与协作设计。
  • 评测体系、运行监控和 AI安全分别承接质量、运行证据与风险治理。

协议版图与观察状态

边界协议/方法2026-07-22 状态本课程怎样使用
Agent ↔ tools/dataMCP稳定 core 与独立扩展并存作为能力接入边界,不替代任务所有权和协作状态
Agent ↔ AgentA2A官方规范页的 latest released specification 为 1.0.0;patch 发布记录不改变协商中的 Major.Minor只在跨进程/组织互操作确有需求时采用,固定 Agent Card、Task/Message/Artifact、身份和版本合同
Agent ↔ user-facing appAG-UI第一方文档描述为事件协议,同时列有 Draft Proposals;采用情况未在本库独立审计仅作为 UI streaming、state、interrupt 与 tool event 的观察项,不作为多 Agent 主线前置

三者解决不同接口,不应因名称相似而混用。AG-UI 官网列出的 integrations 是项目方声明,不等于本库已证明广泛生产采用;若要引入,应先固定事件版本,测试乱序、重复、断线恢复、权限和前端副作用,再决定是否进入稳定课程。

主要参考资料