news 2026/8/29 2:14:29

大模型的MCP和function calling的使用方式有什么区别

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大模型的MCP和function calling的使用方式有什么区别

MCP(Model Context Protocol)和Function Calling(函数调用)都是让“大模型能用外部能力”的机制,但设计目标、使用方式、抽象层级都有明显区别。下面从「是什么」「怎么用」「适合什么场景」三个层面给出一个工程向对比


一句话先区分

Function Calling
👉“模型按你给的函数签名,返回结构化参数,由你来执行函数”

MCP
👉“模型通过统一协议,自主发现、选择并调用外部工具/资源/服务”


一、Function Calling 是什么 & 怎么用

1️⃣ 核心思想

  • 模型不真正调用函数

  • 只做一件事:生成符合 schema 的 JSON

  • 宿主程序(你)负责:

    1. 解析 JSON
    2. 调用真实函数
    3. 把结果再喂回模型

2️⃣ 使用方式(典型流程)

用户输入 ↓ LLM(看到你注册的函数 schema) ↓ LLM 输出: { "name": "get_weather", "arguments": { "city": "北京" } } ↓ 你调用 get_weather("北京") ↓ 把结果再发给 LLM

3️⃣ 特点总结

✅ 优点

  • 简单、可控
  • 易调试
  • 非常适合单体应用 / API 网关

❌ 局限

  • 强耦合

    • 函数 schema 写死在 prompt / 请求里
  • 无发现能力

    • 模型只能用你“提前告诉它的函数”
  • 不适合跨进程、跨语言、跨服务


二、MCP 是什么 & 怎么用

1️⃣ MCP 的本质

MCP 是一个协议,不是一个模型能力

它定义了:

  • 模型 ↔ 工具 / 服务 之间
  • 如何发现、描述、调用能力

你可以理解为:

“给大模型用的 USB / HTTP + OpenAPI”


2️⃣ MCP 能暴露什么

一个 MCP Server 可以暴露三类能力:

类型举例
Tools发邮件、查数据库、跑代码
Resources文件、日志、数据库记录
Prompts复用 Prompt 模板

模型可以:

  • 动态发现
  • 自主选择
  • 多步调用

3️⃣ 使用方式(概念流程)

LLM 启动 ↓ 连接 MCP Server ↓ 发现可用 tools/resources ↓ 根据任务自主决定: - 调哪个 tool - 用什么参数 - 是否链式调用

模型并不是“被动等你塞函数定义”,而是:

像一个 agent,在一个工具生态里工作


三、关键差异对比(重点)

维度Function CallingMCP
抽象层级
是否协议✅(标准协议)
工具发现❌ 手写✅ 动态
执行位置宿主代码MCP Server
跨语言
多工具协作麻烦原生支持
Agent 场景一般非常适合

四、什么时候用哪个?

✅ 选 Function Calling,如果你:

  • 在做:

    • 后端 API
    • Chatbot
    • Web 应用
  • 工具数量少(<10)

  • 希望强控制、低复杂度

👉80% 产品都应该从 Function Calling 开始


✅ 选 MCP,如果你:

  • 在做:

    • AI Agent
    • IDE / Copilot
    • 内部工具平台
  • 工具来源复杂

  • 希望:

    • 插件化
    • 热插拔
    • 跨语言 / 跨团队

👉MCP 是“AI 工具生态”的基础设施


五、一个直观类比(非常重要)

类比对象Function CallingMCP
驱动方式写死函数即插即用
USB 之前每个设备单独驱动
USB 之后
HTTP vs RPCRPCHTTP + OpenAPI

六、是否“互相替代”?

不是替代关系

实际上:

MCP Server 内部,通常还是用 function calling 或普通代码实现的

可以理解为:

Function Calling = 单机函数调用能力 MCP = 分布式、标准化的函数/资源调用体系
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/24 12:43:52

网络安全行业下班人都干点啥?如何在下班再赚一笔外快?

网络安全行业兼职接单秘籍&#xff1a;计算机人如何凭借技能赚外快 很多计算机人&#xff08;学生 / 转行从业者&#xff09;觉得 “网络安全兼职门槛高&#xff0c;必须是大神才能接”&#xff0c;其实不用会复杂渗透&#xff0c;只要掌握基础工具&#xff08;如 Nmap、Burp&a…

作者头像 李华
网站建设 2026/8/22 15:27:02

Vue.js从入门到实战:一套搞定前端开发核心技能

Vue.js从入门到实战&#xff1a;一套搞定前端开发核心技能前言&#xff1a;在前端开发领域&#xff0c;Vue.js凭借其轻量、易用、高效的特性&#xff0c;成为众多开发者的首选框架。无论是中小型项目的快速搭建&#xff0c;还是大型应用的模块化开发&#xff0c;Vue.js都能凭借…

作者头像 李华
网站建设 2026/8/21 20:31:05

vue基于Python旅游景点推荐数据可视化 flask django Pycharm

这里写目录标题项目介绍项目展示详细视频演示技术栈文章下方名片联系我即可~解决的思路开发技术介绍性能/安全/负载方面python语言Django框架介绍技术路线关键代码详细视频演示收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 随着时代的…

作者头像 李华
网站建设 2026/8/25 14:32:06

Engram 论文精读:用条件记忆模块重塑稀疏大模型

当 MoE 通过条件计算扩展模型容量时&#xff0c;Transformer 却缺少原生的知识查找原语。Engram 提出 条件记忆 作为稀疏性的新轴&#xff0c;让模型以 O(1) 的时间直接检索静态知识&#xff0c;而非通过计算模拟检索。 1. 背景与核心问题 在当前的 大规模语言模型&#xff0…

作者头像 李华
网站建设 2026/8/26 10:30:44

深入解析BPFDoor:利用BPF技术的隐蔽Linux后门

嗨&#xff0c;恶意软件爱好者们&#xff0c; 今天&#xff0c;我将分析一款名为“BPFDoor”的恶意软件。该恶意软件于2022年被发现。 在分析恶意软件之前&#xff0c;别忘了使用虚拟机&#xff0c;并始终记住使用仅主机模式连接。 摘要 BPFDoor 是一款 Linux/Unix 恶意后门程序…

作者头像 李华