
为什么 ChatGPT 能查天气、查数据库、执行代码?
为什么 AI 开始不只是聊天,而是真的"会做事"?
为什么很多人说:
Function Calling 是 Agent 的核心能力?为什么现在的大模型越来越像"操作系统"?
这些问题背后。
其实都指向一个核心概念:
Function Calling(函数调用)
很多人第一次听:
都会觉得:
不就是程序里的函数调用吗?
其实:
有点像,但又不完全一样。
今天继续用:
小白视角 + 程序员视角
真正搞懂:
Function Calling 到底是什么?
一、小白视角:Function Calling 到底是什么?
先一句话解释:
Function Calling = 让 AI 学会"调用工具"。
什么意思?
以前 AI:
只能:
动嘴。
现在:
开始:
动手。
这是巨大区别。
1、普通 AI 为什么很多事做不了?
举个例子。
你问:
今天上海天气怎么样?
普通大模型:
如果没联网。
只能:
猜。
甚至:
一本正经地乱说。
因为:
它无法实时查天气。
但:
如果有:
Function Calling
流程就变成:
用户问天气
↓
AI 判断需要查天气
↓
调用天气 API
↓
拿到实时数据
↓
整理语言回复
于是:
回答变成:
真数据。
而不是:
靠猜。
2、为什么叫 Function Calling?
因为:
它本质:
像:
调函数。
例如:
程序员:
写:
getWeather("上海")
返回:
{
"temp": 28,
"weather": "晴"
}
以前:
AI 不会调。
现在:
模型会主动说:
我应该调用这个函数。
于是:
实现:
AI → 系统 → API → 数据
联动。
3、Function Calling 最重要的作用是什么?
一句话:
让 AI 从"会说",升级到"会做"。
举例:
用户说:
帮我查库存。
以前:
AI:
"你可以打开 ERP 查看。"
结束。
现在:
AI:
自动调用库存接口
↓
查询数据库
↓
返回结果
直接回答:
当前库存 523 件。
这才是真正:
干活。
4、现实里有哪些场景?
比如:
查天气
调用:
Weather API
查数据库
调用:
SQL Query
发邮件
调用:
Email API
调 ERP
调用:
企业接口
执行代码
调用:
Python Function
所以:
现在越来越多 AI:
开始:
真正接系统。
5、为什么 Agent 离不开它?
上一篇讲:
Agent = 会行动的 AI
但问题:
AI 靠什么行动?
答案:
Function Calling
因为:
Agent 本身:
不会:
真查数据库。
它只是:
知道什么时候该调用哪个工具。
所以:
可以理解:
Function Calling 是 Agent 的手脚。
6、一个最容易懂的例子
假设:
你说:
帮我预订明天上海到北京机票。
普通 AI:
给建议:
结束。
有 Function Calling 的 Agent:
会:
调用机票 API
↓
查询价格
↓
筛选最优航班
↓
提交订单
↓
返回结果
于是:
真的完成任务。
7、一个最形象的比喻
如果:
普通 LLM
像:
一个嘴很厉害的人。
会讲。
但:
不干活。
那么:
Function Calling
就像:
给 AI 配工具箱。
让它:
能:
-
打电话
-
查数据库
-
操作软件
-
发邮件
于是:
从:
顾问
升级成:
助理。
8、一句话理解 Function Calling
如果让我一句话解释:
Function Calling = 让 AI 学会使用外部工具。
从:
会聊天
升级到:
会执行。
二、程序员视角:Function Calling 的底层原理是什么?
下面进入:
程序员模式。
尽量讲专业,但不搞学术劝退。
1、Function Calling 的本质是什么?
一句话定义:
Function Calling 是一种让 LLM 输出结构化工具调用请求的机制。
注意:
重点:
模型不是真执行函数。
而是:
决定该调用哪个函数,以及参数是什么。
执行:
仍然:
由程序完成。
2、完整工作流程
典型链路:
用户请求
↓
LLM 理解意图
↓
判断是否需要工具
↓
输出 Function Call
↓
程序执行函数
↓
返回结果
↓
LLM 组织自然语言
注意:
模型负责决策。
系统负责执行。
3、一个真实例子
用户:
上海天气怎么样?
系统提供:
函数:
{
"name": "get_weather",
"description": "查询天气",
"parameters": {
"city": "string"
}
}
模型输出:
{
"function_call": {
"name": "get_weather",
"arguments": {
"city": "上海"
}
}
}
然后:
后端:
真正执行:
getWeather("上海")
拿结果:
再交给 LLM。
最终:
输出自然语言。
4、为什么需要 JSON Schema?
因为:
LLM 输出:
必须:
可执行。
所以:
函数定义:
通常:
用:
{
"name": "",
"description": "",
"parameters": {}
}
告诉模型:
-
函数叫什么
-
参数有哪些
-
类型是什么
这样:
模型:
不容易乱输出。
更稳定。
5、Function Calling 和 Prompt 有什么区别?
很多新手误解:
Prompt 不也能让 AI 调接口?
区别:
Prompt
靠:
提示词约束。
不稳定。
容易翻车。
Function Calling
靠:
Structured Output
结构化输出。
更可靠。
适合:
企业系统。
6、为什么说它是 Agent 核心?
Agent Loop:
通常:
Thought
↓
Choose Tool
↓
Function Call
↓
Observe
↓
Next Action
核心动作:
其实:
就是:
Tool Calling
而:
Tool Calling:
底层:
就是:
Function Calling
所以:
很多时候:
可以说:
没有 Function Calling,就没有真正 Agent。
7、Function Calling 常见场景
企业里:
特别多。
例如:
CRM
查询客户。
ERP
库存。
订单。
OA
审批。
BI
查报表。
SQL Agent
自动查数据库。
Browser Agent
自动浏览网页。
所以:
企业 AI:
几乎都会接。
8、为什么很多项目效果不好?
因为:
很多人以为:
配几个函数就完了。
实际难点:
在:
-
Tool Selection
-
参数校验
-
Error Retry
-
状态管理
-
权限控制
否则:
容易:
调错接口。
参数乱传。
无限循环。
9、Function Calling vs MCP
很多人最近也听:
MCP
区别:
Function Calling
像:
本地工具调用。
模型:
知道:
有哪些工具。
MCP
更像:
通用工具协议。
即插即用。
类似:
AI 世界的 USB。
未来:
可能:
成为:
Agent 标准接口。
10、为什么说它改变了 AI?
因为:
以前:
AI:
只负责说。
现在:
AI:
可以做。
从:
Chatbot
升级为:
Action Agent
这是:
AI 应用真正爆发的原因。
三、一个最形象的比喻
如果:
LLM
像:
一个特别聪明的顾问。
只会:
告诉你怎么做。
那么:
Function Calling
像:
给顾问发了员工权限。
让它:
真的能:
-
查系统
-
调接口
-
执行任务
于是:
从:
会说
升级为:
会做。
四、一句话总结
小白版总结:
Function Calling 是让 AI 学会"调用工具"的能力。
程序员版总结:
Function Calling 是一种结构化工具调用机制,使 LLM 能输出函数请求并与外部系统交互。
最后
如果你刚开始学习 AI。
建议学习路线:
Token
↓
Embedding
↓
Attention
↓
Transformer
↓
LLM
↓
Prompt
↓
RAG
↓
Function Calling
↓
Agent
↓
MCP
因为:
LLM 决定 AI 会不会说。
RAG 决定 AI 说得准不准。
Function Calling 决定 AI 能不能做。
理解 Function Calling。
你才真正理解:
AI 为什么开始从聊天机器人,变成数字员工。