1. 什么是 Function Call(函数调用)?
在计算机编程中,Function Call(函数调用)是让计算机“帮你办事”的一种方式。想象一下,你在家里想要订一杯奶茶,你有两种选择:
- 自己去店里买(自己写代码一步步实现)
- 叫外卖,让外卖小哥帮你送到家(使用 Function Call,让别人帮你办)
Function Call 就像是点外卖,你告诉系统你要干什么,它帮你去执行任务,最终给你结果。
Function Call 是怎么工作的?
Function Call 其实就是调用一个“工具”,让计算机去执行一项具体的任务。例如:
- 你让 AI 查天气
- AI 发现自己不会查天气
- AI 打电话(Function Call)给天气 API
- API 查好天气,告诉 AI
- AI 把结果告诉你
换句话说,AI 不是无所不能的,但它可以通过调用“别人”的能力来完成任务。
2. 生活中的 Function Call 示例
我们每天都在用 Function Call,只不过我们不觉得它是“代码”:
智能语音助手
你对 Siri / 小爱同学 / 天猫精灵 说:“今天天气怎么样?”
Siri 会做的事情:
- 它自己不会看天气(它不会预测天气)
- 它会调用一个天气 API(Function Call)
- API 返回 “今天 25°C,多云”
- Siri 把结果读出来
在这个过程中,Siri 并不是“万能”的,它只是会通过 Function Call 向外部工具请求帮助。
智能家居
你说:“小爱同学,打开客厅灯”
小爱同学会做的事情:
- 自己不会控制灯
- 它会调用智能家居 API(Function Call)
- API 发送指令 “开灯”
- 客厅灯亮了
这就是 Function Call 帮你执行现实世界的任务!
AI 助手帮你查火车票
你问 AI:“帮我查一下明天从上海到北京的火车票”
AI 会怎么做:
- 它自己不会查火车票
- 它调用 12306 的 API(Function Call)
- API 说 “明天有 G123 次列车,上午 10:00 出发”
- AI 把结果告诉你
这个 Function Call 连接了 AI 和火车票数据,让 AI 更智能!
3. 什么是 MCP(模型上下文协议)?
MCP(Model Context Protocol,模型上下文协议)是 Anthropic 提出的一个协议,它的作用是让 AI(比如 GPT、Claude)能够与外部数据、工具和设备进行交互,弥补 AI 只能处理“自己脑子里的知识”而无法访问“外部世界”的缺陷。
MCP 怎么工作的?
MCP 的本质是定义了一种标准化的消息格式,让 AI 可以通过 MCP 服务器访问外部世界。它的运作方式如下:
- AI 发现自己无法完成任务(比如用户让 AI 读一个本地文件)
- AI 通过 MCP 客户端发送请求
- MCP 服务器解析请求,并调用相应的工具
- MCP 服务器获取结果,并返回给 AI
- AI 将结果展示给用户
举个例子:
- 你(用户)对 AI 说:“帮我查一下这个 Excel 文件的内容”
- AI 自己不会读取 Excel,但它知道 MCP 服务器能帮忙
- AI 通过 MCP 客户端 发送指令:“读取文件 data.xlsx”
- MCP 服务器解析指令,读取 data.xlsx 的内容
- 服务器把结果发给 AI,AI 再告诉你
这就像是 AI 通过 MCP 协议找到了一个“工具人”,帮它完成任务。
4. Function Call 与 MCP 有什么关系?
Function Call vs MCP
Function Call 是一个更广义的概念,它指的是让代码执行某个具体的功能,获取计算结果或执行任务。比如:
- 在 Python 中调用
sum(1, 2)
- 在大模型中调用
{"function": "查天气", "参数": {"城市": "北京"}}
而 MCP(模型上下文协议)则是 Claude(Anthropic)推出的一种 Function Call 协议,它让 AI 可以:
- 调用外部工具(比如数据库、API、本地文件)
- 使用标准化的 JSON-RPC 进行交互
- 支持大模型直接识别 MCP 作为工具调用(无需额外解析)
- 提供现成的工具库和框架(FastMCP),帮助开发者快速搭建 MCP 服务器
关键区别:
- Function Call 是一个大框架,任何语言、AI、系统都可以有 Function Call。
- MCP 是 Function Call 的一个标准化协议,Claude 直接支持,并且提供开源工具(FastMCP)帮助搭建服务器和客户端。
可以把它理解成:
- Function Call 是“点菜的概念”,它指明了你想要的功能;
- MCP 是“点菜的标准化菜单”,它让 AI 可以更快速、更方便地用 Function Call 来完成任务。
简单来说:
- Function Call 可以包含 MCP,而 MCP 只是 Function Call 的一种标准实现。
- MCP 让 Function Call 更容易在 AI 中使用,并且有现成工具可以直接用。
5. MCP 在 AI 里的应用
Function Call 和 MCP 让 AI 可以做更多事情,例如:
- 联网查信息(查天气、查新闻、查股票)
- 控制设备(开关灯、调空调)
- 调用计算功能(计算数学公式、翻译文本)
- 访问数据库(查订单、查用户信息)
- 执行自动化任务(预定餐厅、发送邮件)
举个例子:
- 你对 AI 说:“请帮我整理 Excel 文件里的数据”
- AI 发现自己不会直接读取 Excel
- AI 通过 MCP 调用 Python 脚本来处理 Excel
- 最终,AI 给你一个整理好的 Excel 结果
简单来说,MCP 和 Function Call 让 AI 成为一个“超级管家”,它可以连接各种工具,帮你完成任务!
总结
从 Function Call 到 MCP,我们看到的不是单纯的技术进步,而是让 AI 能够变得更加智能、灵活和高效的关键。通过标准化的协议,AI 可以调用外部的工具和数据,快速完成复杂的任务,成为真正的智能助手。
希望这篇文章帮助你理解了 Function Call 和 MCP 如何改变 AI 的能力,让 AI 更加聪明,更加实用!