小白程序员必看:深入理解大模型中的MCP与Function Calling互补关系
本文澄清了MCP与Function Calling并非替代关系而是互补关系。Function Calling负责模型与服务器间的工具选择协议而MCP负责服务器与外部工具间的标准化调用。文章通过解析大模型应用链路结合实战案例说明两者可在同一链路中协同工作开发者可同时使用以实现标准化管理。一个流传很广的误解自从 Anthropic 推出 MCP 协议之后就有很多人把 MCP 和 Function Calling 放在一起比较。其中流传最广的一种说法是MCP 统一了 Function Calling 的协议有了 MCP 之后 Function Calling 就没有存在的必要了。乍一听很有道理——两者看起来都是「调用工具」相关的事情而 MCP 更加标准化。但坦率地讲这个说法是有问题的。Function Calling 和 MCP 不是替代关系而是互补关系。它们在大模型应用链路中扮演的角色完全不同。Function Calling 到底是什么先搞清楚 Function Calling 是什么。大模型训练好之后它的知识库就固定了。如果用户问的问题超出了模型训练数据的范围模型要么回答不知道要么就开始胡言乱语。那有没有办法让模型调用外部工具来获取信息呢这就是 Function Calling 做的事。通俗点讲Function Calling 是指模型具备调用外部函数的能力。什么外部函数查询天气、搜索新闻、发送邮件——这些都叫外部工具。工具本质上就是编程语言里的函数。比如一个获取天气预报的函数你传个经纬度进去它就返回天气数据。不过这里有个关键点要澄清模型自己其实不直接调用函数。它需要一个中间人——也就是服务器——来帮它执行。模型做的事情是接收到可用工具列表后从中挑选合适的工具和参数然后告诉中间人「帮我调这个」。中间人执行完函数后把结果返回给模型模型再根据结果总结答案。所以 Function Calling 这个名字其实有点误导性——它并不是「模型自己调用函数」而是「模型具备选择和使用工具的能力」。Function Calling 和 MCP 各自扮演的角色为了说清楚两者关系需要把一条完整的大模型应用链路拆开来看。一条典型的链路包含四个角色用户、服务器应用后端、模型 API、外部工具。用户提问题服务器把问题和可用工具列表一起发给模型 API模型 API 决定调用哪个工具服务器再去执行实际的函数调用。在这个链路里Function Calling 的作用范围在模型 API 这一层。它规定了模型 API 如何解析传入的工具列表、如何从中选择工具和参数、如何处理工具返回的结果。你可以理解为它是模型和服务器之间的「工具选择协议」。MCP 的作用范围在服务器和外部工具这一层。它规定了服务器如何发现和调用各种工具。你的工具有多少个、用什么方式暴露、参数是什么格式——这些由 MCP 来标准化。两者作用于链路中的不同环节一个管「选工具」一个管「调工具」。不存在谁取代谁的问题。实战在同一链路里同时使用两者光讲概念还不够看代码最实在。用 Python 写了一个叫 MarkChat 的演示项目。核心链路分五步第一次调用模型 API把用户问题和可用工具列表传过去从模型返回结果中提取工具名称和参数服务器执行工具这一步就是实际的函数调用把工具执行结果加入历史消息第二次调用模型 API模型根据工具返回的数据生成最终答案关键在第三步。把标准的 Function Calling 代码改了一下把工具执行的部分替换成了 MCP 客户端。也就是说在执行工具这一步不再直接调用一个写死的 Python 函数而是通过 MCP Client 去连接 MCP Server由 MCP Server 来提供工具和数据。运行结果验证了这一点模型正常返回了答案而且工具调用信息明确显示来自 MCP Server。这就证明了 Function Calling 和 MCP 可以在同一条链路中各司其职。一点技术上的启示这个案例实际上揭示了一个架构设计的思路。模型 API 层的协议Function Calling和工具层的协议MCP是不同抽象层级的东西。很多人在讨论技术选型时会下意识地把两者拉到同一个维度去比较但实际设计中它们不仅不冲突还常常相互配合。开发者完全可以在保持现有 Function Calling 链路不变的前提下通过修改工具执行层来接入 MCP从而实现工具的标准化管理。这种组合方式在未来很长一段时间里都会是主流做法。常见问题问MCP 会不会最终取代 Function Calling不会。两者作用在链路的不同环节。Function Calling 管的是模型和服务器之间的工具选择交互MCP 管的是服务器和工具之间的发现与调用。它们不是同一个层面的东西不存在取代关系。问开发中能同时用 Function Calling 和 MCP 吗完全可以。在工具执行层把实际的函数调用替换为 MCP 协议即可模型 API 的调用逻辑不需要改动。两者在一条链路中配合得很好。问Function Calling 的协议是怎么传递工具列表的通常通过模型 API 请求体中的tools字段来传递每个工具会用 JSON Schema 描述其名称、参数格式等。模型响应中通过tool_calls字段返回它选择调用的工具和参数。如何学习大模型 AI 由于新岗位的生产效率要优于被取代岗位的生产效率所以实际上整个社会的生产效率是提升的。但是具体到个人只能说是“最先掌握AI的人将会比较晚掌握AI的人有竞争优势”。这句话放在计算机、互联网、移动互联网的开局时期都是一样的道理。我在一线互联网企业工作十余年里指导过不少同行后辈。帮助很多人得到了学习和成长。我意识到有很多经验和知识值得分享给大家也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限很多互联网行业朋友无法获得正确的资料得到学习提升故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】为什么要学习大模型我国在A大模型领域面临人才短缺,数量与质量均落后于发达国家。2023年人才缺口已超百万凸显培养不足。随着AI技术飞速发展预计到2025年,这一缺口将急剧扩大至400万,严重制约我国AI产业的创新步伐。加强人才培养,优化教育体系,国际合作并进是破解困局、推动AI发展的关键。大模型入门到实战全套学习大礼包1、大模型系统化学习路线作为学习AI大模型技术的新手方向至关重要。 正确的学习路线可以为你节省时间少走弯路方向不对努力白费。这里我给大家准备了一份最科学最系统的学习成长路线图和学习规划带你从零基础入门到精通2、大模型学习书籍文档学习AI大模型离不开书籍文档我精选了一系列大模型技术的书籍和学习文档电子版它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。3、AI大模型最新行业报告2025最新行业报告针对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。4、大模型项目实战配套源码学以致用在项目实战中检验和巩固你所学到的知识同时为你找工作就业和职业发展打下坚实的基础。5、大模型大厂面试真题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我精心整理了一份大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。适用人群第一阶段10天初阶应用该阶段让大家对大模型 AI有一个最前沿的认识对大模型 AI 的理解超过 95% 的人可以在相关讨论时发表高级、不跟风、又接地气的见解别人只会和 AI 聊天而你能调教 AI并能用代码将大模型和业务衔接。大模型 AI 能干什么大模型是怎样获得「智能」的用好 AI 的核心心法大模型应用业务架构大模型应用技术架构代码示例向 GPT-3.5 灌入新知识提示工程的意义和核心思想Prompt 典型构成指令调优方法论思维链和思维树Prompt 攻击和防范…第二阶段30天高阶应用该阶段我们正式进入大模型 AI 进阶实战学习学会构造私有知识库扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架抓住最新的技术进展适合 Python 和 JavaScript 程序员。为什么要做 RAG搭建一个简单的 ChatPDF检索的基础概念什么是向量表示Embeddings向量数据库与向量检索基于向量检索的 RAG搭建 RAG 系统的扩展知识混合检索与 RAG-Fusion 简介向量模型本地部署…第三阶段30天模型训练恭喜你如果学到这里你基本可以找到一份大模型 AI相关的工作自己也能训练 GPT 了通过微调训练自己的垂直大模型能独立训练开源多模态大模型掌握更多技术方案。到此为止大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗为什么要做 RAG什么是模型什么是模型训练求解器 损失函数简介小实验2手写一个简单的神经网络并训练它什么是训练/预训练/微调/轻量化微调Transformer结构简介轻量化微调实验数据集的构建…第四阶段20天商业闭环对全球大模型从性能、吞吐量、成本等方面有一定的认知可以在云端和本地等多种环境下部署大模型找到适合自己的项目/创业方向做一名被 AI 武装的产品经理。硬件选型带你了解全球大模型使用国产大模型服务搭建 OpenAI 代理热身基于阿里云 PAI 部署 Stable Diffusion在本地计算机运行大模型大模型的私有化部署基于 vLLM 部署大模型案例如何优雅地在阿里云私有部署开源大模型部署一套开源 LLM 项目内容安全互联网信息服务算法备案…学习是一个过程只要学习就会有挑战。天道酬勤你越努力就会成为越优秀的自己。如果你能在15天内完成所有的任务那你堪称天才。然而如果你能完成 60-70% 的内容你就已经开始具备成为一名大模型 AI 的正确特征了。这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

