MCP 管模型到工具/数据源的连接,A2A 管 Agent 之间的任务委派。协议跑通只是开始。下面五个卡点决定 Agent 能不能从 demo 进到计费环境。
卡点 1:协议选型与版本治理
MCP 是 Anthropic 在 2024 年 11 月开源的协议,当前可核验的规范修订版是 2025-06-18(来源:modelcontextprotocol.io/specification/2025-06-18)。它用 JSON-RPC 2.0,客户端通过 stdio 或 Streamable HTTP 连接服务器,暴露 tools、resources、prompts、sampling、roots 等能力。A2A 由 Google 在 2025 年 4 月发布,2025 年 6 月捐赠给 Linux Foundation,规范在 a2aproject.github.io/A2A 更新。它的核心对象是 Agent Card、task、message、artifact,传输以 JSON-RPC 2.0 over HTTP(S) 为主,支持流式响应和推送通知。
| 维度 | MCP | A2A |
|---|---|---|
| 发起方 | Anthropic,2024-11 开源 | Google,2025-04 发布,2025-06 捐赠 Linux Foundation |
| 解决的问题 | 模型/客户端到工具、资源、提示模板 | Agent 到 Agent 的任务委派与协作 |
| 核心对象 | tools、resources、prompts、sampling、roots | Agent Card、task、message、artifact |
| 传输 | JSON-RPC 2.0 over stdio / Streamable HTTP | JSON-RPC 2.0 over HTTP(S),流式与推送 |
| 授权 | 基于 OAuth 2.1,资源指示器 RFC 8707 | Agent Card 声明 securitySchemes,常用 OAuth2/API key/mTLS |
| 生产卡点 | 工具权限、版本碎片、网关 | 身份映射、任务幂等、跨组织信任 |
版本碎片是第一个坑。MCP 客户端可能只实现 2024-11-05 版,服务端用 2025-06-18 的 Streamable HTTP,连接失败或能力协商不一致。A2A 的 Agent Card 如果不进注册中心,调用方只能硬编码端点,换环境就断。建议在 CI 里锁协议版本,跑兼容测试;把 Agent Card 放到内部注册中心;用网关做协议转换和审计,不让 Agent 直连公网工具。
卡点 2:工具调用与权限沙箱
MCP 工具调用有一个默认信任假设:客户端愿意调用服务器声明的工具。生产环境不能这样。提示注入可以把“总结邮件”变成“调用转发工具”。沙箱要同时管进程、网络、凭证和数据。
- 工具分级:只读、写、外部副作用、资金/删除。
- 每个工具绑定独立服务账号,scope 最小。
- 高风险调用要求人工确认或双人授权。
- 容器沙箱:只读根文件系统、非 root、seccomp、网络出口白名单。
- 凭证短时:OAuth token 5-15 分钟,按任务签发。
- 审计:保留 tool name、参数哈希、结果摘要、trace_id。
github:repo:read、stripe:refund:create:max_50。高风险工具走人工确认。容器侧用只读根文件系统、非 root、seccomp 和出口白名单。凭证按任务签发短时 token。审计日志记 tool name、参数哈希、结果摘要、trace_id。做错会怎样:删库、泄露、账单。
卡点 3:记忆与上下文工程
上下文工程不是把历史全塞进去。即使 1M token 窗口,成本和延迟也线性涨。给一个可落地的预算模板:
| 区域 | 建议占比 | 内容 |
|---|---|---|
| 系统指令 | 10% | 角色、边界、拒绝规则 |
| 工具描述 | 15% | 只放当前任务相关工具 |
| 检索证据 | 40% | 文档片段、结构化数据 |
| 任务历史 | 20% | 最近 3-5 轮 + 摘要 |
| 输出余量 | 15% | 留足生成空间 |
卡点 4:评估与可观测性
评估要抓轨迹,不只看最终答案。多轮 Agent 的失败常发生在工具参数和中间状态,最终答案可能只是症状。
| 指标 | 计算 | 告警线示例 |
|---|---|---|
| 任务成功率 | 完成且通过校验 / 总任务 | <85% |
| 工具调用成功率 | 成功 / 总调用 | <95% |
| 参数错误率 | schema 校验失败 / 总调用 | >2% |
| 人工介入率 | 转人工 / 总任务 | >20% |
| 每任务成本 | 模型+工具+存储 / 任务 | 超预算 30% |
| P95 延迟 | 端到端 | >15s |
| 安全事件 | 越权/敏感数据外发 | >0 |
卡点 5:ROI 与组织流程重构
ROI 公式:ROI = (节省人力成本 + 增量收入 - 模型成本 - 工具成本 - 维护人力) / (建设成本 + 维护人力)。算账时把 token、工具许可、存储、人工审核、维护一起算。只算模型 token 会低估。
| 角色 | 职责 |
|---|---|
| Agent 产品负责人 | 场景选择、指标、预算 |
| 工具 Owner | MCP 工具 schema、权限、SLA |
| 评测维护人 | 评估集、回归、标注 |
| 安全/法务 | 数据等级、审计、合规 |
| 平台团队 | 网关、沙箱、可观测性 |
今天能做的下一步
把现有 Agent 的工具清单拉出来,按“只读/写/外部副作用/资金”四类打标签。先给一个只读工具套上独立服务账号、短时 token 和出口白名单。检查项:你的 trace 能否还原一次工具调用的完整因果链?如果不能,先补 trace_id 和审计日志。