Function Call
简单说,Function Call 是 Agent 调用工具的"语言",让 Agent 能"听懂"并"指挥"工具
# Function Call:Agent 的"指令生成器"
Function Call 是让大语言模型能够以结构化方式调用外部函数/API的核心机制。你可以把它理解为:Agent 先理解用户的意图,然后生成一条标准的"指令书",告诉系统该调用哪个工具、传什么参数。
它的工作流程大致是:
- 用户提出需求(如:"查询北京的天气")
- Agent 识别意图并生成一个标准化的 JSON 调用指令,指定要调用
get_weather函数,参数为city: "Beijing" - 系统执行该指令,获取结果并返回给 Agent
- Agent 将结果组织成自然语言回复用户
Function Call 的局限在于:它通常依赖于特定模型(如 OpenAI)和预定义的函数集,当工具数量增加或需要更换模型时,适配工作会变得复杂。简单说,它的集成是"一对一"的定制化对接

# 本质是什么
本质上就是:
把“AI 的意图”翻译成“程序能执行的指令”。
假设你让 Agent 帮忙查天气,整个过程可以拆解为三步:
- 你问:“今天北京天气怎么样?”
- AI 思考:他想调用一个叫
get_weather的函数。 - AI 输出:他不是直接回答你,而是生成一张“表格”:
{
"function": "get_weather",
"parameters": {
"city": "北京",
"date": "2026-06-23"
}
}
然后你的代码收到这张表格,去执行真正的天气查询,把结果再送回给 AI,AI 再用自然语言告诉你。
# 类比例子
你可以把 Function Call 想象成:
- AI 是“点单员”:他记录你要什么(比如“来一杯拿铁”)
- Function Call 是“点菜单”:点单员把你说的话写成标准格式的菜单(咖啡:拿铁,温度:热,糖:半糖)
- 程序是“咖啡机”:根据菜单自动制作
AI 并不需要知道怎么操作咖啡机,他只需要会填菜单就行了。 这就是 Function Call 的核心——让 AI 把意图结构化。
如果 Function Call 是点菜单,那么 MCP 就是统一了所有菜单格式和外卖柜的标准:
- 以前:每家店(工具)都有自己的点菜单格式,AI 要适配每家店的格式
- 现在:有了 MCP 这个“统一标准”,AI 和所有工具之间用标准格式通信,新工具来了也能即插即用
MCP 像是 USB-C 接口:不用每家店定制不同接口,一个标准通吃所有。
上次更新: 2026-06-23 17:08:57