跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI算法

Function Call、MCP 与 Agent:大模型能力扩展的核心机制解析

综述由AI生成Function Call 是大模型调用外部工具的能力,MCP 是连接模型与外部数据的通用协议,Agent 则是具备自主决策能力的智能实体。三者层层递进:Function Call 提供基础工具调用接口,MCP 标准化了工具接入方式,而 Agent 在此基础上实现复杂任务规划与执行。理解它们的区别与协同,有助于构建更强大的 AI 应用系统。

CloudNative发布于 2026/4/10更新于 2026/5/2721 浏览

引言

在人工智能快速发展的当下,Agent、MCP、Function Call 这三个概念频繁出现在各种技术讨论中。它们之间存在相似性,容易被混淆,但各自承担着不同的角色。

一、Function Call

Function Call(函数调用)是大模型调用外部函数或 API 以获取信息、执行计算或与系统交互的机制。它将自然语言与程序化工具连接起来,使得大模型能够突破纯文本生成的限制。

核心价值

  • 突破模型闭域限制:通过调用外部工具(如数据库、API、专业软件)扩展 LLM 能力边界。
  • 提升响应可靠性:将开放域问题转化为确定性函数执行(例如数学计算转 Wolfram Alpha 调用)。
  • 实现动作代理:从纯文本生成升级为可编程行为(如发送邮件、修改代码)。
  • 深度绑定模型:通常作为模型的一部分,是增强大模型能力的直接方式。

Function Call 时序图

以 ChatGPT 利用 Function call 解答'北京今日气温?'为例,其交互流程如下:

Function Call 时序图

嵌入机制

本质上,Function Call 可以看作是 ChatGPT 插件的 API 化升级。它深度绑定到模型中,模型运行时直接调用,就像是模型内部的协议一样。开发者通过结构化的描述文件来简化通信流程,告诉模型如何调用接口以及这些接口能做什么。当用户提问时,如果模型判断插件能更好地解决问题,就会直接调用相应接口。

二、什么是 MCP?

MCP(Model Context Protocol)是大语言模型(LLM)与外部数据源、工具及服务之间的交互的一种通用的开放通信协议。其核心目标是通过统一的接口框架,解决 AI 模型与真实环境连接不足的问题,使模型能够动态感知上下文并调用多样化工具,从而扩展其功能边界。

三、MCP Server

1、MCP 架构

MCP 协议基于 C-S 架构,核心组件包括:

  • MCP Hosts(主机):像 Claude Desktop、IDE 或 AI 工具这样的程序,希望通过 MCP 访问数据。
  • MCP Clients(客户端):维护与服务器 1:1 连接的协议客户端。
  • MCP Servers(服务器):每个暴露特定功能的轻量级程序,通过标准化的模型上下文协议提供服务。
  • Local Data Sources(本地数据源):您计算机的文件、数据库和服务,MCP 服务器可以安全地访问。
  • Remote Services(远程服务):可以通过互联网(例如,通过 API)访问的外部系统,MCP 服务器可以连接到。

MCP 通过标准化接口和动态工具发现机制,正在重构 AI 与工具生态的协作范式。其本质是构建 LLM 与真实世界的通用适配层,既解决了模型与环境的割裂问题,又降低了开发者的集成成本。

MCP 架构图

2、MCP 的通信机制

  • 消息格式:基于 JSON-RPC 2.0 协议,支持请求(双向)、响应、通知(单向)三类消息类型。
  • 传输方式:
    • 本地通信:通过标准输入输出(stdio)传输,适用于 IDE 等本地工具集成。
    • 远程通信:使用 SSE(Server-Sent Events)实现 HTTP 长连接,支持跨网络服务调用。

3、MCP Server 的核心功能

3.1、动态工具发现

MCP Server 允许 LLM 运行时动态获取已注册的工具列表(如数据库查询、文件操作等),无需硬编码集成,极大提升灵活性和扩展性。

3.2、权限控制与安全执行

支持细粒度权限管理(开发者/用户/模型层级),并通过沙箱技术(如 Docker、WASM)隔离工具执行环境,保障数据安全。

3.3、资源暴露与工具调用

可安全暴露本地文件、数据库记录或远程 API 服务,供 LLM 通过自然语言指令调用,例如查询 PostgreSQL 数据库或生成 3D 建模指令。

3.4、实时通信与上下文管理

支持双向通信(如 SSE 事件流),实时推送数据更新至 LLM,维持会话状态以优化多轮交互。

4、MCP Server 的应用

MCP Server 应用

四、什么是 Agent?

Agent(智能体)指能够自主动态感知环境、规划任务并调用外部能力(外部服务、外部工具、数据库、MCP、Function Call 等)以实现目标的实体,具备环境交互、决策与学习能力。与普通程序最大的不同,Agent 具有环境感知的动态响应能力(如自动驾驶实时避障),而传统程序仅按预设流程执行。

Agent 可以调用外部服务(工具、数据库等),具备自主决策能力,完成复杂任务。它可以调用 MCP、Function Call 等能力。

Agent 示意图

