比较

对比维度 MCP(Model Context Protocol)​ Function Calling Agent(智能体)​
定义 由 Anthropic 推出的开放协议,标准化 LLM 与外部数据源、工具的通信接口

 

LLM 调用外部函数的机制,通过 JSON 参数规范模型与外部系统的交互

 

自主运行的智能系统,通过分析、决策和执行实现目标,可调用工具和规划任务

 

核心功能 - 提供标准化工具调用接口
- 动态上下文管理
- 跨平台/多数据源集成

 

- 单次函数调用
- 参数解析与执行
- 轻量化任务扩展

 

- 多步骤任务规划
- 自主决策与反思
- 多工具协作

 

技术特点 - 客户端-服务器架构(Host/Client/Server)
- 支持 REST/gRPC 通信
- 工具描述与权限控制

 

- 基于 JSON Schema 定义函数参数
- 依赖 LLM 生成调用指令
- 需手动实现执行逻辑

 

- 结合 RAG、ReAct 等框架
- 长期记忆与状态管理
- 多模态交互能力

 

典型应用场景 - 跨平台工具集成(如同时访问本地文件 + Jira API)
- 敏感数据隔离(医疗/金融场景)

 

- 简单功能扩展(如天气查询、计算器)
- 封闭环境应用(内部知识库)

 

- 复杂任务自动化(代码生成、数据分析)
- 拟人化交互(客服、教育辅导)

 

优点 - 标准化协议,降低集成成本
- 支持动态上下文切换
- 多厂商 LLM 兼容

 

- 开发简单快速
- 轻量级交互
- 深度绑定特定 LLM(如 GPT-4)

 

- 高度自主性
- 复杂任务处理能力
- 可扩展性强

 

局限性 - 架构复杂,部署成本高
- 依赖协议生态成熟度

 

- 功能单一
- 缺乏动态上下文管理
- 跨平台适配性差

 

- 资源消耗大
- 多步推理可能出错
- 工具调用依赖外部系统稳定性

 

补充说明:

  1. MCP 与 Function Calling 的关系
    MCP 可视为 Function Calling 的扩展协议,通过标准化接口解耦工具调用与具体 LLM,解决跨平台和动态上下文问题

  2. 实现逻辑

    • ​MCP:采用客户端-服务器架构,通过MCP Server统一管理工具调用和数据访问,LLM只需遵循协议发送请求,无需关注底层实现细节
    • ​Function Calling:要求开发者预先定义函数签名,LLM直接生成调用指令,应用负责执行。这种方式与特定模型强绑定,扩展性受限
  3. 技术关系

    1. ​互补性:MCP协议可以封装Function Calling作为其底层执行方式之一,但并非必须依赖

      示例:MCP Server通过Python脚本调用OpenAI的Function Calling接口,但其他工具可能直接操作本地资源。
    2. ​独立性:实验表明,即使LLM不支持Function Calling(如DeepSeek Re),也能通过MCP实现工具调用

      ,说明二者在技术实现上解耦。

    4. 选择建议

    • ​优先MCP:需集成多数据源、跨平台协作或长期维护的场景(如企业级Agent开发)

    • ​优先Function Calling:轻量级、单任务且对延迟敏感的场景(如实时翻译)

functioncalling的执行过程

MCP 的执行过程

MCP

关键设计特性

    1. ​动态工具发现
      MCP Client在每次会话前自动获取最新工具列表,无需预先硬编码函数签名(对比传统Function Calling)

    2. ​权限隔离机制

      • 敏感工具调用需用户二次确认(如文件删除操作)

         
      • 本地资源访问限制在沙箱环境(如仅允许/data/sales目录)

