MCP协议的局限性

本文涉及的产品
轻量应用服务器 2vCPU 1GiB,适用于搭建电商独立站
轻量应用服务器 2vCPU 4GiB,适用于网站搭建
无影云电脑个人版,1个月黄金款+200核时
简介: 5年前,我把 AI 比喻为一种智能化的 API 网关,提出一种分治的思想,将一个大问题转换为若干可解的小问题,如今,这种思想正在 mcp 这种协议沿用。但目前来看,它的实现方式还是有点丑陋的,并且有一些问题。

回顾

function solve(problem):
    if problem 小到可以直接解决:
        直接返回结果
    else:
        分成若干个子问题
        分别递归解决子问题
        合并子问题的结果,返回

5年前,我把 AI 比喻为一种智能化的 API 网关,提出一种分治的思想,将一个大问题转换为若干可解的小问题,如今,这种思想正在 mcp 这种协议沿用。但目前来看,它的实现方式还是有点丑陋的,并且有一些问题。

func sum(arr []int) int {
   
    if len(arr) == 1 {
   
        return arr[0]
    }
    mid := len(arr) / 2
    leftSum := sum(arr[:mid])
    rightSum := sum(arr[mid:])
    return leftSum + rightSum
}

现状

mcp 协议里面内置了一个服务发现系统,各个 mcp server 把自身的实现和调用方法注册到里面,然后在调用的时候加到提示词,作为参数去请求远程的 AI 服务器,让AI 找到正确的命令然后在本地执行。

比如 Gemini Function Call 大概长这样:

curl -X POST "https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "tools": [
      {
        "function_declarations": [
          {
            "name": "get_current_weather",
            "description": "Get the current weather for a given location",
            "parameters": {
              "type": "object",
              "properties": {
                "location": {
                  "type": "string",
                  "description": "The city and country, e.g. Shanghai, China"
                }
              },
              "required": ["location"]
            }
          }
        ]
      }
    ],
    "contents": [
      {
        "parts": [
          {
            "text": "What is the weather in Shanghai right now?"
          }
        ]
      }
    ]
  }'

整个过程可能非常繁复。比如,我们向AI下令“删除桌面上所有截图”的时候,最理想的指令是:

find /Users/zeusro/Desktop -type f -name "Screenshot*.png" -delete && find /Users/zeusro/Desktop -type f -name "Screenshot*.jpg" -delete

但实际的执行过程可能是:

  1. 找到这个路径上面所有文件,获取相应路径
  2. 删除截图图片1
  3. 删除截图图片2
  4. 删除截图图片n

传统ai问路.png

这个计算过程取决于大模型自身的能力,如果是 gemini-2.0 这种是第一种情况直接一步到位的,而国内其他的白痴模型(特别是百度这种)我就不知道了,因为他们做的垃圾,还有脸收费。

input --> process --> output -->(评估)influence,考虑是否要执行下一次计算

人类,作为外部观察者,通过评估,观察计算产生的影响,补充提示词,诱导ai继续计算,一直修正,直到获取最终结果。

func 计算(){
   
    ai.找到合适的工具链调用()
    (可选)用户.评估潜在影响并决定是否要执行相应命令
    ai+mcp client(通常可以在ai客户端里面顺便集成mcp功能,比如vs code cline插件).调用mcp server()
    (可选)用户.评估最终影响()
        if 满足需求(){
   
            return
            }
        else{
   
            用户.补充提示词,继续向ai提问()
            计算()
        }
}

远程本地函数分离.png

我在之前的文章讲到, mcp 协议目前这种实现只能算是次选(过渡方案)。实际上,我觉得现阶段更需要做的事情是“分离函数”,把函数分为 local function callcloud function call ,对于 local function call ,甚至不需要网络都能进行,像是“打开xx应用”,“给我grandma发短信”,像这类需求根本用不到云函数,“离线计算”就能进行。

AI 应该有一个预备的知识库,面对不同的操作系统时内置一些能够支持的api,而不是像现在这样,连删除个文件都要建一个 file-system 来实现。

结论

MCP 协议作为一种过渡设计,作用有点像是制定一种 AI API(面向AI的语言/操作系统无关接口)的 app store标准,完成这个任务之后就可以淘汰。

ps.gif

本文已授权公众号阿里云云原生转载,其余自媒体注明出处后直接转账即可。

