当前位置: 首页 > news >正文

Function calling和mcp区别

Function callingMCP(Model Context Protocol,模型上下文协议) 都是让大语言模型(LLM)与外部世界交互的方案,但在设计目标、覆盖范围和实现方式上有明显差异。


一、什么是 Function calling

  • 定义
    Function calling 是 OpenAI 在 GPT 系列(如 gpt-4-0613、gpt-3.5-turbo-0613 等)中推出的一项 API 功能。开发者在请求里向模型提供一组“函数定义”(包括函数名、参数 JSON Schema、描述等),模型会根据对话内容自动判断是否需要调用其中某个函数,并输出一个符合 Schema 的 JSON 调用指令。

  • 典型流程

    1. 客户端调用 Chat Completions API,并在 functions 参数里传入若干函数定义。

    2. 模型在生成回复时,如果判断需要外部操作,就输出:

      {"name": "get_current_weather","arguments": { "location": "Boston", "unit": "celsius" }
      }
      
    3. 客户端接收上述函数调用指令,执行本地或远程函数,获得返回值后,再把结果传给模型,模型据此生成最终回复。

  • 适用场景

    • 简化“自然语言 → API 调用” 的桥梁(比如天气查询、发邮件、数据库查询等)。
    • 插件式扩展:只需定义少量函数,就能让模型具备新能力。 (OpenAI)

二、什么是 MCP

在这里插入图片描述

  • 定义
    MCP(Model Context Protocol)是由 Anthropic 推动的开放标准协议,旨在为任意 LLM 应用提供一个统一的上下文交互层。它不只是“函数调用”,而是涵盖了对各种资源、工具、提示词、采样策略和传输方式的标准化规范。

  • 核心模块

    1. Resources(资源):数据库、文件系统、API 等外部数据源
    2. Prompts(提示词):如何动态拼装上下文给模型
    3. Tools(工具):可执行操作的函数、脚本或微服务
    4. Transports(传输层):支持 stdio、SSE 等协议,保证模型与 MCP 服务器之间通信可靠
  • 生态与发展

    • 2024 年 11 月开源,Anthropic 示例中用 Claude 客户端一分钟内接入 GitHub 并发起 PR (The Verge)
    • 2025 年 4 月获得行业认可,Axios 报道称它正成为 LLM 与日常应用、企业系统互联的“USB-C”标准 (Axios)
  • 适用场景

    • 构建多步骤、跨工具的智能 Agent(如业务流程自动化)
    • 需要对上下文做精细化管理:不仅是调用一次函数,而是持续维护资源、提示和状态

在这里插入图片描述
在这里插入图片描述

三、主要区别对比

Function callingMCP(Model Context Protocol)
范畴OpenAI API 的内建能力跨模型、跨平台的开放协议
覆盖范围仅「函数调用」:自然语言→API/函数包含「资源接入」+「提示管理」+「工具暴露」+「传输层」等
接口规范JSON Schema 定义函数签名与参数统一的 MCP 规范文档,定义 Resources/Tools/Prompts 等
运作模式模型判断并发起单次或并行函数调用应用方搭建 MCP Server,模型与之持续交互
典型应用天气查询、发邮件、简单数据库查询企业级数据报表、跨系统自动化工作流、复杂 Agent

四、小结

  • 如果仅需让 GPT 在对话中智能地调用几个接口,Function calling 无疑是开箱即用的最佳选择。
  • 若要构建一个可组合、可扩展的 AI 应用生态,让模型能随时访问各种数据源、执行多步任务,并在不同工具间保持上下文连贯,则更适合采用MCP这样完整的协议层

相关文章:

  • 【pycharm】如何连接远程仓库进行版本管理(应用版本)
  • OpenWrt 插件安装失败的常见问题和解决方法
  • LeetCode 169:多数元素 - 摩尔投票法的精妙解法
  • 8.5 Q1|中山大学CHARLS发文 | 甘油三酯葡萄糖-腰身高比指数与中国中老年人心血管疾病的关系
  • 删除队列中整数
  • nova14 ultra,是如何防住80°C热水和10000KPa水压冲击的?
  • Windows下的Qtxlsx下载和编译打包成库
  • 办公效率王Word批量转PDF 50 +文档一键转换保留原格式零错乱
  • Dockerfile正确写法之现代容器化构建的最佳实践
  • LeetCode hot100-6
  • day12 leetcode-hot100-20(矩阵3)
  • 五、web安全--XSS漏洞(1)--XSS漏洞利用全过程
  • Spring MVC极简入门:从@Reuest到Postman的全链路开发
  • 精益数据分析(93/126):增长率的真相——从数据基准到科学增长策略
  • STM32F103_Bootloader程序开发04 - App跳转模块(app_jump.c与app_jump.h)
  • 仿DeepSeek AI问答系统完整版(带RAG本地知识库+联网搜索+深度思考) +springboot+vue3
  • 在Shopify性能调优过程中,如何考虑用户体验的完整性?
  • 针对C++开发工具推荐及分析(涵盖IDE、编译器、调试工具和辅助工具)
  • 流光溢彩的数字长河:Linux基础IO,文件系统的诗意漫游
  • 【25软考网工】第九章 网络管理(1)网络管理基础、SNMP
  • 网站开发好公司/长春网站建设 4435
  • 海珠免费网站建设/视频广告
  • 阿里巴巴怎么做自己的免费网站/淘宝指数查询入口
  • 深圳建设管理中心网站首页/上海网络营销上海网络推广
  • 请人做网站要多/百度的网页地址
  • 最新手游2022首发排行/seo搜索优化