一文精讲 - MCP与LLM函数调用的区别

前言

自从发布MCP相关文章以来,收到很多小伙伴的私信,我发现大部分人都在问MCP和LLM的Function Call(下文统称为函数调用)到底有什么区别? 前文如下:

这是一个好问题,至少说明小伙伴们在认真阅读,并深度思考问题, 这个状态很好。另外另外也算是对笔者的鼓励,写东西有人看了ฅʕ•̫͡•ʔฅ 下面笔者尽量用通俗的语言来讲解两者的区别,尽可能全方位展开论述。如有理解不到位的地方欢迎并感谢指正。 开整( •︠ˍ•︡ )

图片


什么是LLM函数调用?

LLM函数调用是指大型语言模型(LLM)根据用户提示生成结构化输出(通常是JSON格式),用于调用外部函数或工具。 比如,当你问“纽约的天气如何?”时,LLM可能会生成一个JSON,告诉应用去调用“获取天气”函数。

图片


什么是MCP?

MCP(模型上下文协议)是一个开放标准,让AI模型与外部工具和服务交互。 它像一个桥梁,AI通过它请求工具执行任务,比如获取天气数据,标准化了交互方式。 其它详细内容这里不赘述,可以看这里: 这里介绍只是为了整体结构的完整性•ɷ•

图片


小结

  • LLM函数调用: AI生成调用外部函数的指令,但需要为每个AI和工具单独设置,扩展性有限。
  • MCP: 提供统一接口,AI通过MCP服务器访问工具,减少重复设置,更适合大规模使用。

MCP在可扩展性和效率上优于LLM函数调用,当然在世界上没有一个大一统(这也是爱因斯坦毕生的愿望)的东西存在,MCP的发展还需要时间来进化、跃迁。另外在MCP社区还有一个讨论比较热的点即:MCP与现有系统的兼容性如何发展。

其实从上面LLM函数调用与MCP简介中的“获取天气数据”例子,应该能找到大概感觉了。


详细说明

LLM函数调用

LLM函数调用是指LLM生成结构化输出(通常是JSON格式)的能力,这些输出可用于调用外部函数或工具。例如,当用户询问“纽约的天气如何?”时,LLM可能会生成如下JSON:

 
  1. {
  2.   "function": "get_weather",
  3.   "parameters": {
  4.     "location": "北京"
  5.   }
  6. }

应用然后会解析此输出并执行get_weather函数,返回天气数据。其目的是使LLM能够执行需要外部数据或功能的任务,如检索实时信息或与业务系统交互。

从搜索结果来看,LLM函数调用是许多AI模型(如OpenAI的GPT模型)的常见功能,特别是在构建聊天机器人或代理时。例如,Function Calling with LLMs (https://www.promptingguide.ai/applications/function_calling)详细说明了如何通过微调LLM来检测何时需要调用函数,并输出包含参数的JSON。

MCP的定义与用途

MCP是由Anthropic在2024年11月引入的开放标准协议,旨在为AI模型提供与外部工具、数据源和服务的标准化交互方式。它通过客户端-服务器架构工作:AI模型(客户端)向MCP服务器发送请求,服务器处理与特定工具或数据源的交互。例如,对于相同的天气查询,LLM可能会生成:

 
  1. {
  2.   "jsonrpc": "2.0",
  3.   "id": 1,
  4.   "method": "tools/call", // 调用工具
  5.   "params": {
  6.     "name": "get_weather",
  7.     "arguments": {
  8.       "location": "北京"
  9.     }
  10.   }
  11. }}

