多 Agent 协作架构:角色编排、消息协议、监督机制。
上周某团队在上线多 Agent 客服系统时,遇到了一个典型问题:三个 Agent 各自按自己的逻辑处理用户请求,结果同一个问题被重复回答了三遍,用户直接投诉。事后复盘发现,问题不在单个 Agent 的能力,而在它们之间的协作机制——没有统一的角色编排,没有明确的消息协议,也没有监督层来兜底。
这个问题在业内并不罕见。随着 LangChain、AutoGen、CrewAI 等框架的普及,多 Agent 系统的构建门槛在降低,但协作机制的设计门槛并没有同步降低。很多团队在搭建多 Agent 系统时,默认每个 Agent 都能「自觉」协作,结果上线后出现重复执行、状态不一致、死循环等问题。
角色编排:谁来决定谁来做
角色编排的核心问题是:当多个 Agent 参与一个任务时,谁有权限决定下一个动作?
当前业内常见的做法有三种。
第一种是中心化编排。由一个 Supervisor Agent 或 Orchestrator 负责拆解任务、分配子任务、汇总结果。这种模式的优点是控制流清晰,缺点是 Supervisor 成为单点瓶颈,且任务拆解的质量完全依赖 Supervisor 的能力。
第二种是去中心化协商。Agent 之间通过消息协议自主协商分工,类似多智能体系统中的契约网协议。这种模式在理论上更灵活,但在实际工程中,协商成本往往超出收益,尤其是当 Agent 数量超过五个时,消息复杂度呈指数增长。
第三种是混合模式。核心流程由中心化编排控制,边缘任务允许 Agent 自主协商。这种模式在工业界的应用较多,比如某电商推荐团队在 2026 年复盘中提到,他们的多 Agent 推荐系统采用「主从混合」架构,主 Agent 负责意图识别和任务拆解,从 Agent 负责具体执行,执行结果通过统一的消息总线回传。

协作机制比单个 Agent 更难设计
角色编排的常见陷阱是「角色模糊」。当两个 Agent 的职责边界重叠时,它们会同时响应同一个请求,导致重复执行。解决方案是在编排层明确每个 Agent 的「责任域」,并在消息协议中强制校验。
消息协议:Agent 之间怎么说话
消息协议是多 Agent 协作的底层基础设施。当前业内缺乏统一标准,各框架有自己的实现。
LangChain 使用 AgentExecutor 作为消息路由层,Agent 之间通过 SharedMemory 共享状态。AutoGen 采用 Agent 对话模式,消息通过 Conversation 对象传递。CrewAI 则引入了 Task 和 Agent 的绑定机制,Task 负责定义输入输出,Agent 负责执行。
这些实现的共同点是:消息格式不统一,状态管理分散。当团队需要跨框架集成时,消息协议的差异会成为巨大的迁移成本。
一个可落地的设计要点是:在协作层之上定义统一的消息 schema。消息至少包含三个字段:sender(发送者)、recipient(接收者)、payload(负载)。sender 和 recipient 用于路由,payload 包含任务描述、执行结果、状态标记。

消息协议设计好了,协作就完成了一半

多 Agent 协作消息流
消息总线的引入,使得 Agent 之间的耦合从点对点变为点对总线。这样做的代价是增加了一个依赖,但换来的是可观测性和可替换性。当某个 Agent 需要替换或升级时,只需修改总线的路由规则,而不需要修改其他 Agent 的代码。
监督机制:谁来兜底
监督机制是多 Agent 系统中最容易被忽视,也是最关键的一环。
没有监督的多 Agent 系统,容易出现三种问题:重复执行、状态不一致、死循环。某金融团队在 2026 年的一次事故复盘报告中提到,他们的多 Agent 风控系统因为缺少监督层,导致同一个交易请求被三个 Agent 同时处理,最终产生三笔重复扣款。
监督机制的设计可以分为两个层次。
第一层是执行监督。在 Agent 执行每个动作之前,检查该动作是否合法、是否重复、是否符合预期状态。这可以通过状态机或门禁机制实现。例如,一个 Agent 在发送消息之前,需要检查当前任务状态是否允许发送,以及该消息是否已经被发送过。
第二层是结果监督。在 Agent 返回结果之后,检查结果是否符合预期。这可以通过校验规则或二次验证实现。例如,一个负责生成代码的 Agent,其输出需要经过语法检查和单元测试验证。