1、Agent 的特征

其核心特征是'自主代理,动态规划',代替用户或系统完成任务。

  • 自主决策:能够根据目标制定计划。
  • 状态记忆:能够保持上下文连贯性。
  • 迭代改进:能够根据反馈动态调整策略。
  • 情境感知:通过多模态传感器融合(如 Tesla 的 8 摄像头 + 雷达系统)。

一般的核心工作流模型为:环境输入 → 感知滤波 → 状态评估 → 策略生成 → 动作执行 → 效果反馈。

2、Agent 的形态

根据形态可分为:

  • 软件 Agent:如聊天机器人、推荐算法。
  • 物理 Agent:如自动驾驶汽车、工业机器人。
  • 混合 Agent:如无人机搭载视觉识别系统。

3、Agent 的工作时序图

Agent 时序图

五、Function Call vs MCP vs Agent

Function Call 是指大模型直接调用预定义函数的能力,允许模型生成请求参数并整合结果。例如模型可以通过 Function Call 查询天气或执行简单的数学计算。它的本质是'代码级工具',通常与模型绑定部署。

Agent 是一种具备自主决策能力的 AI 实体,能够感知环境、规划任务并自主调用工具(包括 MCP Server 和 Function Call)完成目标。例如,一个 Agent 可以接到'撰写 AI 趋势报告'的任务后,自动抓取数据、分析内容并生成报告。

MCP Server 的功能相对单一,专注于提供数据和工具接口的工具箱。例如,它可以抓取网页、读取文件或调用 API,但不具备推理能力。

1、复杂度与能力方面

复杂度对比

能力对比

2、响应方式

响应方式

3、三者协同

协同关系

协同细节

4、功能对比

功能对比

5、总结

AI Agent 是一个智能系统,它可以自主运行以实现特定目标。传统的 AI 聊天仅提供建议或者需要手动执行任务,AI Agent 则可以分析具体情况,做出决策,并自行采取行动。而 AI Agent 可以利用 MCP 提供的功能描述来理解更多的上下文,并在各种平台/服务自动执行任务。

如果 Agent 想要更好地完成任务,一般需要接入足够多的外部工具,而外部工具的接入千差万别;Function Call 是大模型本身的一种能力,可以调用外部函数或 API 以增强大模型能力,但它同样面临着不同开发者自由定义导致的不标准问题;MCP 则是给 AI 应用提供了一套标准化协议,方便 AI 应用更好地访问外部工具,以提升大模型的响应能力。

目录

  1. 引言
  2. 一、Function Call
  3. 核心价值
  4. Function Call 时序图
  5. 嵌入机制
  6. 二、什么是 MCP?
  7. 三、MCP Server
  8. 1、MCP 架构
  9. 2、MCP 的通信机制
  10. 3、MCP Server 的核心功能
  11. 3.1、动态工具发现
  12. 3.2、权限控制与安全执行
  13. 3.3、资源暴露与工具调用
  14. 3.4、实时通信与上下文管理
  15. 4、MCP Server 的应用
  16. 四、什么是 Agent?
  17. 1、Agent 的特征
  18. 2、Agent 的形态
  19. 3、Agent 的工作时序图
  20. 五、Function Call vs MCP vs Agent
  21. 1、复杂度与能力方面
  22. 2、响应方式
  23. 3、三者协同
  24. 4、功能对比
  25. 5、总结
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • MySQL 高频用户统计方法
  • AI 编程工具深度对比:Copilot、Cursor 及国产工具选型指南
  • Windows 本地运行 DeepSeek 大模型简易教程
  • 星辰 RPA 制作小红书自动发文机器人
  • 企业级 AI 大模型私有化部署指南与方案
  • 基于 MCP+Skill 的前端 JS 逆向自动化落地实践
  • 构建与 GitHub 深度集成的自动化工作流实战指南
  • OpenClaw AI 智能体部署与使用指南
  • VSCode Copilot 登录失败原因排查与修复指南
  • Azure Bot Service 集成大模型实现智能问答
  • 2026 年 AI 漫剧工具横评:11 款主流软件功能与价格对比
  • DeepSeek 与 GPT 技术架构深度解析
  • 人工智能对上位机系统的全面重塑与影响分析
  • LeetCode 202. 快乐数:快慢指针判环解法
  • Web3 技术解析:下一代互联网范式与普通人应用指南
  • 建筑设计 AI 绘画提示词:从入门到精通的实战指南
  • 大语言模型人类对齐五大核心算法:SFT、RLHF、DPO、PPO、GRPO
  • Flutter 组件 upnp_client 的鸿蒙适配实战:跨设备发现与投屏控制
  • MiniMax 海螺 AI 视频:图文生视频功能与 API 接入
  • VR + 具身智能 + 人形机器人:构建现实世界的智能接口

相关免费在线工具

  • 加密/解密文本

    使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Gemini 图片去水印

    基于开源反向 Alpha 混合算法去除 Gemini/Nano Banana 图片水印,支持批量处理与下载。 在线工具,Gemini 图片去水印在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online