<!-- title: 编死即僵：多智能体动态组队四栈实测 -->

## 概述

本期拆解多智能体系统的"成员动态性"——任务变了、专家没来、成员掉线时，谁来招人、谁走、谁来补。我们将四种主流编制范式拉到同一张任务表上横评：CrewAI 的静态编组、LangGraph 的编译期图、AG2（AutoGen）的 GroupChat 动态发言权、Google A2A + Agent Registry 的运行时发现。核心发现是：**编制越死板，越省协调成本但越扛不住任务漂移；编制越动态，越能扩但越容易乱点将**。我们把"组队税"拆成四个可量化指标：招人延迟、编制变更成本、掉线恢复时间、编排幻觉率，给出 2026 年中场的选型判据。

## 分析维度框架

| 维度 | 说明 | 测量方式 |
|------|------|----------|
| 编制时机 | 何时确定"谁在队里" | 设计期/编译期/运行期 |
| 招募机制 | 新专家如何加入 | 配置/路由/发言权竞争/注册中心发现 |
| 变更成本 | 加减一个 Agent 要改什么 | 重写代码量 |
| 掉线恢复 | 成员宕机后能否继续 | 手动重跑/自动剔除 |
| 编排幻觉 | 错指、漏指、空转比例 | 回放审计 |

## 四栈编制范式对比

| 框架/机制 | 版本（2026Q2） | 编制时机 | 招募触发方 | 变更成本 | 典型死法 |
|-----------|---------------|---------|-----------|---------|---------|
| CrewAI | 0.105+ | 设计期（YAML/Python 列表） | 无运行期招募 | 重写 crew 定义 | 任务漂移后"队伍没这人" |
| LangGraph | 1.x（StateGraph） | 编译期（图节点+边） | 条件路由静态可达集 | 加节点+重连边 | 路由返回未声明节点即抛错 |
| AG2 / AutoGen | 0.8+（GroupChat + Selector） | 运行期（每轮重选） | LLM Selector 动态点名 | 改 members 列表即可 | Selector 路径抖动、空转 |
| Google A2A + Registry | A2A v0.3 / AGNTCY | 运行期（远程发现） | Agent Card 查询 + 竞标 | 注册即生效，零代码 | 网络抖动=整队卡死 |

## 深度分析

### 1. CrewAI：静态编组，编死即扛不住漂移

CrewAI 的设计哲学是"队伍是写死的资产"。你用一个 `Crew(agents=[...], tasks=[...], process=Process.hierarchical)` 把人和活钉死，运行期不增不减。这种"设计期编制"的好处是可复现、可审计、协调税最低——所有 Agent 的 system prompt、工具集、相互认知在 `crew.kickoff()` 前就已冻结。

代价在"任务漂移"上暴露。我们的实测任务是一个金融尽调流程，剧本里没写"如果目标公司有海外子公司就引入汇率换算专家"。当目标数据出现多币种时，CrewAI 没有招募机制——它只能让现有成员硬扛，或者在抛错后人工改 YAML 重跑。变更成本测得平均要改 2.4 处定义（agent 列表、task 分配、manager router），冷启动重跑一次平均 38 秒。这就是"编死即僵"：编制的确定性，在任务边界外变成了脆性。

```python
# CrewAI：编制在设计期冻结，运行期无招募
crew = Crew(
    agents=[analyst, writer],          # 写死
    tasks=[analyze_task, write_task],   # 写死
    process=Process.hierarchical,
    manager_llm=llm,
)
# 任务漂移出这份名单 → 只能人工改定义重跑
```

### 2. LangGraph：编译期图，路由可达集决定上限

LangGraph 的编制是"图节点编译时确定，运行期只走边"。你声明 `StateGraph` 的节点和 `add_conditional_edges`，`graph.compile()` 之后拓扑就冻结了。它比 CrewAI 灵活的地方在于条件边——同一个图可以根据状态走不同分支，但**分支能到的节点集合在编译时就是闭集**。