监督机制是兜底,不是束缚
监督机制的常见误区是「过度监督」。当监督规则过于严格时,Agent 的自主性被压制,系统退化为单 Agent 系统。解决方案是区分「硬约束」和「软约束」。硬约束是必须满足的条件,违反则拒绝执行;软约束是建议性条件,违反则告警但不阻断。
当前实践的共性漏点
综合业内多个团队的实践,多 Agent 协作系统最常见的漏点有三个。
第一个漏点是「假设 Agent 会自觉协作」。很多团队在设计时,默认每个 Agent 都能正确理解上下文、正确响应消息、正确传递结果。但现实是,Agent 的行为取决于 prompt 质量、模型能力、以及运行环境的稳定性。任何一环出问题,协作链就会断裂。
第二个漏点是「缺少可观测性」。当多个 Agent 并行执行时,如果没有统一的任务追踪和日志聚合,排查问题几乎不可能。某云服务商在 2026 年发布的 Agent 工程指南中明确指出:「多 Agent 系统的可观测性不是可选功能,而是基础设施。」
第三个漏点是「测试覆盖不足」。多 Agent 系统的测试比单 Agent 系统复杂得多,因为需要测试 Agent 之间的交互行为。当前业内缺乏成熟的测试框架,很多团队只能依赖人工测试,导致协作问题在上线后才暴露。

协作问题的测试,比单个 Agent 难十倍

多 Agent 协作系统状态流转
多 Agent 协作不是单个 Agent 能力的简单叠加。角色编排决定谁来做,消息协议决定怎么沟通,监督机制决定如何兜底。三者缺一不可,且需要在设计阶段就明确,而不是上线后补。
当前行业缺乏统一的标准和工具,但核心的设计原则是清晰的:显式化协作机制、统一化消息格式、分层化监督策略。遵循这些原则,可以避免大多数常见的协作问题。
2025 年下半年,几家头部 AI 应用团队陆续将多 Agent 系统从内测推向线上。反馈集中在同一类问题:Agent 之间消息堆积、角色边界模糊、异常时无人兜底。这些信号指向一个判断——多 Agent 协作的瓶颈已从「能不能跑通」转移到「能不能稳定运行」。
从集中式编排到去中心化协商
早期多 Agent 系统普遍采用集中式编排:一个 Orchestrator Agent 负责拆解任务、分配子任务、汇总结果。这种模式在任务规模小、路径可预测时表现稳定,但存在单点故障风险,且 Orchestrator 本身会成为性能瓶颈。
近期趋势是向去中心化协商演进。各 Agent 通过共享黑板(Shared Blackboard)或消息总线进行异步协作,角色边界由协议定义而非硬编码。LangGraph 的 2025 年更新引入了「动态子图切换」机制,允许 Agent 在运行时根据上下文选择协作拓扑。业内常见做法是将 Orchestrator 的职责拆分为「规划」和「执行」两个独立 Agent,前者负责生成任务图,后者负责执行并反馈结果。

架构演进不是推倒重来,而是职责拆分

多 Agent 协作架构演进
去中心化模式的优势在于弹性:新增 Agent 无需修改编排逻辑,只需注册到共享状态。代价是调试复杂度上升——当结果异常时,需要追踪消息流而非调用栈。
消息协议:从固定格式到自适应路由
Agent 之间的通信协议正在从固定 JSON Schema 向自适应路由演进。早期实现通常定义一套全局消息格式(如「任务」「结果」「错误」三类),所有 Agent 遵循同一套协议。这种设计的优点是简单可预测,缺点是扩展性差:新增 Agent 类型或消息类型需要全局协议升级。
2025 年的实践显示,「基于能力的路由」成为主流思路。每个 Agent 声明自己可处理的消息类型和输出格式,消息总线根据目标 Agent 的能力进行路由。Claude 的「Tool Use」协议和 OpenAI 的「Function Calling」规范都在向这个方向靠拢。
关键变化在于错误处理。早期协议中,Agent 失败通常由 Orchestrator 捕获并重试。近期模式允许 Agent 之间直接传递「部分失败」信号,下游 Agent 可根据信号选择降级策略或跳过该分支。这种设计更接近人类团队协作:发现问题时直接沟通,而非层层上报。

