Ch15 Agent通信协议修订于 二〇二六年七月二日

15.6 和传统 API 调用的区别

不只是”换了个名字”

你可能会问:这和传统的 API 调用有什么区别?我之前用 requests.post(url, data) 调 API,不也是”连接工具”吗?MCP 和 A2A 是不是只是把 REST API 换了个包装?

答案是否定的。MCP 和 A2A 在设计哲学、调用者、交互模式三个层面与传统 API 有本质区别。

概念:API 是给人用的,协议是给 AI 用的

传统 API(如 REST API)的设计前提是:调用者是一个人类程序员写的确定性代码。程序员阅读文档、理解接口、硬编码调用逻辑——“先调 A 接口拿用户 ID,再用 ID 调 B 接口拿订单列表”。每一步都是程序员事先写死的。

MCP 和 A2A 的设计前提完全不同:调用者是一个 AI 模型,它在运行时自主决定调用什么、何时调用、用什么参数。AI 不是”执行预定的调用序列”,而是”根据当前上下文动态决策”。

打个比方:传统 API 像是固定路线的公交车——路线、站点都是事先定好的。MCP/A2A 像是给 AI 配了一辆出租车——AI 自己决定去哪、走哪条路、中途要不要停。

教学:五个关键维度的对比

1. 谁在调用

传统 APIMCP / A2A
调用者人类程序员写代码调用AI 模型自主决定调用
决策方式编译前确定调用逻辑运行时根据上下文动态选择

传统方式下,你写 if user_asks_weather: call_weather_api()。MCP 方式下,AI 自己判断用户是不是在问天气,然后自己决定调用天气工具。这个区别看起来小,但它是从”人在回路中”到”人在回路外”的跨越。

2. 工具发现

传统 APIMCP / A2A
发现机制程序员手动查找 API 文档AI 自动发现可用的工具/Agent
接口定义每个 API 格式不同,需要阅读文档统一标准,AI 自动理解

传统 API 需要你阅读文档、理解参数、处理认证。MCP Server 启动时自动向 AI 注册自己的能力和参数格式——AI 不需要”查文档”,Server 已经用结构化格式告诉 AI 了 1。

3. 状态管理

传统 APIMCP / A2A
状态无状态(每个请求独立)有状态(维持会话上下文)
多步操作程序员手动串联多个 API 调用AI 在同一个会话中连续调用,保持上下文

传统 REST API 是无状态的——服务器不记得你上一秒调了什么。你把”查用户”和”查订单”串起来,需要自己管理中间状态。MCP 维持客户端和服务端的会话,AI 可以在同一个上下文中连续多次调用,后面的调用知道前面的结果 2。

4. 错误处理

传统 APIMCP / A2A
错误处理程序员写 try-catchAI 根据错误信息自动重试或调整
错误含义HTTP 状态码(200/403/500)指导性错误消息——“错误信息本身就是提示”

传统 API 返回 500,你的代码要么重试要么报错。MCP 的工具返回错误信息给 AI,AI 读到错误后可以自主决定:换参数重试、换一个工具、还是告诉用户”这个操作做不到”。错误不是”死路”,而是”反馈信号”。

5. 组合与编排

传统 APIMCP / A2A
组合调用程序员编排调用顺序AI 自主决定调用哪些、按什么顺序
灵活性改流程需要改代码、重新部署AI 实时调整策略

传统方式下,“先查天气,再根据天气推荐衣服”——这个流程是你写死的。如果 AI 觉得”今天不需要查天气,用户已经说了外面很冷”,它没有办法跳过第一步。MCP 方式下,AI 自己决定要不要查天气。

注意事项:什么时候不该用 MCP

MCP 不是万能药。以下场景传统 API 更合适 3:

  • 单一用途的自动化脚本:定时任务、webhook、健康检查——这些不需要 AI 做决策,直接调 REST API 即可
  • 高吞吐低延迟场景:每秒百万级事件流处理——MCP 增加了协议层开销,不适合极致性能场景
  • 确定性合规操作:金融交易、监管报告——每一步都需要严格审计,AI 自主决策反而增加风险
  • 应用间集成(无 AI 参与):两个后端服务的通信——不需要 MCP,REST/gRPC 就够了

MCP 解决的是”AI 需要连工具”的问题,不是”所有软件需要通信”的问题。不要因为有了锤子就看什么都像钉子。

关联

  • MCP 的工具定义基于 JSON Schema——这与 结构化输出(深挖) 中讨论的 Structured Outputs 使用的是同一种格式规范
  • MCP 和 A2A 的协议层都不是取代传统 API,而是建立在传统 API 之上——MCP Server 内部还是通过传统 API 连接真正的后端服务
  • 理解 MCP 的架构和 A2A 的消息流之后,再看这一节的对比会更清晰
  • 如果你在做生产系统的技术选型,对比-MCPvsA2A 提供了两个协议的详细对比

← 上一节:15.3 A2A:Agent 之间的通信协议 | 下一节:章首 →

注释

  1. Anthropic, “Building agents that reach production systems with MCP”, 2025, https://claude.com/blog/building-agents-that-reach-production-systems-with-mcp ↩

  2. Kai Waehner, “MCP vs REST/HTTP API vs Kafka”, 2026.04, https://www.kai-waehner.de/blog/2026/04/10/mcp-vs-rest-http-api-vs-kafka-the-architects-guide-to-agentic-ai-integration/ ↩

  3. Atlan, “MCP vs API: When to Use Each for AI Agent Integration in 2026”, 2026, https://atlan.com/know/when-to-use-mcp-vs-api/ ↩

关联7

知识图谱

局部图谱 · 点节点跳转