主题
MCP 不是函数调用的升级版,也不是函数调用的替代品。两者处在不同层次,解决的是一次工具调用链条里的不同问题。
函数调用负责“意图生成”。大模型原生输出的是自然语言,程序无法直接拿一句“查北京天气”去调用接口。函数调用让开发者预先定义工具名称、参数结构和用途说明,使模型能把自然语言意图转成结构化请求,例如生成“调用天气查询函数,参数为北京”。但函数调用只负责生成请求,不负责真正连接外部系统、启动工具、执行调用和接收回调结果。
MCP 负责“标准化执行”。它站在函数调用之后,解决工具发现、连接、调用和结果返回的标准化问题。过去每接一个外部工具,开发者都要单独写一套适配代码;工具多了以后,就会出现“十个工具十套接法、换个模型重来一遍”的生态碎片化问题。MCP 的目标是把工具发现、工具调用和结果返回统一成协议,让工具具备可发现、可移植、可跨系统执行的能力。
可以把一次工具调用看成接力赛:函数调用是第一棒,负责把模型意图表达成结构化请求;MCP 是第二棒,负责按统一协议找到工具、执行请求、返回结果。二者是前后配合关系,而不是谁取代谁。
