架构演进:单体到分布式多 Agent

6.1 单体 Agent 的天花板

Single Agent Monolith 的三大瓶颈:

问题 描述 影响
Scaling Friction 无法单独优化”数据库逻辑”而不混淆”UI 逻辑” 搜索空间过大 → 幻觉参数、错误工具
Contextual Overload 巨大系统提示 + 复杂工具 schema + 对话历史 模型工作内存溢出
Single Point of Failure 一个工具 bug → 整个 Agent 崩溃 无隔离机制

6.2 Internal Specialization(内部专业化)

逻辑划分 sub-agent,但共享运行时

┌─────────────────────────────────────────────────────────────┐
│  内部专业化优势:                                            │
│  ─────────────────                                          │
│  ① 减少搜索空间:限制 sub-agent 工具集                      │
│     → DB agent 只用查询工具 → 降低工具调用错误              │
│                                                              │
│  ② 缓解注意力稀释:专注单一域提示                           │
│     → 更尖锐的推理                                          │
│                                                              │
│  ③ 优化上下文负载:Orchestrator 路由任务                    │
│     → sub-agent 保持高信噪比上下文                          │
├─────────────────────────────────────────────────────────────┤
│  限制:                                                      │
│  ─────                                                       │
│  仍在同一进程内                                              │
│  不跨网络边界                                                │
│  无法利用官方维护的 Agent                                    │
└─────────────────────────────────────────────────────────────┘

6.3 Distributed Multi-Agent(分布式多 Agent)

关键转变:利用第三方平台提供的官方 Agent

维度 自建 Agent 使用官方 Agent
维护责任 开发者全责 → 需跟踪上游 API 变化 平台负责 → 自动更新
域专业知识 开发者需学习每个域 平台专家团队深耕
可靠性和性能 开发者需持续测试 平台保障
开发者焦点 分散在维护 + 创新 专注核心价值

示例

Google Agent → Python/Go/Java (ADK)
Salesforce Agent → LangChain
Workday Agent → Bespoke framework

无 A2A:自定义集成 → 维护税吞噬项目
有 A2A:标准通信 → Orchestrator 专注高层编排

6.4 架构决策树

问:是否需要多 Agent?
├─ 任务复杂度 > 单 Agent 能力?
│  ├─ 是 → 考虑专业化
│  │  ├─ 是否跨网络边界?
│  │  │  ├─ 是 → A2A(分布式)
│  │  │  ├─ 否 → Internal Specialization
│  │  ├─ 是否可用官方 Agent?
│  │  │  ├─ 是 → 优先使用(避免维护税)
│  │  │  ├─ 否 → 自建(记录维护成本)
│  ├─ 否 → 单 Agent + MCP Tools