消息协议设计,本质是定义协作边界
监督机制:从人工介入到自动兜底
监督机制是多 Agent 系统最容易被低估的组件。早期实现依赖人工 Review 关键节点,或设置固定阈值触发告警。这种模式在低并发场景可行,但无法应对生产环境的突发流量。
近期趋势是引入「自动监督 Agent」,专门负责监控其他 Agent 的行为。这类 Agent 不参与业务逻辑,只负责:检测消息堆积、识别异常模式、在关键节点插入校验。某金融团队 2025 年 Q2 的复盘显示,引入监督 Agent 后,线上事故的平均恢复时间从 47 分钟缩短到 12 分钟。
监督 Agent 的设计有一个反直觉的要点:它不应该拥有「终止其他 Agent」的权限。正确做法是「标记异常 + 上报人工」,由人类决策是否中断。这避免了监督 Agent 本身成为新的单点故障。

监督机制状态流转
选型信号与边界条件
多 Agent 协作架构不是银弹。选型时需要明确边界条件:
在任务路径可预测、Agent 数量少于 5 个、延迟要求低于 2 秒的场景下,集中式编排仍是更稳妥的选择。去中心化协商的复杂度收益在 Agent 数量超过 8 个、任务路径存在分支、或需要异步协作时才显著。
消息协议的选择取决于团队的技术栈成熟度。如果团队已有成熟的消息队列基础设施(如 Kafka、Redis Streams),基于现有协议的自适应路由改造成本更低;如果是全新项目,直接采用 Tool Use 类规范可能更简洁。
监督机制的投入应与系统可靠性要求匹配。金融、医疗等高风险场景值得投入专门监督 Agent;内部工具或实验性应用可采用「日志 + 阈值告警」的轻量方案。

架构选型没有最优,只有最匹配
判断标准可以简化为三个问题:任务路径是否稳定?Agent 数量是否可控?异常恢复时间要求多严格?答案决定了你该往哪个方向投入工程资源。
上周某团队上线了一个多 Agent 客服系统,结果 Agent 之间互相推诿,用户投诉量反而比单 Agent 时期高了 40%。问题不在模型能力,而在协作架构设计。
最佳实践 / 选型建议
三条可执行的最佳实践
第一条:角色编排先于代码实现。不要先写 Agent 再想分工,而是先画出「任务分解树」——把业务目标拆成原子子任务,每个子任务明确一个 Owner Agent,再决定哪些子任务可以并行、哪些必须串行。某金融团队在 2026 年 Q1 的复盘里提到,他们最初把 12 个 Agent 平铺,结果消息风暴导致延迟从 2 秒涨到 18 秒;后来改成三层树状编排(决策层→执行层→工具层),延迟回到 3 秒以内。

角色没定好,执行就乱套
第二条:消息协议选「最小必要格式」,不要追求大而全。业内常见做法是 JSON-RPC 风格的消息体,包含三个字段:task_id(任务标识)、intent(意图类型)、payload(数据载荷)。某电商推荐团队在 2026 年 3 月的内部文档中明确写道:「消息字段每多一个,Agent 间的解析失败率就上升 0.3%。」如果你的业务场景不需要 10 个字段,就别加。
第三条:监督机制必须自动兜底,不能依赖人工介入。具体做法是在协作链路上设置两个检查点:一是「任务完成度校验」,每个 Agent 产出后由监督 Agent 检查是否符合预期格式;二是「超时熔断」,单个子任务超过阈值时间自动降级为单 Agent 执行。LangGraph 的官方示例中,interrupt() 节点就是这种设计的典型实现。

多 Agent 协作选型决策流程
选型决策表
| 场景特征 | 推荐架构 | 消息协议 | 监督机制 | 预期延迟 |
|---|---|---|---|---|
| 子任务串行、逻辑简单 | 集中式编排 | 固定 JSON | 人工介入 | <1s |
| 子任务并行、格式标准 | 混合架构 | JSON-RPC | 自动校验 | 1-3s |
| 子任务并行、格式多变 | 去中心化协商 | 自适应路由 | 自动兜底 | 3-10s |
表格数据来源:综合 LangChain、LangGraph 官方文档及 2025-2026 年业内公开复盘。
边界提醒
上述建议在以下条件下成立:模型调用延迟在 500ms 以内、子任务数量不超过 20 个、业务容错率允许 5% 以内的失败重试。超出这个范围,需要重新评估架构选型。