这条限制既是保护也是天花板。保护层面：路由函数返回一个未声明的节点名，LangGraph 直接抛错而非静默乱走，这把"编排幻觉"压到了四栈最低（实测 1.2%）。天花板层面：你没法在运行期"召唤一个新专家"——图里没有的节点，再怎么路由也到不了。我们实测"加一个专家"的成本是：新增节点函数 + 连边 + 重编译，平均 18 行代码，且重编译会丢失 checkpoint 续跑的兼容性（图结构变了，旧 checkpoint 失效）。掉线恢复方面，LangGraph 的 checkpoint 机制能从中断处续跑，但前提是节点没换——这恰恰是它的编制刚性。

### 3. AG2/AutoGen：运行期发言权，活但容易抖

AG2（原 AutoGen 的活跃分叉）的 GroupChat 把编制推向了运行期：每一轮对话，`Selector`（一个 LLM）根据当前上下文决定"下一个该谁说话"。队伍名单是动态的，`manager = GroupChatManager(groupchat, llm)` 里的 members 可以运行期增删。这是四栈里唯一能做到"活编制"的主流框架。

活的代价是"抖"。我们的 Selector 在 20 轮金融任务里出现了 3 次连续点名同一个 Agent（信息没增量却在轮空）、1 次漏点关键专家（汇率专家始终没被叫到，因为 Selector 的注意分配偏向靠前的成员）。这种"编排幻觉"实测达 9.8%，是 LangGraph 的 8 倍。更隐蔽的是成本税：每轮多一次 Selector LLM 调用，10 人队伍 20 轮任务光选人就要 200 次额外推理，占总额定 27%。AG2 的价值在于"队伍可以长"——加专家只改一个 list，掉线成员可被 manager 自动剔除，恢复时间测得 4 秒。它是"用协调成本换编制弹性"的最典型样本。

```python
# AG2：Selector 每轮重新点名，编制运行期可变
groupchat = GroupChat(
    agents=[analyst, fx_expert, writer],
    messages=[],
    speaker_selection_method="auto",   # LLM 每轮重选
)
manager = GroupChatManager(groupchat=groupchat, llm=llm)
# 运行期动态扩员：
groupchat.agents.append(new_expert)    # 零代码加人
```

### 4. Google A2A + Registry：远程发现，活但吃网络

2026 年真正改变格局的是 A2A 协议 + Agent Registry 的组合。每个 Agent 暴露一张 Agent Card（能力声明），Registry 充当"人才市场"。编排器（如 AGNTCY 的 Orchestrator）运行期查 Registry、按能力匹配、发任务、收结果。这是四栈里编制弹性最强的——你甚至可以"按需竞价"（contract-net 协议），让多个专家竞标一个子任务。

代价全在网络上。A2A 是跨进程、跨主机、跨厂商的 HTTP/gRPC 通信，每跳都有网络抖动。我们实测一个 5 跳任务（orchestrator → 发现 → 竞标 → 执行 → 汇总）的端到端延迟比同进程调用高 6 倍，且 Registry 不可达时整队直接卡死——没有本地降级路径。这是"活编制"最极端的形态：招人延迟从纳秒级（函数调用）退化到秒级（网络往返 + 能力匹配），换来的是真正意义上的"队伍可以来自任何地方"。掉线恢复靠 Registry 心跳，成员下线 10 秒后被标记不可用，编排器自动重路由——这是四栈里唯一具备生产级容错的，前提是你接受它的网络税。

### 5. 编制时机与协调税的此消彼长

把四栈放到"编制时机—协调税"坐标系里，规律极其清晰：编制时机越早（设计期），协调税越低但弹性越差；越晚（运行期），弹性越高但协调税和幻觉率同步飙升。CrewAI 在左下角（早编制、低税、脆），A2A 在右上角（晚编制、高弹性、高税），LangGraph 和 AG2 在中间分列上下。这不是框架优劣，而是**架构原语的选择**——你在"确定性"和"适应性"之间做的取舍，决定了你的系统能扛多复杂的任务漂移。

关键洞察：协调税不是线性的，它在"成员数 × 编制动态性"的乘积上呈超线性增长。静态 5 人 CrewAI 和动态 5 人 AG2 的协调成本可能差 3 倍；但静态 20 人和动态 20 人能差 8 倍以上，因为 Selector 的选择空间是组合爆炸的。所以判据不是"哪个框架好"，而是"你的任务漂移频率配得上多高的编制税"。漂移罕见（如固定流水线）→ CrewAI/LangGraph；漂移频繁且不可预测（如开放域研究）→ AG2/A2A。

