从 MCP 到 A2A:AI Agent 生产级落地的 5 个关键卡点

深度分析MCPA2AAI Agent上下文工程可观测性ROI2026-10-07

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) 为主,支持流式响应和推送通知。

维度MCPA2A
发起方Anthropic,2024-11 开源Google,2025-04 发布,2025-06 捐赠 Linux Foundation
解决的问题模型/客户端到工具、资源、提示模板Agent 到 Agent 的任务委派与协作
核心对象tools、resources、prompts、sampling、rootsAgent Card、task、message、artifact
传输JSON-RPC 2.0 over stdio / Streamable HTTPJSON-RPC 2.0 over HTTP(S),流式与推送
授权基于 OAuth 2.1,资源指示器 RFC 8707Agent Card 声明 securitySchemes,常用 OAuth2/API key/mTLS
生产卡点工具权限、版本碎片、网关身份映射、任务幂等、跨组织信任
flowchart LR User[用户/系统] --> AgentA[Agent A] AgentA -->|MCP| Tool[工具/数据库/SaaS] AgentA -->|A2A| AgentB[远程 Agent B] AgentB -->|MCP| ToolB[工具/数据库/SaaS]

版本碎片是第一个坑。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。
MCP 2025-06-18 的授权规范基于 OAuth 2.1,要求使用资源指示器 RFC 8707,避免 token 被错误资源接收(来源:modelcontextprotocol.io/specification/2025-06-18/basic/authorization)。企业侧可以把每个 MCP 工具注册为资源,scope 写成 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%留足生成空间
这是起点,按模型窗口调整。把系统指令和工具定义放前面,用 prompt caching。Anthropic 2025 年公开价:Claude Sonnet 4 输入 $3/百万 token,缓存读取按 0.1 倍输入价计费(来源:docs.anthropic.com/en/docs/build-with-claude/prompt-caching)。OpenAI GPT-4.1 缓存输入 $0.50/百万 token,未缓存 $2.00/百万 token(来源:platform.openai.com/docs/guides/prompt-caching)。缓存 TTL 短,内容一变就失效,适合稳定系统提示和工具 schema。记忆分四层:工作记忆放当前任务,情景记忆放对话摘要,语义记忆放向量/图检索,程序记忆放 SOP。A2A 任务历史用 artifact 存,不重复塞进下一轮 prompt。

卡点 4:评估与可观测性

评估要抓轨迹,不只看最终答案。多轮 Agent 的失败常发生在工具参数和中间状态,最终答案可能只是症状。

指标计算告警线示例
任务成功率完成且通过校验 / 总任务<85%
工具调用成功率成功 / 总调用<95%
参数错误率schema 校验失败 / 总调用>2%
人工介入率转人工 / 总任务>20%
每任务成本模型+工具+存储 / 任务超预算 30%
P95 延迟端到端>15s
安全事件越权/敏感数据外发>0
告警线按业务定。轨迹埋点可参考 OpenTelemetry GenAI 语义约定(来源:opentelemetry.io/docs/specs/semconv/gen-ai/),span 名用 `gen_ai.*`。工具侧可选 LangFuse、Arize Phoenix、LangSmith、Braintrust。评估集从生产采样 200 条,含正常、边界、对抗。每次改 prompt 或工具 schema 跑回归。限制:非确定性,同一输入可能不同轨迹,要按任务成功和工具调用准确率分别看。

卡点 5:ROI 与组织流程重构

ROI 公式:ROI = (节省人力成本 + 增量收入 - 模型成本 - 工具成本 - 维护人力) / (建设成本 + 维护人力)。算账时把 token、工具许可、存储、人工审核、维护一起算。只算模型 token 会低估。

角色职责
Agent 产品负责人场景选择、指标、预算
工具 OwnerMCP 工具 schema、权限、SLA
评测维护人评估集、回归、标注
安全/法务数据等级、审计、合规
平台团队网关、沙箱、可观测性
流程侧:prompt 和工具变更走灰度;设 SLO,看 P95 延迟和成功率;明确 on-call,Agent 故障谁接。组织不改,Agent 就停在演示。

今天能做的下一步

把现有 Agent 的工具清单拉出来,按“只读/写/外部副作用/资金”四类打标签。先给一个只读工具套上独立服务账号、短时 token 和出口白名单。检查项:你的 trace 能否还原一次工具调用的完整因果链?如果不能,先补 trace_id 和审计日志。

PREMIUM

需要完整版教程?

包含详细步骤、视频演示、提示词模板和可下载资料包。微信支付即时获取。

购买完整版 ¥29.90