🦾 AI Agent 🟡 进阶 ⏱ 8 分钟

🏗️ Function Calling、Skill、MCP:三层架构

不是竞品,是三层——语言、工具箱、操作手册,缺一层都不完整。

1

一句话:是三层,不是三选一

🗣️ Function Calling:调用语言

最底层。解决「模型怎么调函数」——输出结构化 tool_calls JSON,告诉程序该调哪个函数、传什么参数。

类比:你的「手」。

🧰 MCP:工具箱

中间层。解决「工具怎么暴露给模型」——把数据库、API 封装成标准化 Server,一次实现到处复用。

类比:「厨房」。

📖 Skill:操作手册

最上层。解决「拿到工具后按什么流程完成任务」——把执行步骤、标准、脚本、模板打包成可复用模块。

类比:「菜谱」。

🗣️

Function Calling

调用语言
模型怎么调函数
在最底层

VS
🧰

MCP + Skill

工具标准化 + 流程封装
工具怎么暴露 + 怎么用
在其上

FC 是语言 + MCP 是工具箱 + Skill 是操作手册
2

三句话看懂本质差异

🗣️ Function Calling

模型说「我要调这个函数」。

发生在模型和函数之间,是单次调用的格式规范,发生在单个 Agent 内部。

🧰 MCP

工具服务说「我能提供这些函数」。

发生在AI 客户端(MCP Client)和工具服务(MCP Server)之间,是工具的标准化封装协议。

📖 Skill

操作手册说「用这些工具按这个流程做」。

发生在Agent 和知识模块之间,粒度比 MCP 工具粗——「代码审查」是一个 Skill,内部可能涉及好几个步骤、调用好几个 MCP 工具。

3

时间线:为什么会有三个

① FC 最先模型只会生成文本,怎么触发外部调用
➜
② MCP 后来每个应用都要自己写工具对接,重复劳动,需标准化
➜
③ Skill 最新工具有了,但复杂任务不知按啥流程用,需流程复用
📈 每个概念都是被一个真实痛点催出来的,层层演进
4

层级依赖:缺一层都不完整

📖 Skill定义流程
➜
🧰 MCP提供工具
➜
🗣️ Function Calling模型触发调用
⬇️ 依赖方向:Skill → MCP → FC,缺了底层上层无法生效
跳过这层类比结果
没 Function Calling没有手站在厨房、拿着菜谱,什么都做不了
没 MCP没有厨房有手有菜谱,但家里没厨具,只能空手发呆
没 Skill没有菜谱有手有满厨房厨具,但面对食材不知先切什么后炒什么
5

一个完整故事串联三层

🎬 「帮我分析最近三个月销售数据,找下滑产品线,给建议」
📖 Skill 层
Agent 扫描 Skill 列表,发现「数据分析报告」Skill 匹配 → 加载 SKILL.md,读到流程:①从数据库取数据 ②用 Python 趋势分析 ③按模板写报告
🧰 MCP 层
MCP Client 已连着数据库 Server 和 Python 执行器 Server,自动知道有 query_database、run_python 可用
🗣️ FC 层
模型输出 tool_calls:query_database(sql="SELECT product, revenue FROM sales WHERE date >= '2026-01-01'")
三层协作
Skill 编排流程 → MCP 提供工具 → FC 触发调用 → 最后按模板输出报告。缺哪层都不完整。
角色实际做的事
📖 Skill流程编排——定义取数据→分析→写报告三步
🧰 MCP工具管理——提供 query_database、run_python
🗣️ Function Calling模型和工具通信——输出 JSON 触发每次调用
一句话总结

Function Calling、MCP、Skill 不是竞品,是从底到顶的三层架构:FC 是调用语言(模型怎么调函数,你的手)、MCP 是工具标准化(工具怎么暴露,厨房)、Skill 是知识流程封装(拿到工具按什么流程做,菜谱)。依赖方向 Skill → MCP → FC,缺了底层上层无法生效。

🎤 面试问答 · 口语化回答
这三者放一起问是 Agent 面试的高频难点,面试官想看你是否理解分层而非背概念:
面试官Function Calling、MCP、Skill 三者有什么区别?
你

它们不是竞争关系,而是三层架构。最底层 Function Calling 是调用语言,解决模型怎么调函数,输出结构化的 tool_calls JSON;中间层 MCP 做工具标准化,把数据库、API 封装成标准化 Server,解决工具怎么暴露给模型;最上层 Agent Skill 做知识和流程封装,解决拿到工具之后按什么流程完成任务。简单记就是:FC 是语言,MCP 是工具箱,Skill 是操作手册。

💡 加分点:一上来就明确三层架构、避免「三选一」的误区,是这道题最关键的得分点。
面试官它们之间有依赖关系吗?
你

有,而且层级很明确。Function Calling 在最底层,因为它是模型触发工具调用的语言,没有它模型没法告诉外部要调哪个函数;MCP 在它之上,因为 MCP Server 暴露的工具最终还是要通过 Function Calling 的格式传给模型;Skill 在最上面,因为 Agent 按 Skill 的指令执行,每一步调工具时还是要靠 MCP 发现工具、靠 Function Calling 触发。所以依赖方向是 Skill 依赖 MCP、MCP 依赖 FC,缺了底层上层就失效。

💡 加分点:用做菜类比:FC 是手、MCP 是厨房、Skill 是菜谱。没手拿不起刀,没厨房没厨具,没菜谱不知道先炒什么。
面试官用一个完整场景说说三层怎么配合?
你

比如用户让我分析最近三个月销售数据、找下滑产品线、给建议。先是 Skill 层,Agent 发现「数据分析报告」Skill 匹配,加载它定义的流程:取数据、趋势分析、写报告;然后 MCP 层,MCP Client 已经连着数据库和 Python 执行器,自动知道有 query_database 和 run_python 可用;最后 Function Calling 层,模型输出 tool_calls 触发 query_database,MCP Client 路由到数据库执行,拿结果后模型继续,最后按 Skill 的模板输出报告。整个过程 Skill 编排流程、MCP 管工具、FC 做模型和工具通信。

💡 加分点:能把三层落到具体步骤上,说明你真理解分工协作,而不只是背概念——这是全场最加分的一段。
📝 读完打卡 · 写下你的收获 读完了?来打卡吧
用一句话写下你从这篇学到的最大收获,检验自己是否真的懂了 👇
⏱ 00:00 🔥0分