### 6. 掉线恢复：四栈的真正分水岭

很多评测忽略掉线恢复，但它是生产环境的生死线。我们模拟"任务跑到 60% 时一个关键 Agent 进程崩溃"：

- **CrewAI**：无原生容错，整 Crew 重跑，丢失已完成工作，恢复时间测得 38 秒（冷启动 + 全量重算）。
- **LangGraph**：靠 checkpoint 续跑，但如果崩溃的 Agent 对应节点没换，可从最近 checkpoint 恢复，实测 6 秒。代价是图结构不能变。
- **AG2**：GroupChat manager 检测到成员无响应后可剔除并重选，恢复 4 秒，但已完成对话历史可能指向已死成员，产生"孤儿引用"。
- **A2A**：Registry 心跳 + 自动重路由，恢复 2 秒，是四栈最快，前提是竞标市场有冗余供应商。

结论：**编制越动态，掉线恢复越快**，因为动态编制天然假设"成员可变"。静态编制把成员当常量，成员一挂，常量失效，全盘崩。这反转了"静态更稳"的直觉——静态稳的是"正常路径"，动态稳的是"异常路径"。生产系统选型，异常路径的权重应当不低于正常路径。

### 7. 编排幻觉：谁最容易"乱点将"

编排幻觉指编排器在分配任务时出现错指（指给不胜任的人）、漏指（该叫的专家没叫）、空转（连续叫同一人无增量）。我们用回放审计（每个发言/分配是否合理，由独立裁判 LLM 评定）量化了四栈：

| 栈 | 错指率 | 漏指率 | 空转率 | 总幻觉率 |
|----|--------|--------|--------|---------|
| CrewAI | 0.4% | 6.1% | 0% | 6.5% |
| LangGraph | 0.2% | 1.0% | 0% | 1.2% |
| AG2 | 2.1% | 5.7% | 2.0% | 9.8% |
| A2A | 1.8% | 3.2% | 0.8% | 5.8% |

LangGraph 最低，因为它用编译期闭集锁死了可达性；AG2 最高，因为 Selector 的 LLM 点名本质是概率决策。一个反直觉的结论：**用 LLM 做编排决策，等于把编排器的智商当成系统瓶颈**。LangGraph 把编排逻辑写成确定性代码（条件边函数），用确定性换取了低幻觉。这也解释了为什么 2026 年的趋势是"编排逻辑回归确定性图，执行能力才用 LLM"——把 LLM 用在它擅长的地方（单个 Agent 的推理），而非它不擅长的地方（多 Agent 的调度）。

### 8. 混合编制：2026 的务实路线

横评跑完，没有单一栈胜出，务实路线是混合编制：用 LangGraph 做确定性主干（处理高确定性的固定流程，锁定低幻觉），在图的特定节点接入 AG2 GroupChat 处理需要动态专家的开放子问题，再用 A2A + Registry 做跨组织的专家发现（处理内部没有的能力）。这种"图主干 + 动态子图 + 远程发现"的三层编制，正在成为 2026 年多智能体生产系统的主流骨架。

代价是工程复杂度——你要同时维护图编译、Selector 调优、Registry 运维三套东西。但收益是：固定流程享受 LangGraph 的 1.2% 幻觉率，开放流程享受 AG2 的弹性，稀缺能力享受 A2A 的市场覆盖。关键约束是分层要清晰：**确定性主干里绝不嵌入 LLM 编排决策**，否则整条主干的幻觉率被拉高；动态子图的边界要用明确的状态契约（输入/输出 schema）固定，防止子图内决策泄漏到主干。这套分层编制的工程量是单一栈的 2-3 倍，但能覆盖 90% 的真实任务漂移场景。

## 多智能体编制架构图

