支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


MCP和Function Call的区别究竟在哪里?

发布日期:2025-05-13 07:37:04 浏览次数: 1535 作者:AGI小酒馆
推荐语

深入了解MCP和Function Call在AI领域的应用差异与优势。

核心内容:
1. Function Call在大型语言模型中的应用与工作流程
2. MCP架构与Function Call的本质区别
3. MCP带来的开发优势和应用场景

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

本人在之前开发的项目中大量使用Funtion Call, MCP获得关注后,开始并没有完全理解两者的区别和MCP的实际意义。仔细思考了MCP和Function Call的本质区别,有了一些心得,总结归纳如下。

Function Call

在大语言模型(如大语言模型LLM)中,Function Call(函数调用) 是一种让模型能够与外部工具、API或系统交互的机制,使其不仅能生成文本,还能执行特定任务(如查询数据库、调用计算接口等)。以下是其核心工作流程:

  1. 定义被Function Call调用的Tools。
  2. 用户输入时, LLM根据输入匹配Tools的定义,决定执行哪个Tool。调用的时候根据用户输入信息动态生成参数
  3. Tool可以调用外部API, 比如天气查询;或者读取本机文件(例如企业黑话汇总文件)
  4. LLM根据Tool调用结果,直接生成回复,或者可以根据返回结果决定是否要调用其他Tool.

MCP

官方给出的MCP架构是这样的:

这个架构定义比较抽象, 这里把上面的Function Call结合一下,个人感觉比较容易理解

从此图可以看出,最大的改动在于Tool的定义移到Application外面了。 具体来说, 现在由原来提供API的服务提供商来定义Tools, 并封装成一个MCP Server. 例如,高德地图把他们的地理编码/逆地理编码/路径规划等API封装成Tools并提供一个API。详细参考https://lbs.amap.com/api/mcp-server/summary

如此一来应用开发者只要在原来的Application中实现MCP Client,根据LLM的指示调用对应的MCP Server就行了。原来的Application现在也叫MCP Host了。

MCP的优势

极大简化应用开发工作量

假设应用要调用100个api, Function Call方案要实现100个Tool, 现在不用了,因为Tool是服务提供商实现了。应用侧只需要实现一个mcp client就行。

更容易标准化

如果企业有多个团队,Function Call每个团队都要实现自己的Tool, 实现方式五花八门.现在这样的问题不存在了。

增加Tool的可靠性和可复用性

由服务商实现Tool, 并提供全世界开发者使用,比每个Tool由全世界不同的开发者分别实现,复用性大大增加。

增加Tool的易用性

如果应用逻辑并不复杂, 无需开发自己的MCP Host和MCP Client。 借助已有的工具例如Cursor, CLine, 直接调用MCP Server完成工作。 对于没有编程经验的人来说,可用性大大增强。

#MCP#FunctionCall#AI

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询