比较LLM的function calling,Agent 和MCP的更多相关文章

  1. function calling convention

    这是2013年写的一篇旧文,放在gegahost.net上面 http://raison.gegahost.net/?p=31 February 19, 2013 function calling c ...

  2. PatentTips – Java native function calling

    BACKGROUND OF INVENTION This invention relates to a system and method for providing a native functio ...

  3. [转]ARM64 Function Calling Conventions

    from apple In general, iOS adheres to the generic ABI specified by ARM for the ARM64 architecture. H ...

  4. Meet Python: little notes 3 - function

    Source: http://www.liaoxuefeng.com/ ♥ Function In python, name of a function could be assigned to a ...

  5. [转] iOS ABI Function Call Guide

    source: apple ARMv6 Function Calling Conventions When functions (routines) call other functions (sub ...

  6. 什么是内联函数(inline function)

    In C, we have used Macro function an optimized technique used by compiler to reduce the execution ti ...

  7. boost function bind ref

    boost::function to encapsulate function pointers. 1. function #include <boost/function.hpp> #i ...

  8. NodeJs学习笔记(五)---单元测试补充

    今天早上继续研究Mocha,忽然发现一个问题,我的大部分程序都是需要登录验证的,所以需要预先登录之后才能进行下一步测试,就开始在网上找答案,发现没有这种资料,很疑惑,最后发现其实是自己太笨了,因为这个 ...

  9. 用PHP实现浏览器点击下载各种格式文档的方法详解【txt apk等等】

    [[注:其他文件想设置成下载文件,和下面介绍的方法一致]] 由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点 ...

  10. 编写自定义Yeoman生成器

    转载自JSCON-简时空:<自定义Yeoman生成器> 1.Getting Started 1.1.设置Node模块 Yeoman提供了generator-generator方便快速编写自 ...

随机推荐

  1. Windows 风格的个人网盘,支持OnlyOffice、支持音视频聊天、支持自动更新

    一年前,我开源了这个网盘,详见Windows风格的个人网盘,支持文档在线编辑,这一年期间,这个网盘进行了大量的更新,具体如下: 新增支持的功能如下: 支持 OnlyOffice (Word.Excel ...

  2. MySQL 中information_schema、mysql、performance_schema、sys 简介

    一.information_schema简介在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息. ...

  3. IDEA神器插件-40款

    IDEA 插件安装 步骤 IDEA里面,选择打开 File --> Settings --> Plugins 在Plugins里面, 可以搜索需要的插件 (下面的标题),然后安装 如下图: ...

  4. EIP、VIP、RIP的区别

    本文分享自天翼云开发者社区<EIP.VIP.RIP的区别>,作者:魏****猛 EIP.VIP.RIP都是网络中经常使用的术语,但是它们的意义和使用场景是不同的. 首先,EIP(Elast ...

  5. PHP简介与开发环境搭建

    PHP简介与开发环境搭建 一.PHP简介 PHP,全称PHP: Hypertext Preprocessor(超文本预处理器),是一种广泛使用的开源服务器端脚本语言,尤其适合Web开发.PHP由Ras ...

  6. 盘点10个.NetCore实用的开源框架项目

    连续分享.Net开源项目快3个月了,今天我们一起梳理下10个,比较受到大家欢迎的.NetCore开源框架项目. 更多开源项目,可以查看我创建的,.Net开源项目榜单! 一个专注收集.Net开源项目的榜 ...

  7. Studio 3T 试用期破解(含破解补丁) - 解决办法

    使用数据可视化工具Studio 3T查看MongoDB数据集数据,但是Studio 3T试用过期了,没了权限打不开软件怎么办? 这里通过建立批处理文件,重置试用时间,即可临时破解权限. 每次开机重启脚 ...

  8. 【渗透测试】Vulnhub Hackable II

    渗透环境 攻击机:   IP: 192.168.216.129(Kali) 靶机:     IP:192.168.216.131 靶机下载地址:https://www.vulnhub.com/entr ...

  9. 机器学习 | 强化学习(1) | 马尔科夫决策过程(MDP)概论

    最近在搞强化学习(Reinforcement Learning),打算把之前写的笔记整理一下 本文基于大卫 希尔维(David Silver)教授的强化学习概论课程,视频中所采用的样例学生马尔科夫链( ...

  10. ESP AT指令使用记录

    一.前言 本篇文章主要用于记录自己在使用AT指令时候的流程,记录一些资料与程序等.如果能帮到你,请给我点个赞. 二.背景知识 ESP-AT是什么? ESP-AT 是乐鑫开发的可直接用于量产的物联网应用 ...