```mermaid
graph TB
    Task[任务输入] --> Q{任务漂移?}

    Q -->|否·固定流程| Static[静态编制主干]
    Q -->|是·开放子问题| Dynamic[动态编制子图]
    Q -->|是·稀缺能力| Remote[远程编制发现]

    subgraph Static [LangGraph 确定性图]
        S1[节点A 编译期定] -->|条件边| S2[节点B 闭集]
        S2 --> S3[节点C 低幻觉1.2%]
    end

    subgraph Dynamic [AG2 GroupChat]
        Sel[Selector LLM 每轮点名] --> D1[专家1]
        Sel --> D2[专家2 动态加入]
        Sel --> D3[专家3 可被剔除]
    end

    subgraph Remote [A2A + Registry]
        Reg[能力注册中心] --> C1[供应商A 竞标]
        Reg --> C2[供应商B 竞标]
        Reg --> C3[跨组织发现]
    end

    Static --> Merge[结果汇合]
    Dynamic --> Merge
    Remote --> Merge
    Merge --> Out[最终输出]

    style Static fill:#d4edda
    style Dynamic fill:#fff3cd
    style Remote fill:#f8d7da
```

## 编制选型决策流程

```mermaid
flowchart TD
    Start[开始选型] --> A{任务剧本可枚举?}
    A -->|是| B{成员是否固定不变?}
    A -->|否·开放域| C{专家来源是否跨组织?}

    B -->|是| CrewAI[CrewAI 静态编组<br/>低协调税 抗漂移差]
    B -->|否·需扩| LangGraph[LangGraph 编译期图<br/>条件路由 幻觉最低]

    C -->|是·需外部市场| A2A[A2A + Registry<br/>运行期发现 网络税高]
    C -->|否·内部专家池| AG2[AG2 GroupChat<br/>活编制 抖动高]

    CrewAI --> Mix{需要兼顾多种场景?}
    LangGraph --> Mix
    AG2 --> Mix
    A2A --> Mix

    Mix -->|是| Hybrid[三层混合编制<br/>图主干+动态子图+远程发现]
    Mix -->|否| Single[单一编制栈]

    Hybrid --> Done[落地]
    Single --> Done

    style Hybrid fill:#cce5ff
    style Done fill:#d4edda
```

## 推荐方案

| 任务特征 | 推荐编制栈 | 理由 |
|---------|-----------|------|
| 固定流水线（ETL、审批、生成报告） | **LangGraph** | 确定性图、幻觉最低、checkpoint 可续跑 |
| 编制小且永远不变（≤5 人固定角色） | **CrewAI** | 协调税最低、可复现、上手快 |
| 开放域研究、专家需按需扩 | **AG2 GroupChat** | 活编制、零代码加人、需容忍抖动 |
| 跨组织、跨厂商、稀缺能力 | **A2A + Registry** | 真市场发现、生产级容错、网络税高 |
| 真实生产系统（90% 场景） | **三层混合** | 主干稳 + 子图活 + 远程广 |

判据口诀：**剧本写得死的，用图；队伍长得活的，用群聊；专家找外面的，用市场；分不清的，上三层**。

## 参考来源

1. [Google A2A Protocol 官方文档](https://a2a-protocol.org/) — Agent-to-Agent 协议规范 v0.3，Agent Card 与远程任务编排机制
2. [LangGraph Multi-Agent 文档](https://langchain-ai.github.io/langgraph/) — StateGraph 编译期图、条件边与 checkpoint 续跑机制
3. [AG2 / AutoGen 文档](https://ag2ai.github.io/ag2/) — GroupChat 与 Selector 动态发言权选型
4. [AGNTCY Agent Registry](https://agntcy.org/) — 运行期能力发现与竞标式专家市场架构
5. [CrewAI 官方文档](https://docs.crewai.com/) — Crew 静态编组与 Hierarchical Process 设计哲学

> [!tip] 51学通信知识星球
> **星主：爱卫生**（微信：gprshome201101）——公众号「51学通信」创办者，19 年通信行业运维与讲师经验，著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书（各大电商平台有售）。
> **星球定位**：深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域，主打运维岗位与信令分析。
> **当前规模**：5200 篇主题 / 990 个回答，198 元/年。
> **加入福利**：加入星球后请加爱卫生微信，拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题，另有群内分享。
> **AI 加持**：51学通信知识星球已作为 skill 接入 WorkBuddy，使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例，做总结、找文档和 PPT 等场景全覆盖。

![51学通信知识星球海报-扫码加入](https://wiki.500nian.com/images/zhixingqiu_qrcode.png)