相关新闻

Open Code Review:如何让代码评审从走过场变成团队知识沉淀

Open Code Review:如何让代码评审从走过场变成团队知识沉淀

1. 从“代码评审”这件事说起“open-code-review”这个标题,第一次看到的时候我愣了一下。它不像那种一眼就能看明白的工具名,也不像某个框架的缩写,更像是一种动作、一种状态,甚至是一种态度。后来我琢磨了一下,把它拆…

2026/10/12 7:29:19 阅读更多 →
C盘空间告急?用Codex扫描AppData,安全释放87.81GB

C盘空间告急?用Codex扫描AppData,安全释放87.81GB

1. 从一次C盘告急说起:为什么“删文件”是最差的第一反应那天下午,我正在赶一个跨平台项目的构建包,IDE突然弹窗提示磁盘空间不足,紧接着整个系统开始卡顿,连保存代码都要转圈好几秒。切到资源管理器一看,C…

2026/10/12 7:29:19 阅读更多 →
pstack 原理、用法与实战:快速定位进程卡顿与死锁

pstack 原理、用法与实战:快速定位进程卡顿与死锁

1. 从一次线上卡顿说起:pstack 到底解决什么问题线上服务跑着跑着突然响应变慢,CPU 看着不高,日志也没什么异常,重启之后又能撑一阵子——这种问题最让人头疼。我最早接触 pstack,就是因为一个后台服务每隔几天就出现一…

