前端的AI路其之一: MCP与Function Calling

前言

AI已经来了。24年末到25年的这几个月里面尤为明显,AI已经开始入侵我们生活的方方面面。总有人说:程序员要被替代了。为了不被替代,为了乘着这股浪潮,作为前端,也只能all in AI了。 接下来,我将以我的视角,来记录一个前端在ai的学习路程。愿你我共勉

1.何为Function Calling

在阐述MCP之前,我想先聊一下Function Calling 。不知道各位有没有体验过Function Calling。如果一句话总结就是 Funcion Calling 是给大模型插上手脚,让我们通过对话的方式,让模型调用对应的工具达到你要的效果 其实很像Siri或者 小爱同学的使用方式。 比如我们想十分钟后让Siri叫我们一下,就可以说: 嘿 Siri,定一个十分钟后的闹钟。然后Siri就会在电脑上建一个闹钟,十分钟后叫醒你。 这其实就像Function Calling实现的效果。给模型插上手脚

1.1 举个栗子

我们举个栗子来描述一下吧。

如果从程序的角度实现这样一个定闹钟的功能,你会怎么做?

如果是我,首先得有一个软件A,然后我会写好这个定闹钟的脚本,支持输入闹钟的时间,然后将这个方法给软件使用。 接下来,用户就可以在软件上通过表单填写提交等方式来定闹钟。

这样一个定闹钟的功能 涉及了三方: 脚本、软件、用户。脚本提供定闹钟的功能、软件提供使用平台、 用户是调用方。 现在作为用户,不想填写脚本了,觉得麻烦,能不能让软件自己搞,用户吩咐一下就行?

可以!我们把大模型看做软件。现在用户说了:定一个十分钟后的闹钟。那么模型该怎么做呢?首先肯定要理解这句话,用户要定一个十分钟后的闹钟。接下来再看下自己能不能做。

那么怎么让模型知道自己能不能做,以及该怎么做呢?这就是Function Calling的存在意义了。它让模型能够理解我们的脚本,并在对应的时候执行这个脚本。

了解了Function Calling,我们再来看MCP

2 何为MCP

2.1 官方定义

官方定义

MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standardized way to connect your devices to various peripherals and accessories, MCP provides a standardized way to connect AI models to different data sources and tools.

理解一下就是 MCP提供了一种标准化的方式,让模型能够连接到不同的数据源和工具。就像USB-C端口一样。不论什么牌子的电脑,只要有USB端口,那么可以插各种外置,键盘啊、鼠标啊、音响啊。只要是USB-C端口,就可以。

2.2 图解

图上提到了了几个概念 MCP Hosts(MCP主机)MCP Clients(MCP客户端)MCP Servers(MCP服务器)Local Data Sources(本地数据源)Remote Services(远程服务)其实我感觉 Clinet 和 Hosts其实不应该分开来看。我把他们看做一个概念Clinet: 即有能力通过MCP访问外部服务的软件

这里也可以用一句话来描述:Server A、B、C 是具有访问本机数据以及远程数据的能力,并且按照MCP协议提供了该能力,Clinet可以通过MCP协议调用A、B、C以使用他们的能力。

2.3 再举个栗子

上面的例子,我在软件A上实现了一个闹钟功能,突然有一天,另外有一个软件B,它也有闹钟功能的诉求,后面还有软件C、D等等。而且他们各自技术栈不一样。怎么办?基于他们各自写一套?这时候,如果能有一套标准就好了,我们将闹钟功能单独提供,各个软件按照标准接入、调用,是不是就一劳永逸了? 同理,如果不同的大模型都遵循同一套协议,那么是不是可以实现一个闹钟,多方调用? 这个统一的协议就是 模型上下文协议(MCP Model Contex Protocol)

如果我们再用一句话总结 MCP就是大模型界的HTTP 。类比到前后端,不论后端是JavaGoNode、前端是JSRust。只要遵循HTTP,那就可以相互通信。 MCP也是类似,不论是什么样的模型,只要遵循MCP协议,Function Calling也遵循MCP协议开发,那么就可以实现无差别复用。

结语

这只是我对Function CallingMCP的浅显理解。为什么会在聊MCP的时候先聊了Function Calling?是因为我看到了很多把他们放在一起比较的文章,但是不论怎么解释,我都觉得好像有些不太合心意。最后,我得到了一个启示,MCP是协议,Function Calling是工具,二者不是一个层面东西,放在一起比较没有意义。最后,我发现MCP应该说是是Function Calling的标准化形态。它让Function Calling的适用性大大提升,把我们从适配中解放出来,让我们更专注于创造。

最后,如果文章有不对之处,欢迎各位指正。虚心求教,不为面子,只为真相。

愿你我共勉,祝好。

参考

相关推荐
airank1 小时前
2026年9月AI搜索时代品牌如何被推荐?GEO服务商选型要点与横向对比
人工智能·aigc·geo·生成式引擎优化·ai可见性
EEET智选2 小时前
科技晨间速报 | 苹果折叠屏deepseek新模型同日发布
人工智能·科技·ai·aigc·手机
找方案4 小时前
AI+电商:AI导购和AIGC商品图如何改变在线购物
人工智能·aigc
Dawson Zhu16 小时前
AI 辅助调试陷入「反复修改」循环?用证据驱动的四步法破局
人工智能·语言模型·架构·aigc·agi
Behaviour16 小时前
iPhone Duo 来了,苹果 Siri AI 接入定制 Gemini
人工智能·ios·语言模型·aigc·iphone
slacker-kian17 小时前
[实践]-本地大模型Agent使用自定义MCP服务实现与SAP系统集成(二)
ai·llm·sap·agent·mcp·odata·qwen-agent
酒旅Agent开发实战19 小时前
酒店供应链MCP实践分享
人工智能·大模型·酒店预订·ai agent·mcp
浩风祭月20 小时前
GPT Image 2.5 Sunburst还是Flare?模型选型、Python接入与成本避坑
python·aigc·openai·图像生成·gpt image 2.5
手写码匠20 小时前
DeepSeek 函数调用实战:从零搭建一个会“动手“的 AI 助手
人工智能·深度学习·算法·aigc
ChampaignWolf1 天前
SAP 官方 ABAP MCP Server 正式落地:ABAP 开发进入 Agentic AI 时代
人工智能·sap·abap·人工智能ai·mcp