相关文章
|
缓存 弹性计算 Kubernetes
在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
关注“阿里巴巴云原生”公众号,后台回复 “ 416 ” 即可下载 PPT。
在生产环境中,阿里云如何构建高性能云原生容器网络?(含 PPT 下载)
|
6月前
|
人工智能 弹性计算 运维
阿里云 MCP Server 开箱即用!
本文介绍了如何通过alibaba-cloud-ops-mcp-server和MCP(Model Context Protocol)实现AI助手对阿里云资源的复杂任务操作。内容涵盖背景、准备步骤(如使用VS Code与Cline配置MCP Server)、示例场景(包括创建实例、监控实例、运行命令、启停实例等),以及支持的工具列表和参考文档。借助这些工具,用户可通过自然语言与AI助手交互,完成ECS实例管理、VPC查询、云监控数据获取等运维任务,实现高效“掌上运维”。
|
6月前
|
人工智能 API 开发工具
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
MCP圣经:从入门到精通,从精通到放弃,理论 + 实践吃透 大火的 MCP 协议
|
6月前
|
安全 API UED
A2A(Agent2Agent) 简介
本文主要介绍Google于2025年4月9日发布的Agent2Agent Protocol(简称“A2A”),这是一个旨在促进不同类型智能体(Agent)之间高效沟通与协作的开放协议。
3381 74
A2A(Agent2Agent) 简介
|
6月前
|
人工智能 IDE API
10行代码,实现你的专属阿里云OpenAPI MCP Server
本文介绍如何用10行Python代码创建专属阿里云OpenAPI MCP Server。针对传统MCP Server工具固化、开发复杂等问题,提出借助alibaba-cloud-ops-mcp-server实现灵活拓展的方案。通过配置服务与API名称,运行简短代码即可生成支持SSE连接的MCP Server。用户无需深入了解阿里云OpenAPI细节,大幅降低开发门槛。未来将探索通用工具设计,实现固定工具调用任意API,进一步提升灵活性与效率。
|
6月前
|
消息中间件 人工智能 API
100行代码讲透MCP原理
本文通过100行代码看到MCP的核心原理并不复杂,但它的设计巧妙深入理解使我们能够超越简单的SDK使用,创建更强大、更灵活的AI应用集成方案。
1214 61
100行代码讲透MCP原理
|
7月前
|
人工智能 JavaScript Java
从零开始教你打造一个MCP客户端
Anthropic开源了一套MCP协议,它为连接AI系统与数据源提供了一个通用的、开放的标准,用单一协议取代了碎片化的集成方式。本文教你从零打造一个MCP客户端。
5797 5
|
6月前
|
人工智能 程序员 Go
一文掌握 MCP 上下文协议:从理论到实践
本文介绍了 模型上下文协议(Model Context Protocol,MCP),一种用于规范大型语言模型(LLM)与外部数据源及工具之间交互的开放标准。内容涵盖了 MCP 协议的整体架构(客户端与服务器的一对一连接模式)、消息传输机制(采用 JSON-RPC 2.0 格式)、以及客户端与服务器支持的核心原语。
2926 68
|
10月前
|
数据采集 自然语言处理 安全
控制电脑手机的智能体人人都能造,微软开源OmniParser
微软研究团队推出OmniParser,旨在提升GPT-4V等多模态模型在用户界面操作方面的性能。通过解析用户界面截图为结构化元素,OmniParser显著增强了模型的交互能力,使其在多种基准测试中表现出色。该技术开源,促进了社区合作与技术创新,但同时也面临数据质量、计算资源及安全隐私等挑战。
392 14
|
6月前
|
人工智能 自然语言处理 Java
通义灵码:AI编程助手如何重塑开发者的效率革命?
通义灵码是阿里云推出的一款基于通义大模型的智能编程助手,支持Java、Python、Go等主流语言,并深度适配VSCode、JetBrains等开发环境。其核心功能包括自然语言转代码、跨文件上下文理解、行级/函数级实时补全、自动生成单元测试及性能优化建议等。此外,还提供知识问答引擎、文档智能生成和研发大数据分析等进阶功能,助力开发者提升效率。通过重构生产关系,将重复劳动转化为创造性工作,使技术债务可视化,推动人机协同编程新时代的到来。
253 1