游乐游手机版
首页/AI教程/文章详情

AI进化:从Function Calling到MCP

时间:2026-06-14 14:10
从私有函数调用到开放上下文协议,AI正从“聊天复读机”进化为“能干活的打工人”。FunctionCalling让大模型通过预定义函数获取外部数据并执行操作,而Anthropic提出的MCP协议标准化了交互方式,实现一次开发多模型兼容,进一步降低开发门槛。

如果你持续关注人工智能领域的最新进展,一定对 Function Calling 这个术语不陌生——它被视为大模型连接外部世界的“敲门砖”。然而,Anthropic 新近推出的 MCP 协议正悄然改写游戏规则。本文将从私有的函数调用到开放的上下文协议,系统梳理 AI 的“手脚”究竟如何组装,以及在实际场景中能实现哪些创新应用。

AI 进化论:从 Function Calling 到 MCP,你的大模型还在“裸奔”吗?

文章目录

  • AI 进化论:从 Function Calling 到 MCP,你的大模型还在“裸奔”吗?
    • 一、 给 AI 装上手脚:Function Calling 到底是个啥?
      • 1. 专业解释与大白话解读
      • 2. 核心功能与代码示例
    • 二、 实战演练:搭建你的“门票数据助手”
      • 1. 业务场景介绍
      • 2. 进阶:一次调用,搞定查询 + 可视化
    • 三、 MCP:AI 界的“USB-C”接口协议来了!
      • 1. 什么是 MCP?
      • 2. MCP 核心架构
    • 四、 玩转 MCP:从旅游攻略到桌面统计
      • 1. CASE:高德地图旅游助手
      • 2. CASE:桌面 TXT 统计器(MCP SDK 实战)
    • 五、 脑洞大开:未来 3 大拓展方案
    • 六、 总结与互动引导
      • 转载声明
      • 参考链接

一、 给 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、省份、订单金额等字段。

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.sa vefig('chart.png')

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

1. 什么是 MCP?

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

大白话解读: 以往每个厂商的 AI 接口各不相同,就像早年混乱的充电线时代(iPhone 用 Lightning,安卓用 Micro-USB)。MCP 则是 AI 领域的 USB-C 标准——无论是 Claude、GPT 还是 Qwen,只要插上这个“标准插口”,工具就能通通用起来!

2. MCP 核心架构

  • MCP Host:运行 AI 的环境(如 Cursor, Claude Desktop)。
  • MCP Client:负责发起请求的“翻译官”。
  • MCP Server:提供具体功能的“工具库”。

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 正在从“只会聊天的复读机”进化为“能干活的打工人”。底层能力的进化,意味着开发门槛的进一步降低。


转载声明

本文为原创内容。转载请注明出处,并保留原文链接。

参考链接

  1. Model Context Protocol 官方文档
  2. Qwen-Agent 开源仓库
  3. Tavily AI 搜索服务
  4. 高德开放平台
来源:https://blog.csdn.net/zxc18344522713/article/details/158501212
上一篇各高校AI检测率要求 30%20%10%哪个是标准 下一篇脉脉AI创作者AMA知无不言人机共生时代创作觉醒
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Windows Docker Desktop RabbitMQ生产级部署完整指南
AI教程 · 2026-06-29

Windows Docker Desktop RabbitMQ生产级部署完整指南

前言 在 Windows 本地开发环境中,直接安装 RabbitMQ 确实颇为周折:需要单独配置 Erlang 运行环境、手动管理环境变量、服务启停全凭手工操作。更令人困扰的是,版本兼容冲突、端口占用、环境不一致等问题层出不穷。笔者见过不少开发者为搭建环境就得耗费整整半天时间。 相比之下,借助 Do

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践
AI教程 · 2026-06-29

AI搜索重构制造业采购逻辑的阿里云企业级GEOCMS优化实践

先分享一个切实感受。过去两年,我们与福建制造企业合作较为频繁,发现一个非常突出的现象:超过80%的企业官网,产品参数仍然存放在PDF或图片中。AI爬虫?根本无法抓取。这些企业技术实力不弱、资质证照齐全、应用案例也丰富,但在AI搜索这一全新战场上,它们几乎处于隐身状态。 一、一个正在发生的行业变化 A

阿里云Token Plan团队版功能价格与省钱购买指南
AI教程 · 2026-06-29

阿里云Token Plan团队版功能价格与省钱购买指南

阿里云百炼近期推出了名为“Token Plan 团队版”的全新服务,这一服务专为企业与开发者量身打造,定位为AI大模型订阅平台。通过引入Credits作为统一计量单位,将文本生成、图像生成等多模态AI能力纳入单一计费体系,同时无缝兼容主流AI编程工具及智能体(Agent)生态系统。其核心亮点包括:全

阿里云物联网.NET Core客户端位置信息上报
AI教程 · 2026-06-29

阿里云物联网.NET Core客户端位置信息上报

阿里云物联网平台的位置服务并非一个完全独立的功能模块。位置信息可包含二维坐标与三维坐标,而位置数据的来源本质上是借助设备属性进行上传。换言之,若要让设备上报位置,您需先将其视为一个普通属性进行处理。 1)添加二维位置数据 操作过程十分简洁。进入数据分析 → 空间数据可视化 → 二维数据,点击添加,将

年阿里云服务器选型配置与网站部署全攻略
AI教程 · 2026-06-29

年阿里云服务器选型配置与网站部署全攻略

2026年,阿里云服务器生态已高度成熟,形成了清晰的轻量应用服务器与ECS云服务器两大产品阵营。无论你是计划搭建个人博客、企业官网,还是运营电商平台、进行应用开发,基本都能找到理想的解决方案。本指南将从服务器选型、配置选择、部署流程到安全运维,系统梳理2026年最实用的操作要点,帮助你少走弯路,让网