MCP和Function Calling

MCP

MCP(Model Context Protocol,模型上下文协议) ,2024年11月底,由 Anthropic 推出的一种开放标准,旨在统一大模型与外部数据源和工具之间的通信协议。MCP 的主要目的在于解决当前 AI 模型因数据孤岛限制而无法充分发挥潜力的难题,MCP 使得 AI 应用能够安全地访问和操作本地及远程数据,为 AI 应用提供了连接万物的接口。

如下图示意,可以将 MCP 理解为一个 "AI 的 USB 接口",提供了一个连接标准,使 Agent/LLM(如 Claude、ChatGPT、Qwen)能够方便、安全的访问各种外部工具和数据(比如 Gmai、Slack、本地文件等)。

MCP 就是制定了一套标准,充当 AI 模型的"万能转接头",让 LLM 可以使用不同工具。如下图示,这样你应该更容易理解"中间协议层"的概念。

MCP 提供给 LLM 所需的上下文:Resources 资源、Prompts 提示词、Tools 工具。

更具体的说 MCP 的优势在于:

  • 生态:MCP 提供很多现成的插件,你的 AI 可以直接使用。
  • 统一性:不限制于特定的 AI 模型,任何支持 MCP 的模型都可以灵活切换。
  • 数据安全:你的敏感数据留在自己的电脑上,不必全部上传(因为我们可以自行设计接口确定传输哪些数据)。

Function Calling

将模型连接到外部数据和系统,平铺式的罗列 Tools 工具。Function Call是大模型与真实世界交互的"桥梁" ,从语言理解 => 具体行动

Function Calling在大模型中的作用:

  • 扩展模型能力
    大模型本身无法直接操作外部系统(如数据库、计算工具),但通过调用预设函数,可以完成:实时数据获取(天气、股价、新闻);复杂计算(数学运算、代码执行);操作外部系统(发送邮件、控制智能设备)
  • 结构化输出
    模型可将用户自然语言请求转化为结构化参数,传递给函数。例如:用户说"明天北京天气如何?" → 模型调用 get_weather(location="北京", date="2025-05-06")
  • 动态决策流程
    模型可根据上下文决定是否/何时调用函数,甚至链式调用多个函数(如先查天气,再推荐穿搭)。

MCP与Function Calling区别

已经有了MCP还需要Function Calling么?

简单、原子化任务使用Function Calling会更方便

  • 查询天气 get_weather(city="北京")
  • 计算数学公式 calculate(expression="3+5")
  • 发送单条通知 send_email(to="user@example.com")

Function Calling优势:

开发快捷:无需配置 MCP Server,直接通过模型 API 调用预定义函数。

低延迟:单次请求-响应,无需协议层开销。

MCP 可能成为主流,但 Function Calling 作为底层能力仍将存在

相关推荐
一个想打拳的程序员几秒前
无需复杂配置!用%20docker-webtop%20打造跨设备通用%20Linux%20桌面,加载cpolar远程访问就这么简单
java·人工智能·docker·容器
鹿鸣天涯2 分钟前
中科曙光scaleX国产万卡级AI集群系统
人工智能·搜索引擎
JoannaJuanCV5 分钟前
自动驾驶—CARLA仿真(20)manual_control demo
人工智能·机器学习·自动驾驶·carla
最晚的py6 分钟前
聚类的评估方法
人工智能·算法·机器学习
KG_LLM图谱增强大模型7 分钟前
【102页最新综述】AI智能体时代的记忆系统:形式、功能与知识图谱长记忆动态机制全景解析
大数据·人工智能·agent
jkyy20147 分钟前
从菜品识别到健康决策:AI技术如何赋能B端智慧饮食管理
大数据·人工智能·科技·健康医疗
风123456789~9 分钟前
【健康管理】第8章 身体活动基本知识 2/2
笔记·考证·健康管理
Coder个人博客9 分钟前
Apollo 9.0.0 自动驾驶系统整体架构分析
人工智能·架构·自动驾驶
代码游侠14 分钟前
学习笔记——Linux进程间通信(IPC)
linux·运维·笔记·学习·算法
Deepoch18 分钟前
从“功能机”到“智能体”:服务机器人的认知革命与产业重构
大数据·人工智能·科技·机器人·未来·具身模型·deepoc