此请求发送到MCP服务器,服务器执行get_weather函数并以标准化格式返回结果。MCP的目的是解决AI集成的难题,提供通用接口,使开发者无需为每个工具编写自定义代码。例如,Introducing the Model Context Protocol(https://www.anthropic.com/news/model-context-protocol)强调了MCP如何帮助前沿模型产生更相关、更准确的响应。


详细比较

以下表格总结了MCP和LLM函数调用的关键区别:

方面

LLM函数调用

MCP(模型上下文协议)

焦点

使LLM能够生成用于调用外部函数的结构化输出。

提供标准化框架,执行这些函数调用,确保与不同工具和服务的兼容性。

标准化

可能需要为每个工具或服务编写自定义实现。

提供通用标准,允许与任何MCP兼容服务器的即插即用集成。

可扩展性

扩展到多个工具可能需要为每个集成编写自定义代码。

允许LLM通过连接不同MCP服务器使用广泛的工具,无需为每个工具编写自定义代码。

角色与集成

应用必须同时处理生成函数调用和执行,耦合度较高。

分离关注点:LLM生成调用,MCP服务器处理执行,使系统更模块化。

兼容性

可能特定于某些模型或框架(如OpenAI的GPT模型)。

设计为模型无关,任何支持协议的AI模型都可以使用任何MCP服务器。

复杂性

需要为每个LLM应用定义函数,可能较为繁琐。

通过将函数定义与LLM应用分离,简化集成,增强可重用性。

使用案例

适合基本工具集成,但对于复杂、多工具系统扩展性较差。

适合构建可扩展的集成AI系统,提供标准化工具访问。


为什么MCP被视为LLM函数调用的进步

MCP在LLM函数调用的基础上引入了标准化和模块化,使集成更加高效。例如,What's MCP all about? Comparing MCP with LLM function calling (https://neon.tech/blog/mcp-vs-llm-function-calling)指出,MCP服务器充当AI应用与第三方服务之间的桥梁,暴露函数通过标准化协议,任何MCP兼容的LLM都可以访问。这减少了开发工作量,并促进了社区采用,如GitHub、Slack等关键数据存储已开始支持MCP。

此外,MCP的客户端-服务器架构使开发者可以创建或使用现有的MCP服务器,增强了可扩展性和可重用性。例如,A Deep Dive Into MCP and the Future of AI Tooling(https://a16z.com/a-deep-dive-into-mcp-and-the-future-of-ai-tooling/)讨论了MCP如何改变AI与工具的交互方式,使开发者能够构建更强大的AI代理。


当前争议与未来展望

尽管MCP被视为进步,但其作为较新标准的采用和与现有框架(如LangChain)的兼容性仍存在争议。例如,Function-Calling vs. Model Context Protocol (MCP): Choosing the Right Approach for LLM Integration (https://www.runloop.ai/blog/function-calling-vs-model-context-protocol-mcp)指出,MCP的广泛采用可能需要时间,特别是对于依赖传统函数调用的现有系统。

自2025年起,MCP正迅速获得关注,特别是在AI社区中,但其长期影响仍需观察。研究表明,结合使用LLM函数调用和MCP可以创建更高效、可扩展的AI驱动软件自动化系统。


最后

总之,MCP和LLM函数调用的区别在于它们的角色:LLM函数调用使模型能够请求外部操作,而MCP提供标准化框架来高效、可扩展地履行这些请求。通过使用MCP,开发者可以构建更集成的AI应用,无需为每个工具编写自定义代码,这在AI工具领域是一个重大进步。 在MCP和LLM函数调用使用上的选择,笔者觉得MCP具有跟高的扩展项,能让项目的可能性更大。

 如何系统的去学习大模型LLM ?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

事实上,抢你饭碗的不是AI,而是会利用AI的人。

科大讯飞、阿里、华为等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?

与其焦虑……

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。

基于此,我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近70次后,终于把整个AI大模型的学习门槛,降到了最低!

在这个版本当中:

第一您不需要具备任何算法和数学的基础
第二不要求准备高配置的电脑
第三不必懂Python等任何编程语言

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型教程已经给大家整理并打包,现在将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

一、LLM大模型经典书籍

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套LLM大模型报告合集

这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
在这里插入图片描述

三、LLM大模型系列视频教程

在这里插入图片描述

四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)

在这里插入图片描述

五、AI产品经理大模型教程

在这里插入图片描述

LLM大模型学习路线 

阶段1:AI大模型时代的基础理解

  • 目标:了解AI大模型的基本概念、发展历程和核心原理。

  • 内容

    • L1.1 人工智能简述与大模型起源
    • L1.2 大模型与通用人工智能
    • L1.3 GPT模型的发展历程
    • L1.4 模型工程
    • L1.4.1 知识大模型
    • L1.4.2 生产大模型
    • L1.4.3 模型工程方法论
    • L1.4.4 模型工程实践
    • L1.5 GPT应用案例

阶段2:AI大模型API应用开发工程

  • 目标:掌握AI大模型API的使用和开发,以及相关的编程技能。

  • 内容

    • L2.1 API接口
    • L2.1.1 OpenAI API接口
    • L2.1.2 Python接口接入
    • L2.1.3 BOT工具类框架
    • L2.1.4 代码示例
    • L2.2 Prompt框架
    • L2.3 流水线工程
    • L2.4 总结与展望

阶段3:AI大模型应用架构实践

  • 目标:深入理解AI大模型的应用架构,并能够进行私有化部署。

  • 内容

    • L3.1 Agent模型框架
    • L3.2 MetaGPT
    • L3.3 ChatGLM
    • L3.4 LLAMA
    • L3.5 其他大模型介绍

阶段4:AI大模型私有化部署

  • 目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。

  • 内容

    • L4.1 模型私有化部署概述
    • L4.2 模型私有化部署的关键技术
    • L4.3 模型私有化部署的实施步骤
    • L4.4 模型私有化部署的应用场景

这份 LLM大模型资料 包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值