MCP 和 Function Calling的区别

核心定义:MCP和Function Calling是AI大模型与外部世界进行交互的两种核心处理机制。

本质定位:标准化协议VS专有接口

MCP:

  • 定义了LLM与外部工具交互的标准流程、消息格式和错误处理机制。

  • 不依赖特定的模型。所有的模型都统一了这种调用模式。

Function Calling:

  • 是特定模型的模型API扩展。针对不同的模型,可能需要编写一些不同的调用API的格式或者参数。

  • 模型生成要调用的函数+参数,应用程序执行函数并返回结果。

核心架构对比:

        对比项MCPFunction Calling
架构模式

客户端-服务端:

-MCP HOST:运行LLM的应用

-MCP CLINET:负责协议交互

-MCP SERVER:提供外部功能

点对点直连:

-模型直接与预定义函数交互

-无中间层,简化集成

通信方式

异步+同步混合:

-支持SSE流和HTTP请求

-发送请求后不阻塞,结果返回再处理

同步阻塞:

-调用后必须等待结果返回

-下一轮对话需前次调用完成

消息格式JSON-RPC 2.0标准模型特定JSON结构

核心能力对比:

能力MCPFunction Calling
动态发现: 无需预先定义,可发现新工具支持工具自动发现和探索必须预定义所有可用函数
并行调用: 同时执行多个工具支持多工具并行调用一次只能调用一个函数,需串行执行
上下文管理: 保持多轮交互状态内置会话管理,自动保存中间状态状态需开发者手动维护,调用间无关联
错误处理: 统一的异常处理机制详细结构化错误信息,支持错误恢复和重试,可保存错误发生时的上下文简单错误处理,易造成上下文丢失
扩展性: 添加新功能的便携性支持动态扩展和插件机制,可方便添加新功能模块,易于功能组合扩展性差,需修改代码才能添加新功能难以进行复杂功能的组合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值