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

大模型集成演进:从 Function Calling 到 MCP

综述由AI生成大模型工具调用的演进,从私有的 Function Calling 到开放的 Model Context Protocol (MCP)。Function Calling 允许模型输出结构化参数调用外部函数,而 MCP 标准化了 LLM 与数据源、工具的交互。文章通过门票助手、高德地图及桌面文件统计等案例展示了实际应用,并展望了智能家居、投资情报及自动化代码修改等未来拓展方向。

松间照月发布于 2026/4/5更新于 2026/5/2945 浏览
大模型集成演进:从 Function Calling 到 MCP

大模型集成演进:从 Function Calling 到 MCP

Architecture Diagram

一、给 AI 装上手脚:Function Calling 到底是个啥?

1. 专业解释与大白话解读

专业解释: Function Calling(函数调用)是模型厂商(如 OpenAI、阿里云 Qwen)提供的私有接口功能。它允许开发者预定义一组工具(函数),当模型判断用户意图需要调用外部数据或执行特定操作时,它会输出符合函数签名的结构化参数(JSON),由后端执行后再将结果反馈给模型生成最终回复。

大白话解读: 想象你雇了一个很有才华但没手没脚的'军师'(大模型)。如果你问他'今天外面几度?',他只能瞎编。但如果你递给他一个温度计(Function),告诉他怎么读数,他就能先看温度计,再告诉你:'主公,外面 35 度,建议宅着。'

生活案例: 这就像点外卖。你(用户)对大模型说'我饿了'。大模型(外卖员)不会自己做饭,但他知道调用'美团下单'这个函数,填好'红烧肉'和'你的地址',最后把热腾腾的饭菜送到你手里。

2. 核心功能与代码示例

在 Qwen-Agent 等框架中,Function Calling 可以实现实时数据获取、复杂数学计算和外部系统操作。

# 示例:一个简单的天气查询函数注册
from qwen_agent.tools.base import BaseTool, register_tool

@register_tool('get_weather')
class WeatherTool(BaseTool):
    description = '获取指定城市的实时天气'
    parameters = [{'name': 'city', 'type': 'string', 'description': '城市名称,如:北京', 'required': True}]

    def call(self, params: str, **kwargs) -> str:
        # 这里模拟调用 API
        import json
        args = json.loads(params)
        city = args['city']
        return f"{city}今天晴转多云,25 度,适合摸鱼。"

二、实战演练:搭建你的'门票数据助手'

1. 业务场景介绍

我们需要搭建一个能查询门票销量的助手。它基于 tkt_orders 数据表,包含订单时间、用户 ID、省份、订单金额等字段。

Data Table

2. 进阶:一次调用,搞定查询 + 可视化

传统模式下,查数据和画图是分开的。但在进阶版 exc_sql 工具中,我们实现了自动推断图表字段并直接返回 Markdown 表格和图片。

核心逻辑实现:

  • SQL 查询: 执行 SQL 获取结果集 df。
  • 自动绘图: 优先选字符串列做 X 轴,数值列做 Y 轴。
  • 样式设置: 自动处理标签倾斜 45 度,防止文字重叠。
# 自动推断并绘图的逻辑片段
x_candidates = df.select_dtypes(include=['object']).columns.tolist()
x = x_candidates if x_candidates else df.columns
y_fields = df.select_dtypes(include=['number']).columns.tolist()

import matplotlib.pyplot as plt
plt.figure(figsize=(8, 5))
for col in y_fields:
    plt.bar(df[x].astype(str), df[col], label=col)
plt.xticks(rotation=45)
plt.savefig('chart.png')

三、MCP:AI 界的'USB-C'接口协议来了!

1. 什么是 MCP?

专业解释: Model Context Protocol (MCP) 是 Anthropic 推出的开放协议标准。它旨在标准化 LLM 与外部数据源、工具之间的交互方式,实现'一次开发,多模型兼容'。

大白话解读: 以前每个厂商的 AI 接口都不一样,像极了那个满地找充电线的年代(iPhone 是 Lightning,安卓是 Micro-USB)。MCP 就是 AI 界的 USB-C,管你是 Claude、GPT 还是 Qwen,只要插上这个'标准插口',工具就能通通用起来!

2. MCP 核心架构

  • MCP Host: 运行 AI 的环境(如 Cursor, Claude Desktop)。
  • MCP Client: 负责发起请求的'翻译官'。
  • MCP Server: 提供具体功能的'工具库'。
AI 模型/Host <-> MCP Client <-> MCP Server
                      |
            -----------------
            |               |
      高德地图 API     本地数据库
      GitHub/Slack

四、玩转 MCP:从旅游攻略到桌面统计

1. CASE:高德地图旅游助手