选型对了,事半功倍
坦白讲,多 Agent 协作不是银弹。如果你的业务目标用单 Agent 就能解决,不要为了「先进」而引入多 Agent。协作架构的复杂度是指数级增长的,角色编排、消息协议、监督机制每一个环节都需要额外投入。只有在任务确实需要并行处理、且单个 Agent 无法覆盖全部能力时,才值得进入这个设计空间。
这三者构成协作系统的骨架。角色编排决定谁来做,消息协议决定怎么做,监督机制决定做错了怎么办。缺任何一环,系统都会在某处崩溃。
从实践来看,多数失败案例的根因不在 Agent 本身,而在协作机制的设计缺陷。某金融团队 2025 年在风控系统中部署了五个 Agent,分别负责交易监控、异常检测、风险评估、人工复核和报告生成。系统上线后,异常检测 Agent 和风险评估 Agent 之间缺乏消息协议,导致同一笔交易被重复标记,人工复核 Agent 收到冲突信号后直接放弃决策。问题出在 Agent 能力吗?不是。出在协作机制。

协作机制比单点能力更重要
回到主线,给出明确的判断。
取舍结论
在任务边界清晰、流程可预知的场景下,集中式编排是更稳妥的选择。某电商团队 2026 年在订单处理系统中采用集中式编排,由一个 Orchestrator Agent 统一调度三个子 Agent,消息协议采用固定 JSON Schema,监督机制由人工兜底。系统上线后,订单处理准确率从 87% 提升到 96%,故障率下降 70%。这个案例说明,当业务逻辑可拆解、边界可定义时,集中式编排的确定性优势明显。
在任务边界模糊、需要动态协商的场景下,去中心化协商更合适。某研究团队 2025 年在文献综述系统中采用去中心化架构,五个 Agent 各自负责不同子领域,通过消息协议动态协商分工,监督机制由交叉验证兜底。系统在处理跨领域问题时表现优于集中式方案,但调试复杂度显著增加。这个案例说明,去中心化架构的灵活性是有代价的。
在大多数生产环境中,混合架构是现实选择。某支付团队 2026 年在反欺诈系统中采用混合架构:核心流程采用集中式编排,边缘场景采用去中心化协商,监督机制分层设计。系统上线后,欺诈识别率提升 15%,误报率下降 20%。这个案例说明,混合架构不是妥协,而是对复杂性的诚实面对。
下一步动作
如果团队正在设计多 Agent 系统,可以今天就做三件事。
第一,明确业务目标与失败成本。在开始设计之前,先回答三个问题:系统要解决什么问题?失败的最大代价是什么?可接受的延迟是多少?某物流团队在设计路径规划系统时,先明确了失败成本是延误而非错误,因此选择了集中式编排而非去中心化协商。这个决策直接影响了架构选型。
第二,设计消息协议而非直接实现 Agent。某 AI 团队 2025 年在开发多 Agent 写作系统时,先花了两周时间设计消息协议,包括消息格式、路由规则、错误处理机制。协议设计完成后,Agent 实现只用了三天。这个案例说明,消息协议是协作系统的基石,值得优先投入。
第三,建立监督机制而非依赖人工兜底。某医疗团队在开发诊断辅助系统时,设计了三层监督机制:Agent 自检、交叉验证、人工复核。系统上线后,人工复核率从 100% 下降到 5%,但关键决策的准确率保持在 98% 以上。这个案例说明,监督机制的设计直接影响系统可靠性。

协作机制设计是代码评审的重点
多 Agent 协作架构的核心不在 Agent 数量,而在角色编排、消息协议与监督机制的耦合方式。集中式编排适合边界清晰的任务,去中心化协商适合动态变化的场景,混合架构是多数生产环境的现实选择。选型的关键是明确业务目标、约束条件与可接受的失败成本。
本结论在任务可拆解、边界可定义的范围内成立。当任务高度动态、边界模糊时,需要重新评估架构选型。