CrabNote螃蟹笔记

MCP——Agent工具调用革命(三)

MCP——Agent工具调用革命(三)

MCP——Agent工具调用革命(三) MCP——Agent工具调用革命(三) Modified July 30, 2025 用一个比喻来理解:老板(用户)要喝咖啡,于是,在办公室(MCP Host)里,办公室主任(大模型)吩咐秘书(Agent)去买一杯美式(Function Call)。秘书(Agent)查了一下供应商名册,发现美式咖啡的供应商已接入了美团或公司统一采购系统(实现了MCP Server),接着,秘书在采购系统中找到供应商(MCP Client)一键下单。 在过去没有MCP时,大模型下发Function Call,Agent去执行翻译,直接连接到API去调用工具。因此,你得为每个API单独设置对应的调用模式,去单独定义工具列表和调用模式,这样Agent才知道怎么去翻译。而有了MCP后,只是很多API都可以直接通过供应商MCP Client一键下单了,Agent省力了。但大模型的Function Call没有任何变化。还是{tool: “买加啡”, "type": "美式"}这个形式。 图片 不过在过去,有人会把这一整套Function Call+ Agent +API的模式叫做一个Function Calling,所以会引起混淆。 通过区分Function Call和MCP,我们可以清晰地看出,MCP并不负责决定使用哪个工具,也不进行任务规划或理解用户意图。这些是Agent层面的工作。MCP只是提供了一个统一的工具接口,成为了产业内认可的工具调用标准协议。 四、MCP的开发难题与市场乱局 今年2月以来,AI开发社区掀起了一场"MCP淘金热"。在没有官方应用商店的情况下,短短三个月就有数千个工具自发接入MCP协议。 图片 这仅仅是一家MCP Server集成网站的量就超过一万种 这种野蛮生长让MCP迅速成为行业焦点,但也暴露了理想与现实之间的鸿沟——开发者们最初将MCP视为"万能钥匙",实际使用后却发现它更像是"专业扳手",在某些场景下表现出色,在其他场合却显得水土不服。 在MCP的所有参与者中,可以分为本地客户端应用、云端客户端应用和MCP服务端开发者。本地应用就是类似本地的AI助手,云端客户端则是类似于ChatGPT的网页版,而MCP服务器开发者,则是工具的真正供给方。他们需要把自由的API重新做一遍符合MCP规则的包装盒接入。 在MCP刚刚上线的时间内,最开心的是本地客户端应用,而云端客户端应用和MCP服务器开发者就不太舒服了。 MCP本地优势与云端挑战 🧥 MCP 的价值并非 “普适性” 的 —— 它的起源与设计初衷,决定了其在不同场景(本地客户端 / 云端服务)中呈现出显著的适配差异。理解这种差异,才能更精准地发挥 MCP 的价值。 一、本地客户端:MCP 的 “原生主场” MCP 起源于 Anthropic 的 Claude Desktop 应用,其设计初衷就是解决本地 AI 应用与设备环境、外部工具的交互难题。因此,在本地客户端场景中,MCP 展现出无可替代的优势。 (一)核心优势:为本地 Agent 提供 “无限扩展” 能力 1. 无缝连接本地资源 本地客户端(如 Claude Desktop、Cursor)运行在用户设备上,需频繁与本地资源交互(如读取本地文件、调用系统功能、连接外设)。MCP 通过统一协议,让 AI 应用无需适配不同操作系统(Windows/macOS)的底层接口,即可调用本地工具(如 “用 MCP 调用本地 PDF 阅读器打开文件”“通过 MCP 控制打印机打印文档”)。 对用户而言,这意味着:可根据需求 “动态添加” 工具(如安装一个 MCP 插件即可让 AI 调用本地翻译软件),极大扩展 AI 助手的能力边界。 2. 降低本地开发门槛 小型团队或个人开发者开发本地 AI 应用时,资源有限,难以适配所有本地工具的接口。MCP 提供了 “一次适配,全工具通用” 的规范,开发者只需实现 MCP Client,即可让应用调用所有支持 MCP 的工具,显著降低开发成本。 3. 适配本地交互场景 本地用户的交互多为 “实时、高频、个性化”(如边写代码边让 Cursor 调用本地调试工具,边看文档边让 Claude 调用翻译插件)。MCP 的双向通信能力(早期通过 HTTP+SSE 实现)完美适配这种场景,确保工具调用的实时反馈(如调试工具的输出可实时回传给 AI 应用)。 (二)典型案例:本地客户端的 MCP 实践 • Cursor(代码编辑器):通过 MCP 整合本地代码调试工具、版本控制工具(如 Git)、文档生成工具,开发者无需切换界面,即可让 AI 助手调用这些工具完成 “写代码→调试→生成注释” 的全流程。 • Claude Desktop:用户可通过 MCP 插件让 Claude 调用本地日历(同步日程)、邮件客户端(发送邮件)、本地数据库(查询个人数据),实现 “AI 助手 + 个人设备” 的深度协同。 二、云端服务:MCP 的 “适配挑战” 当场景切换到云端 AI 服务(如 Web 端 Agent、企业级 AI 系统) 时,MCP 的早期设计暴露出明显的 “水土不服”—— 这并非技术缺陷,而是源于云端与本地场景的本质差异(无状态服务、高并发、标准化流程)。 (一)核心挑战:与云端交互模式的 “冲突点” 1. 通信模式适配难题 ◦ 早期 MCP 采用 “HTTP 短链接 + SSE 长链接” 的双链接设计,初衷是支持本地场景的 “实时双向通信”。但云端服务多为 “无状态任务”(如 “处理一次订单查询”“生成一份报告”),任务完成后即释放资源,无需长链接保持。 ◦ 这种设计导致云端调用效率低下:调用工具时需先建立 SSE 长链接,任务结束后再关闭,增加了通信复杂度和性能损耗(本可通过一次 RPC 请求完成)。 2. 动态工具能力 “失效” MCP 的核心卖点是 “动态工具发现与灵活加载”(即 AI 可根据任务需求自动识别并调用新工具),但云端场景难以发挥这一优势: ◦ 云端服务需满足 “稳定性、合规性” 要求,工具调用必须遵循严格的预设流程(如企业 AI 系统调用财务工具需经过权限校验、日志审计),无法允许 “动态加载未知工具”; ◦ 云端 Agent 多处理标准化任务(如 “批量查询物流”“自动生成周报”),调用的工具固定(物流 API、企业数据库),无需 “灵活扩展”,导致 MCP 的动态能力沦为 “冗余功能”。 (二)改进与适配:MCP 的云端优化 针对云端场景的反馈,MCP 团队在 2024 年 3 月 26 日更新了协议,核心优化为: • 用 streamable HTTP 替代 SSE 传输:支持两种通信模式 —— ◦ 对云端 “无状态单次任务”:采用 “单次 RPC 请求”,无需建立长链接,降低通信复杂度; ◦ 对需实时反馈的云端场景(如直播中的 AI 助手调用工具):保留流式传输能力,兼容实时推送需求。 这一调整让 MCP 在云端场景的适配性显著提升,但本质上仍是 “弥补设计差异”—— 云端场景对 MCP 的需求,更多是 “标准化接口” 而非 “动态扩展”,与本地场景形成鲜明对比。 五、MCP 的边界与 Agent 的核心进化方向 🧥 MCP 作为工具调用的标准化协议,其价值有明确边界 —— 它解决的是 “工具如何被调用” 的问题,却无法替代 Agent 的核心智能。Agent 的进化,仍需聚焦于自身的 “决策与规划能力”,而 MCP 只是其高效执行的 “基础设施”。 一、MCP 的能力边界:协议≠智能 MCP 的本质是 “工具调用的通用语言”,而非 “智能决策系统”。它的核心作用是标准化通信流程,但完全不涉及 Agent 的核心能力环节: (一)MCP 不负责 “做什么”:工具选择与需求理解 • 用户需求的深层解读:当用户问 “订单为什么没发货” 时,真实需求可能包含 “查询状态 + 催单 + 申请补偿”,这需要 Agent 理解用户的潜在诉求(如通过语气判断是否着急、结合用户历史订单判断是否为 VIP 客户)。MCP 无法参与这一过程,它只负责 “当 Agent 决定调用‘订单查询工具’时,按规范传递请求”。 • 工具的筛选与匹配:Agent 需要判断 “调用哪个工具更合适”(如查订单用官方物流 API 更准确,而非第三方工具),MCP 无法提供工具质量评估或优先级排序,只能被动执行 Agent 的选择。 (二)MCP 不负责 “怎么做”:任务规划与异常处理 • 任务的拆解与步骤规划:复杂任务(如 “订机票 + 安排酒店 + 同步行程”)需要 Agent 拆解为 “查航班→选酒店→对接 OA 系统” 的步骤,并规划先后顺序(先订机票再订酒店,避免日期冲突)。MCP 仅负责执行单个步骤的工具调用,无法参与流程设计。 • 异常情况的处理:若工具调用失败(如 “订单查询工具返回‘系统错误’”),Agent 需要决定 “重试该工具”“切换备用工具” 还是 “告知用户并建议人工处理”。MCP 无法判断异常原因,只能将错误信息回传给 Agent。 (三)认知错位:将 “协议” 等同于 “智能” 的误区 许多对 MCP 的批评源于 “过度期待”:认为 MCP 应解决 Agent 的决策、规划问题。这本质上是混淆了 “工具” 与 “智能” 的边界 —— • 就像 USB 接口只负责设备供电与数据传输,不负责 “设备如何工作”(如 U 盘不会因为用了 USB 就自动分类文件); • 5G 标准只负责数据传输速率,不负责 “内容如何生成”(如手机不会因为用了 5G 就自动拍出好照片)。 MCP 同理:它确保 Agent 能 “顺畅调用工具”,但无法决定 “调用什么工具”“如何用工具解决问题”。 二、Agent 的核心进化方向:突破 “规划能力” 瓶颈 MCP 的普及,反而让 Agent 的 “规划能力” 成为更关键的瓶颈。未来 Agent 的进化需聚焦三个方向: (一)更精准的需求理解与场景适配 • 结合用户画像(年龄、职业、使用习惯)和场景特征(如通勤时的快速查询 vs 办公时的深度处理),动态调整工具调用策略(如给老年用户调用 “语音导航工具”,给程序员调用 “代码调试工具”)。 (二)更智能的任务拆解与工具协同 • 面对复杂任务时,能像人类助理一样 “分步骤执行”,并处理工具间的依赖关系(如 “用天气工具确认目的地降雨后,自动让酒店预订工具优先选择带伞的房型”)。 (三)更灵活的异常处理与动态调整 • 当工具调用失败(如 API 超时)或结果不符合预期(如查物流返回错误信息)时,能自主切换备用方案(如调用另一个物流工具、或直接触发人工客服介入),而非机械报错。 三、大厂实践:MCP 为基,聚焦 Agent 核心能力差异化 国内大厂对 MCP 的态度印证了 “协议是基础,Agent 能力是核心” 的逻辑 —— 它们均拥抱 MCP 作为工具调用标准,但更注重结合自身场景打造 Agent 的差异化能力: 企业 MCP 应用场景 Agent 核心能力聚焦 百度 “心响” 移动端 C 端场景(如日常打车、购物),通过 MCP 整合多模型与本地工具 强化 “生活化需求理解”(如识别用户口语化指令 “帮我订明天去上海的票”),适配手机端碎片化交互 字节 “扣子空间” 办公场景,集成 60+MCP 插件(文档、代码工具等) 强化 “工作流自动化”(如调用代码工具生成脚本后,自动触发测试工具验证),适配生产力场景 阿里(支付宝) 企业级服务(如报销、缴费),通过 MCP 调用内部业务系统 强化 “合规性与安全性”(如调用支付工具时自动校验权限,确保符合财务规范) 腾讯(云服务) 开发者工具生态(如 CodeBuddy、地图服务),提供 MCP 插件托管 强化 “工具协同能力”(如调用地图工具获取地址后,自动传给物流工具计算配送时效) 这些实践的共性是:以 MCP 为工具调用的 “通用接口”,但将核心资源投入到 Agent 的场景化能力(需求理解、任务规划、工具协同)上,避免陷入 “仅靠 MCP 提升竞争力” 的误区。 结语:MCP 是 “基础设施”,Agent 智能是 “核心引擎” MCP 的价值在于为 Agent 的工具调用提供 “标准化铁轨”,但决定列车(Agent)跑得快、跑得准的,仍是引擎(核心智能:需求理解、任务规划、异常处理)。 未来,AI 系统的竞争将聚焦于 “MCP+Agent 能力” 的协同 —— 以 MCP 降低工具适配成本,以 Agent 的智能决策提升服务质量。而任何将 MCP 视为 “万能钥匙” 的期待,本质上都是对 AI 系统复杂度的简化,忽视了 “工具调用” 与 “智能决策” 的根本差异。 (补充附件)MCPprompt&代码详解 https://www.anthropic.com/research/reasoning models dont say thin https://github.com/modelcontextprotocol 调用开源代码 https://modelcontextprotocol.io/docs/concepts/prompts prompt详解 服务器 用一个比喻来理解:老板(用户)要喝咖啡,于是,在办公室(MCP Host)里,办公室主任(大模型)吩咐秘书(Agent)去买一杯美式(Function Call)。秘书(Agent)查了一下供应商名册,发现美式咖啡的供应商已接入了美团或公司统一采购系统(实现了MCP Server),接着,秘书在采购系统中找到供应商(MCP Client)一键下单。 在过去没有MCP时,大模型下发Function Call,Agent去执行翻译,直接连接到API去调用工具。因此,你得为每个API单独设置对应的调用模式,去单独定义工具列表和调用模式,这样Agent才知道怎么去翻译。而有了MCP后,只是很多API都可以直接通过供应商MCP Client一键下单了,Agent省力了。但大模型的Function Call没有任何变化。还是{tool: “买加啡”, "type": "美式"}这个形式。 图片 不过在过去,有人会把这一整套Function Call+ Agent +API的模式叫做一个Function Calling,所以会引起混淆。 通过区分Function Call和MCP,我们可以清晰地看出,MCP并不负责决定使用哪个工具,也不进行任务规划或理解用户意图。这些是Agent层面的工作。MCP只是提供了一个统一的工具接口,成为了产业内认可的工具调用标准协议。 四、MCP的开发难题与市场乱局 今年2月以来,AI开发社区掀起了一场"MCP淘金热"。在没有官方应用商店的情况下,短短三个月就有数千个工具自发接入MCP协议。 图片 这仅仅是一家MCP Server集成网站的量就超过一万种 这种野蛮生长让MCP迅速成为行业焦点,但也暴露了理想与现实之间的鸿沟——开发者们最初将MCP视为"万能钥匙",实际使用后却发现它更像是"专业扳手",在某些场景下表现出色,在其他场合却显得水土不服。 在MCP的所有参与者中,可以分为本地客户端应用、云端客户端应用和MCP服务端开发者。本地应用就是类似本地的AI助手,云端客户端则是类似于ChatGPT的网页版,而MCP服务器开发者,则是工具的真正供给方。他们需要把自由的API重新做一遍符合MCP规则的包装盒接入。 服务器 在MCP刚刚上线的时间内,最开心的是本地客户端应用,而云端客户端应用和MCP服务器开发者就不太舒服了。 MCP本地优势与云端挑战 🧥 MCP 的价值并非 “普适性” 的 —— 它的起源与设计初衷,决定了其在不同场景(本地客户端 / 云端服务)中呈现出显著的适配差异。理解这种差异,才能更精准地发挥 MCP 的价值。 MCP 的价值并非 “普适性” 的 —— 它的起源与设计初衷,决定了其在不同场景(本地客户端 / 云端服务)中呈现出显著的适配差异。理解这种差异,才能更精准地发挥 MCP 的价值。 一、本地客户端:MCP 的 “原生主场” MCP 起源于 Anthropic 的 Claude Desktop 应用,其设计初衷就是解决本地 AI 应用与设备环境、外部工具的交互难题。因此,在本地客户端场景中,MCP 展现出无可替代的优势。 (一)核心优势:为本地 Agent 提供 “无限扩展” 能力 1. 无缝连接本地资源 本地客户端(如 Claude Desktop、Cursor)运行在用户设备上,需频繁与本地资源交互(如读取本地文件、调用系统功能、连接外设)。MCP 通过统一协议,让 AI 应用无需适配不同操作系统(Windows/macOS)的底层接口,即可调用本地工具(如 “用 MCP 调用本地 PDF 阅读器打开文件”“通过 MCP 控制打印机打印文档”)。 对用户而言,这意味着:可根据需求 “动态添加” 工具(如安装一个 MCP 插件即可让 AI 调用本地翻译软件),极大扩展 AI 助手的能力边界。 2. 降低本地开发门槛 小型团队或个人开发者开发本地 AI 应用时,资源有限,难以适配所有本地工具的接口。MCP 提供了 “一次适配,全工具通用” 的规范,开发者只需实现 MCP Client,即可让应用调用所有支持 MCP 的工具,显著降低开发成本。 3. 适配本地交互场景 本地用户的交互多为 “实时、高频、个性化”(如边写代码边让 Cursor 调用本地调试工具,边看文档边让 Claude 调用翻译插件)。MCP 的双向通信能力(早期通过 HTTP+SSE 实现)完美适配这种场景,确保工具调用的实时反馈(如调试工具的输出可实时回传给 AI 应用)。 (二)典型案例:本地客户端的 MCP 实践 • Cursor(代码编辑器):通过 MCP 整合本地代码调试工具、版本控制工具(如 Git)、文档生成工具,开发者无需切换界面,即可让 AI 助手调用这些工具完成 “写代码→调试→生成注释” 的全流程。 • Claude Desktop:用户可通过 MCP 插件让 Claude 调用本地日历(同步日程)、邮件客户端(发送邮件)、本地数据库(查询个人数据),实现 “AI 助手 + 个人设备” 的深度协同。 二、云端服务:MCP 的 “适配挑战” 当场景切换到云端 AI 服务(如 Web 端 Agent、企业级 AI 系统) 时,MCP 的早期设计暴露出明显的 “水土不服”—— 这并非技术缺陷,而是源于云端与本地场景的本质差异(无状态服务、高并发、标准化流程)。 (一)核心挑战:与云端交互模式的 “冲突点” 1. 通信模式适配难题 ◦ 早期 MCP 采用 “HTTP 短链接 + SSE 长链接” 的双链接设计,初衷是支持本地场景的 “实时双向通信”。但云端服务多为 “无状态任务”(如 “处理一次订单查询”“生成一份报告”),任务完成后即释放资源,无需长链接保持。 ◦ 这种设计导致云端调用效率低下:调用工具时需先建立 SSE 长链接,任务结束后再关闭,增加了通信复杂度和性能损耗(本可通过一次 RPC 请求完成)。 ◦ 早期 MCP 采用 “HTTP 短链接 + SSE 长链接” 的双链接设计,初衷是支持本地场景的 “实时双向通信”。但云端服务多为 “无状态任务”(如 “处理一次订单查询”“生成一份报告”),任务完成后即释放资源,无需长链接保持。 ◦ 这种设计导致云端调用效率低下:调用工具时需先建立 SSE 长链接,任务结束后再关闭,增加了通信复杂度和性能损耗(本可通过一次 RPC 请求完成)。 2. 动态工具能力 “失效” MCP 的核心卖点是 “动态工具发现与灵活加载”(即 AI 可根据任务需求自动识别并调用新工具),但云端场景难以发挥这一优势: ◦ 云端服务需满足 “稳定性、合规性” 要求,工具调用必须遵循严格的预设流程(如企业 AI 系统调用财务工具需经过权限校验、日志审计),无法允许 “动态加载未知工具”; ◦ 云端 Agent 多处理标准化任务(如 “批量查询物流”“自动生成周报”),调用的工具固定(物流 API、企业数据库),无需 “灵活扩展”,导致 MCP 的动态能力沦为 “冗余功能”。 ◦ 云端服务需满足 “稳定性、合规性” 要求,工具调用必须遵循严格的预设流程(如企业 AI 系统调用财务工具需经过权限校验、日志审计),无法允许 “动态加载未知工具”; ◦ 云端 Agent 多处理标准化任务(如 “批量查询物流”“自动生成周报”),调用的工具固定(物流 API、企业数据库),无需 “灵活扩展”,导致 MCP 的动态能力沦为 “冗余功能”。 (二)改进与适配:MCP 的云端优化 针对云端场景的反馈,MCP 团队在 2024 年 3 月 26 日更新了协议,核心优化为: • 用 streamable HTTP 替代 SSE 传输:支持两种通信模式 —— ◦ 对云端 “无状态单次任务”:采用 “单次 RPC 请求”,无需建立长链接,降低通信复杂度; ◦ 对需实时反馈的云端场景(如直播中的 AI 助手调用工具):保留流式传输能力,兼容实时推送需求。 ◦ 对云端 “无状态单次任务”:采用 “单次 RPC 请求”,无需建立长链接,降低通信复杂度; ◦ 对需实时反馈的云端场景(如直播中的 AI 助手调用工具):保留流式传输能力,兼容实时推送需求。 这一调整让 MCP 在云端场景的适配性显著提升,但本质上仍是 “弥补设计差异”—— 云端场景对 MCP 的需求,更多是 “标准化接口” 而非 “动态扩展”,与本地场景形成鲜明对比。 五、MCP 的边界与 Agent 的核心进化方向 🧥 MCP 作为工具调用的标准化协议,其价值有明确边界 —— 它解决的是 “工具如何被调用” 的问题,却无法替代 Agent 的核心智能。Agent 的进化,仍需聚焦于自身的 “决策与规划能力”,而 MCP 只是其高效执行的 “基础设施”。 MCP 作为工具调用的标准化协议,其价值有明确边界 —— 它解决的是 “工具如何被调用” 的问题,却无法替代 Agent 的核心智能。Agent 的进化,仍需聚焦于自身的 “决策与规划能力”,而 MCP 只是其高效执行的 “基础设施”。 一、MCP 的能力边界:协议≠智能 MCP 的本质是 “工具调用的通用语言”,而非 “智能决策系统”。它的核心作用是标准化通信流程,但完全不涉及 Agent 的核心能力环节: (一)MCP 不负责 “做什么”:工具选择与需求理解 • 用户需求的深层解读:当用户问 “订单为什么没发货” 时,真实需求可能包含 “查询状态 + 催单 + 申请补偿”,这需要 Agent 理解用户的潜在诉求(如通过语气判断是否着急、结合用户历史订单判断是否为 VIP 客户)。MCP 无法参与这一过程,它只负责 “当 Agent 决定调用‘订单查询工具’时,按规范传递请求”。 • 工具的筛选与匹配:Agent 需要判断 “调用哪个工具更合适”(如查订单用官方物流 API 更准确,而非第三方工具),MCP 无法提供工具质量评估或优先级排序,只能被动执行 Agent 的选择。 (二)MCP 不负责 “怎么做”:任务规划与异常处理 • 任务的拆解与步骤规划:复杂任务(如 “订机票 + 安排酒店 + 同步行程”)需要 Agent 拆解为 “查航班→选酒店→对接 OA 系统” 的步骤,并规划先后顺序(先订机票再订酒店,避免日期冲突)。MCP 仅负责执行单个步骤的工具调用,无法参与流程设计。 • 异常情况的处理:若工具调用失败(如 “订单查询工具返回‘系统错误’”),Agent 需要决定 “重试该工具”“切换备用工具” 还是 “告知用户并建议人工处理”。MCP 无法判断异常原因,只能将错误信息回传给 Agent。 (三)认知错位:将 “协议” 等同于 “智能” 的误区 许多对 MCP 的批评源于 “过度期待”:认为 MCP 应解决 Agent 的决策、规划问题。这本质上是混淆了 “工具” 与 “智能” 的边界 —— • 就像 USB 接口只负责设备供电与数据传输,不负责 “设备如何工作”(如 U 盘不会因为用了 USB 就自动分类文件); • 5G 标准只负责数据传输速率,不负责 “内容如何生成”(如手机不会因为用了 5G 就自动拍出好照片)。 MCP 同理:它确保 Agent 能 “顺畅调用工具”,但无法决定 “调用什么工具”“如何用工具解决问题”。 二、Agent 的核心进化方向:突破 “规划能力” 瓶颈 MCP 的普及,反而让 Agent 的 “规划能力” 成为更关键的瓶颈。未来 Agent 的进化需聚焦三个方向: (一)更精准的需求理解与场景适配 • 结合用户画像(年龄、职业、使用习惯)和场景特征(如通勤时的快速查询 vs 办公时的深度处理),动态调整工具调用策略(如给老年用户调用 “语音导航工具”,给程序员调用 “代码调试工具”)。 (二)更智能的任务拆解与工具协同 • 面对复杂任务时,能像人类助理一样 “分步骤执行”,并处理工具间的依赖关系(如 “用天气工具确认目的地降雨后,自动让酒店预订工具优先选择带伞的房型”)。 (三)更灵活的异常处理与动态调整 • 当工具调用失败(如 API 超时)或结果不符合预期(如查物流返回错误信息)时,能自主切换备用方案(如调用另一个物流工具、或直接触发人工客服介入),而非机械报错。 三、大厂实践:MCP 为基,聚焦 Agent 核心能力差异化 国内大厂对 MCP 的态度印证了 “协议是基础,Agent 能力是核心” 的逻辑 —— 它们均拥抱 MCP 作为工具调用标准,但更注重结合自身场景打造 Agent 的差异化能力: 企业 MCP 应用场景 Agent 核心能力聚焦 百度 “心响” 移动端 C 端场景(如日常打车、购物),通过 MCP 整合多模型与本地工具 强化 “生活化需求理解”(如识别用户口语化指令 “帮我订明天去上海的票”),适配手机端碎片化交互 字节 “扣子空间” 办公场景,集成 60+MCP 插件(文档、代码工具等) 强化 “工作流自动化”(如调用代码工具生成脚本后,自动触发测试工具验证),适配生产力场景 阿里(支付宝) 企业级服务(如报销、缴费),通过 MCP 调用内部业务系统 强化 “合规性与安全性”(如调用支付工具时自动校验权限,确保符合财务规范) 腾讯(云服务) 开发者工具生态(如 CodeBuddy、地图服务),提供 MCP 插件托管 强化 “工具协同能力”(如调用地图工具获取地址后,自动传给物流工具计算配送时效) 企业 企业 MCP 应用场景 MCP 应用场景 Agent 核心能力聚焦 Agent 核心能力聚焦 百度 “心响” 百度 “心响” 移动端 C 端场景(如日常打车、购物),通过 MCP 整合多模型与本地工具 移动端 C 端场景(如日常打车、购物),通过 MCP 整合多模型与本地工具 强化 “生活化需求理解”(如识别用户口语化指令 “帮我订明天去上海的票”),适配手机端碎片化交互 强化 “生活化需求理解”(如识别用户口语化指令 “帮我订明天去上海的票”),适配手机端碎片化交互 字节 “扣子空间” 字节 “扣子空间” 办公场景,集成 60+MCP 插件(文档、代码工具等) 办公场景,集成 60+MCP 插件(文档、代码工具等) 强化 “工作流自动化”(如调用代码工具生成脚本后,自动触发测试工具验证),适配生产力场景 强化 “工作流自动化”(如调用代码工具生成脚本后,自动触发测试工具验证),适配生产力场景 阿里(支付宝) 阿里(支付宝) 企业级服务(如报销、缴费),通过 MCP 调用内部业务系统 企业级服务(如报销、缴费),通过 MCP 调用内部业务系统 强化 “合规性与安全性”(如调用支付工具时自动校验权限,确保符合财务规范) 强化 “合规性与安全性”(如调用支付工具时自动校验权限,确保符合财务规范) 腾讯(云服务) 腾讯(云服务) 开发者工具生态(如 CodeBuddy、地图服务),提供 MCP 插件托管 开发者工具生态(如 CodeBuddy、地图服务),提供 MCP 插件托管 强化 “工具协同能力”(如调用地图工具获取地址后,自动传给物流工具计算配送时效) 强化 “工具协同能力”(如调用地图工具获取地址后,自动传给物流工具计算配送时效) 这些实践的共性是:以 MCP 为工具调用的 “通用接口”,但将核心资源投入到 Agent 的场景化能力(需求理解、任务规划、工具协同)上,避免陷入 “仅靠 MCP 提升竞争力” 的误区。 结语:MCP 是 “基础设施”,Agent 智能是 “核心引擎” MCP 的价值在于为 Agent 的工具调用提供 “标准化铁轨”,但决定列车(Agent)跑得快、跑得准的,仍是引擎(核心智能:需求理解、任务规划、异常处理)。 未来,AI 系统的竞争将聚焦于 “MCP+Agent 能力” 的协同 —— 以 MCP 降低工具适配成本,以 Agent 的智能决策提升服务质量。而任何将 MCP 视为 “万能钥匙” 的期待,本质上都是对 AI 系统复杂度的简化,忽视了 “工具调用” 与 “智能决策” 的根本差异。 (补充附件)MCPprompt&代码详解 https://www.anthropic.com/research/reasoning models dont say thin https://github.com/modelcontextprotocol 调用开源代码 调用开源代码 https://modelcontextprotocol.io/docs/concepts/prompts prompt详解 prompt详解 😀 在 AI Agent 的进化路径中,工具调用能力是衡量其 “执行力” 的核心指标。一个强大的 Agent 需要像人类助理一样,灵活调用计算器、搜索引擎、API 接口等各类工具,才能完成从 “信息查询” 到 “复杂任务处理” 的跨越。但长期以来,Agent 在工具调用中始终面临一个底层困境:不同工具的接口格式、通信协议千差万别,导致 Agent 不得不花费大量精力适配工具,而非专注于任务本身。 MCP的本质:MCP是一种开放的技术协议,旨在标准化大型语言模型(LLM)与外部工具和服务的交互方式。你可以把MCP理解成像是一个AI世界的通用翻译官,让AI模型能够与各种各样的外部工具"对话"。 在 AI Agent 的进化路径中,工具调用能力是衡量其 “执行力” 的核心指标。一个强大的 Agent 需要像人类助理一样,灵活调用计算器、搜索引擎、API 接口等各类工具,才能完成从 “信息查询” 到 “复杂任务处理” 的跨越。但长期以来,Agent 在工具调用中始终面临一个底层困境:不同工具的接口格式、通信协议千差万别,导致 Agent 不得不花费大量精力适配工具,而非专注于任务本身。 MCP的本质:MCP是一种开放的技术协议,旨在标准化大型语言模型(LLM)与外部工具和服务的交互方式。你可以把MCP理解成像是一个AI世界的通用翻译官,让AI模型能够与各种各样的外部工具"对话"。 一、Agent 的工具困境:为什么需要 MCP? 在 MCP 诞生前,Agent 的工具调用堪称 “碎片化战场”。 想象一个场景:用户让 Agent 完成 “预订下周去上海的机票,并安排接机和酒店,同时同步行程到公司 OA 系统”。这个任务中,Agent 需要调用机票预订 API、酒店预订工具、地图服务(确认接机地点)、企业 OA 接口(同步行程)。但现实是,每类工具的调用方式可能完全不同:机票 API 要求用 JSON 格式传参,酒店工具只支持 XML,OA 系统需要通过内部 RPC 协议,地图服务则是 RESTful 接口。 为了完成任务,Agent 必须 “精通” 每类工具的接口规则:记住不同的参数名称(“出发地” 在机票 API 中是 “origin”,在酒店工具中是 “city”)、数据格式(日期格式有的是 “YYYY MM DD”,有的是 “MM/DD/YYYY”)、认证方式(有的要 Token,有的要 API Key)。这就像一个助理需要用不同的语言和手势与每个供应商沟通,精力大量消耗在 “适配” 上,而非 “执行任务” 本身。 这种困境直接导致两个问题: • Agent 开发效率低下:开发者需要为每个工具单独编写适配代码,Agent 的功能扩展严重依赖工具接口的适配速度; • Agent 执行稳定性差:工具接口一旦更新(如参数名称变更),Agent 可能直接 “失效”,需要重新调试。 MCP 的出现,正是为 Agent 提供了一套 “通用语言”。它规定了工具调用的统一格式(基于 JSON RPC),无论 Agent 调用的是机票 API 还是 OA 系统,只需按照 MCP 的规范发送请求、接收响应。对 Agent 而言,这意味着:无需关心工具的底层接口细节,只需通过 MCP Client 与工具的 MCP Server 交互,就像助理只需用一种语言与所有供应商沟通,极大降低了适配成本,让 Agent 能更专注于任务规划和执行。 而MCP则采用了一种通用语言格式(JSON RPC),一次学习就能与所有支持这种协议的工具进行交流。一个通用翻译器,不管什么LLM,用上它就能使用工具 / 数据了。 tool的结构定义 二、MCP的工作原理 MCP的技术架构可以简单理解为一个由三个核心部分组成的系统:MCP Host、MCP Client和MCP Server。这三部分共同工作,让AI模型能够顺畅地与外部世界交流。 MCP的案例——企业管理 要准确理解MCP的角色,我们可以将其比作现代企业环境中的一个通信系统。 在这个比喻中,用户扮演着企业高管的角色,负责理解用户需求并做出最终决策。,大模型(如Claude或GPT)理解高管的指令,规划任务步骤,判断何时需要使用哪些外部服务,并最终整合信息为高管提供答案。Agent系统则是真正的私人助理或执行秘书去执行,而MCP则像是秘书使用的标准化通信平台或企业服务接入系统,它不做决策,只负责按照秘书的指示,以统一的格式和协议与各种服务提供商交流。 在MCP出现之前,AI与外部工具的交互就像是处在通信标准混乱的时代。每当秘书(Agent)需要联系不同部门或外部供应商时,都必须使用不同的通信设备或软件:给财务部打电话需要座机,联系IT部门需要用Slack,预订会议室要用Outlook,订餐则需要使用外卖App。每个系统都有不同的操作界面、不同的数据格式和不同的通信协议,秘书必须熟悉所有这些不同的系统才能高效工作。对开发者而言,这意味着为每个工具单独编写连接代码,既费时又缺乏可扩展性。 MCP的出现改变了这一局面。它就像是一个统一的企业通信平台,无论秘书需要联系哪个部门或服务商,都可以使用同一个系统,遵循同一套通信协议。 {这里再加一个Nginx服务器的代理的例子} MCP的技术架构 由三个核心(最)组件构成 由三个核心(最)组件构成 MCP Host (执行环境) 它就像是企业的办公环境和基础设施。它提供了高管办公和秘书工作的场所,是一切活动的发生地。在实际应用中,Claude Desktop、Cursor这类AI应用就是典型的Host,它们提供了用户与AI交互的界面和环境,同时也为Agent和MCP Client提供了运行空间。 MCP Client (通信枢纽) 它像是秘书(Agent)使用的标准化供应商。它不参与决策,不理解任务本质,只负责按照秘书的指示,以正确的格式和协议与各种服务提供商通信。MCP Client是一个纯技术组件,处理通信协议、数据格式转换和连接管理等底层问题。 MCP Server (服务终端) 它就像是各个专业部门或外部服务提供商,每一个都负责特定类型的服务。有的提供数据分析(如财务部),有的提供信息检索(如资料室),还有的提供内容生成(如市场部)。在MCP架构中,每个Server提供特定类型的功能:工具、资源或提示。 数据分析 MCP的协同 在MCP出现之前,当秘书需要完成高管的多项