通过配置 amap-maps-mcp-server,AI 可以自主调用关键词搜索、路径规划、天气查询等功能,直接为你生成一份详尽的大连一日游攻略,甚至帮你写好 HTML 网页呈现。

Map Case

2. CASE:桌面 TXT 统计器(MCP SDK 实战)

使用 Python 的 FastMCP 框架,几行代码就能让 AI 拥有'查看你桌面文件'的超能力。

from pathlib import Path
from mcp.server.fastmcp import FastMCP

mcp = FastMCP("桌面统计器")

@mcp.tool()
def count_desktop_txt_files() -> int:
    """统计桌面上 .txt 文件的数量"""
    desktop_path = Path("~/Desktop").expanduser()
    return len(list(desktop_path.glob("*.txt")))

if __name__ == "__main__":
    mcp.run()

五、脑洞大开:未来 3 大拓展方案

在原有功能的基础上,我们可以进一步把 AI 的'触角'伸向更远的地方:

  1. 智能家居'边缘大脑':
    • 方案: 利用 MCP 协议连接本地 Home Assistant 服务器。
    • 价值: 告别云端延时。即便断网,你也能对 AI 说:'看我眼神行事,把卧室灯调成猛男粉。'
  2. AI 投资情报局:
    • 方案: 集成 Tavily 搜索 MCP + 实时股价 Function Calling。
    • 价值: AI 自动抓取半导体行业新闻,结合你本地的持仓数据,自动画出盈亏分析图并给出'割肉'建议。
  3. 自动化'代码裁缝':
    • 方案: 开发一个具备文件修改权限的 MCP Server,接入 IDE。
    • 价值: 发现 Bug 后,AI 不仅仅是'建议',它能直接'上手'改代码,测通后顺便帮你把 Jira 单子也关了。

六、总结

从私有的 Function Calling 到开放的 MCP,AI 正在从'只会聊天的复读机'进化为'能干活的打工人'。底层能力的进化,意味着开发门槛的进一步降低。

Summary Image

参考资料

  1. Model Context Protocol 官方文档
  2. Qwen-Agent 开源仓库
  3. Tavily AI 搜索服务
  4. 高德开放平台

目录

  1. 大模型集成演进:从 Function Calling 到 MCP
  2. 一、给 AI 装上手脚:Function Calling 到底是个啥?
  3. 1. 专业解释与大白话解读
  4. 2. 核心功能与代码示例
  5. 示例:一个简单的天气查询函数注册
  6. 二、实战演练:搭建你的“门票数据助手”
  7. 1. 业务场景介绍
  8. 2. 进阶:一次调用,搞定查询 + 可视化
  9. 自动推断并绘图的逻辑片段
  10. 三、MCP:AI 界的“USB-C”接口协议来了!
  11. 1. 什么是 MCP?
  12. 2. MCP 核心架构
  13. 四、玩转 MCP:从旅游攻略到桌面统计
  14. 1. CASE:高德地图旅游助手
  15. 2. CASE:桌面 TXT 统计器(MCP SDK 实战)
  16. 五、脑洞大开:未来 3 大拓展方案
  17. 六、总结
  18. 参考资料
  • 💰 8折买阿里云服务器限时8折了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • 基于 Web Unlocker 和 n8n 构建自动化资讯摘要推送系统
  • 基于DeepSeek和Cursor构建智能代码审查工具实战
  • 机器人脑部药物递送三大技术路径的可转化性分析
  • Linux 线程概念详解
  • WebStorm 编码辅助 AI 插件使用指南
  • WordPress 基础配置与 Spring Boot + MyBatis-Plus 开发实战记录
  • Ascend C 实现高性能 SwiGLU 激活融合算子,加速大模型前馈网络
  • Text Generation Web UI:本地 AI 模型部署与管理工具
  • YOLOv8 旋转框角度回归优化:CSL 与 DCL 编码实战
  • AI 创作者崛起:掌握核心工具,在 AMA 互动中共同成长
  • OpenAI 发布 GPT-4o:多模态大模型实现情感识别与实时交互
  • HTTP 请求中 GET 与 POST 的区别及应用场景
  • 银发浪潮下全球老龄化社会护理机器人发展研究
  • 低空无人机 AI 算法详解:覆盖公安、消防、水利等 11 大行业
  • Python 基础语法与核心概念详解
  • 览沃 MID-360 在 Ubuntu 22.04 + ROS2 环境下的部署指南
  • Neo4j Python SDK 使用手册
  • 大模型量化技术可视化指南
  • Lostlife2.0 角色对话系统升级:LLama-Factory 微调实战
  • ChatGPT 插件生态爆发下的自动化写作与工具推荐方案

相关免费在线工具

  • RSA密钥对生成器

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

  • Mermaid 预览与可视化编辑

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

  • 随机西班牙地址生成器

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

  • curl 转代码

    解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online

  • Base64 字符串编码/解码

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

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online