课题八:多 Agent 协作与通信协议
状态: Layer 1 认知层 — 调研完成 ✅ (2026-05-30) 优先级: P1 — 多 Agent 是 Agent 能力扩展的必然方向,MCP/A2A 等协议正在快速标准化
问题定义
GenericAgent 目前是单 Agent 架构(~3K 行,9 个原子工具),无多 Agent 支持和统一通信协议层。interview-app 需要多 Agent 协作(出题→作答→评估→反馈),但存在以下核心矛盾:
- 协作模式未知 — 主从/对等/流水线/树形,哪种适合 interview-app?
- 通信协议未定 — MCP 已成熟,A2A 尚未稳定,如何选择?
- 延迟挑战 — 多 Agent 引入额外通信延迟,如何控制在可接受范围?
- 容错空白 — 子 Agent 失效如何影响整体,如何恢复?
调研结论
1. 协作模式:主从编排(Orchestrator Pattern)
对比五大协作模式后,interview-app 的主线流程(出题→作答→评估→反馈)天然匹配主从编排:
| 场景 | 推荐模式 | 理由 |
|---|---|---|
| 面试题生成 | 主从编排 | 先拆知识点→出题→组合 |
| 多维度反馈 | 广播并行 | 多个 Agent 独立评估取综合 |
| 学习路径推荐 | 树形分解 | 知识点层级结构天然吻合 |
| 实时对话面试 | 对等协商+主从 | 面试官 Agent + 评估 Agent |
2. 通信协议:先 MCP 后 A2A
MCP(Model Context Protocol)— 推荐立即接入:
- 成熟 v1.0+,Python SDK 完善
- 9 个原子工具直接封装为 MCP Server,迁移成本低
- Agent↔工具通信标准化,立即可得价值
A2A(Agent-to-Agent)— 观望待稳定:
- Google 标准,目前仍预发布/beta
- 适用于 Agent↔Agent 编排,与 MCP 互补而非竞争
- 待 v1.0+ 后再评估接入
短期策略: 自研轻量消息队列(Redis Pub/Sub 或内存通道)实现 Agent 间通信
🆕 2026-06-08 补充视角:多模型 Ensemble 作为 Agent 协作的降维映射
Compound AI 插件提案中的③ 多模型层(voting/chain/debate) 引出一种新的协作视角:
单 Agent 内部的多模型推理,可以视为多 Agent 协作在模型层面的降维特例。
| 课题八多 Agent 协作 | Compound AI 多模型层对应 |
|---|---|
| 广播并行(多个 Agent 独立处理) | Voting:多个模型独立推理后聚合 |
| 主从编排(Orchestrator-Worker) | Chain:模型 A 输出传递给模型 B 处理 |
| 对等协商 | Debate:模型间相互审视、批判、修正 |
| 通信协议(A2A/MCP) | 模型间通过结构化中间结果交互 |
这并不意味着多模型 Ensemble 可以替代多 Agent 协作——两个层面解决不同粒度的问题。但它提供了一个轻量级实验床:
- 在投入 Agent 级 A2A 协议之前,先在模型层面验证协作模式(voting/chain/debate)
- 被证明有效的协作模式可以作为 Agent 级通信协议的设计蓝本
- 同一个 Router 层未来可以同时路由到”模型”或”Agent”两个层面
详见 Compound AI 插件设计(待创建)。
3. 延迟预算
| 场景 | 最大接受延迟 | 目标延迟 | 超时阈值 |
|---|---|---|---|
| 实时面试对话 | 2s | <500ms | 5s |
| 出题生成 | 5s | <2s | 15s |
| 评估打分 | 3s | <1s | 10s |
| 学习路径规划 | 10s | <5s | 30s |
优化方向: Worker 并行化、投机执行、结果缓存、优雅降级
4. 容错策略
四层超时体系: L1 工具超时(1s)→L2 Agent 超时(3s)→L3 任务超时(5s)→L4 会话超时(30s)
核心模式:
- 降级链 — 主路径失败→简化流程→纯工具执行
- 熔断器 — 连续失败→拒绝分配→冷却重试
- 背压 — Worker 积压时通知上游降速
演进路线
Phase 1 (当前可做):
GenericAgent → MCP Client → 工具封装为 MCP Server
Phase 2 (近期):
引入 Orchestrator Agent + Specialist Agent
简单消息队列通信
Phase 3 (中期):
接入 A2A (待稳定 v1.0+)
引入 Agent Card 注册中心
Phase 4 (远期):
树形编排 + 对等协商
完整容错/背压/熔断
推荐分工
Orchestrator Agent → 出题Agent → 评估Agent → 反馈Agent → 知识Agent
│ │ │ │ │
└───────────────┴─── MCP 工具层 ────────┴───────────┘
关键决策
| # | 决策 | 推荐 | 理由 |
|---|---|---|---|
| 1 | 是否接入 MCP | ✅ 是 | 成熟稳定,工具封装即可 |
| 2 | 是否接入 A2A | ⏳ 观望 | 等 v1.0+ |
| 3 | Agent 间通信 | 自研轻量协议 | 当前 3-5 Agent,消息队列足够 |
| 4 | 协作模式 | 主从编排 | interview-app 天然分步 |
| 5 | Agent 拆分粒度 | 按功能域 | 出题/评估/反馈各一 |
| 6 | 容错策略 | 先重试+降级 | 熔断背压过于复杂 |
关联课题
- agent-harness-engineering — MCP 工具通信协议在 Harness 层落地
- agent-safety-boundary — 跨 Agent 权限传播是安全边界的一部分
- agent-memory-system — 多 Agent 需要共享记忆系统
- agent-evaluation-framework — 多 Agent 系统的评估更复杂
- agent-explainability-debugging — 分布式追踪依赖上下文透传
- agent-task-planning — 复杂任务规划是 Orchestrator 的核心能力
- agent-protocols — A2A / MCP 的技术标准选型直接影响协作方案的实现路径
经典理论映射
行动者网络理论(ANT)(Latour, 2005)认为非人行动者(技术、制度、文本)与人类一样是网络中的”行动元”(actant)。这为多 Agent 协作提供了一个不同于”工具”的社会学定位:Agent 不是被动的执行工具,而是网络中具备能动性的行动节点。这意味着:
- Agent 之间的通信协议不仅是技术标准,也是社会性契约——定义了各行动元之间的权力关系
- 一个 Agent 的”故障”不只是技术问题,而是网络中一个行动元的缺席,需要其他行动元重新配置来补偿
- MCP/A2A 等协议的社会学意义是”让非人行动者获得标准化接口”,与 HTTP 让人类信息全球流动是同一类事件
参考资料
- Anthropic MCP 规范: https://modelcontextprotocol.io/
- Google A2A 规范: https://github.com/google/A2A
- AutoGen: https://github.com/microsoft/autogen
- CrewAI: https://docs.crewai.com/
- OpenAI Swarm: https://github.com/openai/swarm
- LangGraph: https://langchain-ai.github.io/langraph/
- ruvnet/ruflo: https://github.com/ruvnet/ruflo
- TauricResearch/TradingAgents: https://github.com/TauricResearch/TradingAgents
- GenericAgent: https://github.com/lsdefine/GenericAgent