2026/10/12 7:29:19 阅读更多 →

最新新闻

本地ComfyUI生成AI漫剧:从整合包安装到批量出片的完整方案

本地ComfyUI生成AI漫剧:从整合包安装到批量出片的完整方案

前两天一个做短视频的朋友跑来问我:网上那些AI漫剧到底是怎么做出来的?他试了好几个能生成视频的网页,几分钟就烧掉几十块,充值按钮还老在眼前晃,生成次数也卡得死死的。我直接把我自己在用的一套本地方案丢给了他&…

2026/10/12 8:24:00 阅读更多 →
面试六分钟速败?拆解高频变态问题背后的考察逻辑与应对技巧

面试六分钟速败?拆解高频变态问题背后的考察逻辑与应对技巧

10点预约的面试,10点06我已经坐在公司楼下的便利店捧着冰美式发呆,手里攥着被汗水浸皱的简历。前后不到一支烟的时间就结束了战斗,快到我甚至在怀疑自己是不是走错了楼层。但那六分钟里,面试官抛出的问题,每一句都让我…

2026/10/12 8:24:00 阅读更多 →
哈希洪荒攻击:当HashMap变成性能炸弹

哈希洪荒攻击:当HashMap变成性能炸弹

1. 这不是密码学课,是给你讲个能听懂的“快递站爆仓”故事你有没有经历过这种场景:小区门口突然堆满快递,不是因为双十一大促,而是有人用同一张收货单——反复写了1000遍“3栋2单元501”,然后一股脑全塞进快递柜。柜子…

2026/10/12 8:24:00 阅读更多 →
网络最大流算法详解:从EK到Dinic的模板题实战指南

网络最大流算法详解:从EK到Dinic的模板题实战指南

1. 从零理解网络最大流:为什么这道模板题值得反复琢磨很多人第一次在算法题库里刷到“网络最大流”这个标签时,反应都差不多——看了一遍定义,觉得好像懂了,真上手写代码,发现连样例都过不去。我当年也是这样&#xff…

2026/10/12 8:24:00 阅读更多 →
混合发电系统协同调度优化:风电、光热与热电联产建模实战

混合发电系统协同调度优化:风电、光热与热电联产建模实战

凌晨两点,值班室里的风功率预测曲线开始往上翻,光热电站的储热罐温度却已经降到了下限附近,而热电联产机组正被热网指令压着电出力——一边是风电想满发,一边是热用户等着供热,白天攒下来的光热余量还没放干净。这个场…

2026/10/12 8:24:00 阅读更多 →
6G显存也能跑ComfyUI反推与提示词直出:本地部署与避坑指南

6G显存也能跑ComfyUI反推与提示词直出:本地部署与避坑指南

最近折腾 ComfyUI 的花样越来越多,有人拿它做修图,有人拿它跑写真,但我被问得最多的问题是:“只有 6G 显存,能本地玩反推和提示词直出吗?”答案是能,而且比你想象中稳。这篇记录基于我反复装了三…

2026/10/12 8:22:59 阅读更多 →

日新闻

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

复古胶片颗粒感噪点合成器:Canvas ImageData 像素高斯杂色注入算法

在数码相机、高清显示屏与现代矢量图形技术高度发达的今天,画面可以做到绝对的锐利、平滑与无瑕。然而,当一张秋日手账插画或拍立得照片过于“平整无瑕”时,往往会散发出一种冰冷生硬的“数码塑料感(Digital Plasticity&#xff0…

2026/10/12 0:00:59 阅读更多 →
活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

活字印刷古籍线装排版:Canvas 竖排文字与栏线自适应算法

在现代网页与移动端设计中,横排(Horizontal Layout)早已经成为了绝对的主流。然而,当我们翻开泛黄的线装古籍、宋版木刻诗集,或是欣赏一张茶道雅集的手写便签时,那种**自上而下纵向书写、自右向左逐列铺展&…

2026/10/12 0:00:59 阅读更多 →
周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

周日晚间的“精神松绑减震器”:无压力情绪倾倒箱与温和轻声陪伴

每到周日的晚上八点到十点,很多人心里都会悄悄亮起一盏警示灯。 在心理学上,这种现象有一个专门的称谓——“周日夜晚焦虑症(Sunday Scaries)”。明天又是周一,闹钟又要重新在七点响彻卧房;脑海里仿佛有一个…

2026/10/12 0:00:59 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/12 0:16:30 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/12 0:16:38 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/12 0:16:43 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:53 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/11 14:36:54 阅读更多 →