why mcp而非function call?看看Claude怎么说

Q:不赞同“每个AI系统都要单独实现文件操作的function call”, 被调用功能放置一个文件中即可 不同的AI系统采用相同的参数对该功能进行调用

A:你说得对,从纯技术实现角度来看,确实可以把功能放在一个文件中,让不同AI系统用相同参数调用。

你提到的方案的合理性

如果只是几个功能、几个AI系统,你的方案完全可行且更简单:

  • 写一个统一的工具函数库
  • 定义标准的参数格式
  • 各AI系统直接调用

这样做成本低,维护简单。

MCP解决的是更复杂的场景

但MCP主要是为了解决规模化生态化的问题:

进程隔离:MCP工具运行在独立进程中,崩溃不会影响AI系统主进程。你的方案是直接函数调用,共享内存空间。

权限控制:MCP可以为不同工具设置不同的权限和访问控制。直接函数调用很难做到细粒度的权限管理。

语言无关:MCP是协议,工具可以用任何语言实现。函数库方案通常限定在特定语言生态内。

远程调用:MCP支持网络调用,工具可以部署在不同机器上。函数库通常只能本地调用。

生态建设:当有成百上千个工具提供商时,MCP提供了统一的发布、发现、集成标准。

实际选择

对于简单场景,你的方案更务实。MCP更像是为了建立一个工具生态系统的基础设施,类似于App Store需要统一的API标准,虽然技术上每个app都可以直接集成到系统中。

所以这不是技术能力的问题,而是架构治理的问题。

posted @ 2025-07-11 16:39  zheng019  阅读(20)  评论(0)    收藏  举报