在这个系列里,我们一直在拼同一幅图。有一位博学的图书馆员坐在墙后面,只靠一个信箱口和外界沟通——她读过所有书,却只能把你递进去的纸条续写完。然后在上一篇文章里,我们认识了跑腿的(智能体,agent)——他站在信箱口旁替你办事,查东西、跑腿、取数据。

今天轮到这个系列里最绕口的两个词了:function calling(约定好的"表格")和 MCP(模型上下文协议)。它们骨子里只是两份协议——就像去邮局寄包裹,双方提前说好用固定的表格,别随便写一封信。这样一想,就不可怕了。

这是AI 大白话系列的第 6 篇。不需要任何技术背景。

问题一:图书馆员的要求,跑腿的看不懂

想象图书馆员看完你的纸条,决定需要伦敦今天的天气。她在回条里写道……但她是语言天才,她可能这样写:

  • "劳烦出去打听一下,伦敦现在天气如何?"
  • "伦敦,今日天气,麻烦了。"
  • "需要获取英格兰伦敦市当前气象条件。"

三句话意思一样。可跑腿的不是天才——他是个按规矩办事的程序,靠谱但死板。他没办法处理一百种不同的说法。他需要每次都能一眼看懂的东西。

于是图书馆员和跑腿的提前约好:不许写散文,必须填一张固定表格,每个格子都有标签:

动作: get_weather(查天气)
地点: 伦敦
单位: 摄氏度

固定标签,固定格子,没有歧义。跑腿的扫一眼就知道该干什么了。

这份约定——图书馆员必须用带标签格子的结构化表格,而不是随手写一句话——就是技术圈说的 function calling(函数调用)。"function"(函数)这里只是"一个有名字的动作",比如 get_weather(查天气)或 search_calendar(查日历)。"calling"(调用)就是"请去执行它"。核心思想只有一个:用填表代替写信,让双方配合得可靠又高效

最常见的表格格式叫 JSON(JavaScript Object Notation,JavaScript 对象表示法——一种人和计算机都能读懂的数据写法)。你不需要知道 JSON 是什么,只要把它想成一张"带标签格子的整洁小卡片"就够了。

问题二:外面的"工具店"太多,各说各话

跑腿的拿着表格出发了。可他要去哪家店?

外面有几十家不同的"工具店":查天气的、查日历的、查地图的、查数据库的、存文件的……每家店是不同的团队建的。在大家约好规矩之前,每家店各有一套私人规矩:

  • 天气店说:"给我发一个带城市参数的请求。"
  • 日历店说:"给我一个带 query 字段的数据包。"
  • 地图店说:"带上 OAuth 授权头来找我,谢谢。"

跑腿的要给每家店单独学一套规矩,又累又容易出错——每开一家新店,又得从头学。

解决办法和当年"全球插头"问题一样:大家约定一种标准插头,任何设备和任何插座都能通用,不用再做适配器。

AI 工具店的"标准插头"就叫 MCP——模型上下文协议(Model Context Protocol)。它规定了跑腿的跟任何工具店打交道时,只需要问两个问题:

  1. "你能干什么?"(工具店用标准格式列出自己所有的功能。)
  2. "请帮我做这个,这是详细信息。"(用第一步拿到的标准格式发出请求。)

只要工具店遵守 MCP,跑腿的就能跟它顺畅配合。跑腿的学一套规矩,走遍所有 MCP 兼容的店——通用插头,处处能用。

大家最常搞混的:这俩不是一回事吗?

不是。它们分别作用在这条链子的不同位置。

Function calling 处理的是图书馆员和跑腿的之间的事。它是图书馆员往外递的那张表格,上面写着"去帮我做这件事,这是详细信息"。跑腿的读表格,完事儿。

MCP 处理的是跑腿的和外部世界之间的事。跑腿的拿到表格之后,还需要去敲工具店的门。MCP 就是那套标准敲门礼仪。

两份协议,两个位置:

  • 图书馆员和跑腿的约定:请求必须写在这张表格里。(Function calling。)
  • 跑腿的和工具店约定:大家都用同一套语言打招呼。(MCP。)

它们不是竞争关系,也不做同一件事。它们是同一条链子上相邻的两个环节。

完整的图,终于拼好了

现在把整个系列拼成一幅图。

你坐在桌前,有个问题。你跟跑腿的说话——就是那个 AI 助手,你聊天框里或手机里的那个。跑腿的是可靠、不知疲倦的办事员,他按步骤走、记笔记、跑腿取物——他不是天才,但他把需要天才的事传到了正确的地方。

需要真正智慧的时候,跑腿的把纸条塞进信箱口,递给图书馆员——也就是大模型(LLM,large language model,大语言模型),那位读过一切的智者。图书馆员读了纸条,想了想,把回条递出来。回条要么是完整的答案,要么是一张表格,说"先去取这个"。

如果是"去取",跑腿的读懂表格(function calling),去敲对应工具店的门。他用标准礼仪敲门(MCP)。工具店办完事,把结果送回来。跑腿的把结果贴进上下文,再次走到信箱口,递进新纸条,图书馆员接着往下写。

你,提问的人,什么都看不见。你只看到最终的回复。

图书馆员走不出房间。她没法自己上网、查日历、问天气——这不是缺陷,这正是整个设计的关键。她只做那件真正需要天才的事:读纸条,写下一个词。其他所有事,都由跑腿的、表格和标准插头搞定。

这和你有什么关系?

你大概不需要亲手配置 function call,也不需要搭 MCP 服务器。但读懂这两个词,你就能看懂整整一大类 AI 新闻。

"这款 AI 支持 50 个集成"——跑腿的通过 MCP 接入了更多工具店。"AI 返回结构化输出"或"JSON 模式"——function calling,表格按约定格式填好了交回来。"支持自定义连接器"——新工具店接上了标准插头。

下次有人说他们的 AI 产品"可以对接一切",你知道该问什么了:用的是标准插头(MCP),还是给每家店配了一根私人定制的电线?

下一篇

下一篇文章我们来看你在哪里遇见这一切:聊天框、写代码的助手、桌面上的 AI 助理。信箱口和跑腿的在不同地方长相不同,但现在你知道每扇门后面发生的是什么了。

回到 AI 大白话系列目录,或者探索 aitutors.me,看看一个真正的 AI 家教是怎么把这些零件组合在一起的。