Skip to content

MCP 与函数调用(Function Calling)的区别

MCP versus Function calling

在 MCP 变得主流(或者说像现在这样流行)之前,大多数 AI 工作流在调用工具时,依赖的是传统的函数调用(function calling)。下面这张图说明了 function calling 和 MCP 的区别:

mcp p281 1

Function calling 让 LLM 能够根据用户输入,执行预先定义好的函数。在这种方式下,开发者定义好具体的函数,LLM

则通过分析用户的 prompt,来判断该调用哪个函数。整个流程是这样的:1. 开发者创建具有明确输入输出参数的函数。2. LLM 解析用户输入,识别出应该调用的合适函数。3. 应用执行被识别出的函数,处理结果,再把响应返回给用户。不过,这种方式也存在一些局限:

  • 随着函数数量增多,管理和集成它们会变得越来越复杂,需要 M×N 个集成。
  • 函数与特定应用紧密绑定,很难跨系统复用。
  • 只要函数有任何改动,就需要在所有用到它的地方手动更新。MCP 提供了一套标准化协议,用于把 LLM 与外部工具和数据源集成起来。它把工具的实现和工具的使用解耦开,从而让 AI 系统变得更加模块化、更具可扩展性。

本站内容仅供学习交流,版权归原作者所有。