Function Calling,mCP,Agent Skills三个的区别
“一句话对比”Function Calling 是“模型怎么叫函数” MCP 是“模型怎么接入世界” Agent Skills 是“模型怎么把事干成”如果你只能记一句,就记这句。二、先从“层级”把它们彻底区分开(最关键)┌──────────────────────────┐ │ Agent Skills │ ← 行为
作者:lh
“一句话对比”
Function Calling 是“模型怎么叫函数” MCP 是“模型怎么接入世界” Agent Skills 是“模型怎么把事干成”
如果你只能记一句,就记这句。
二、先从“层级”把它们彻底区分开(最关键)
┌──────────────────────────┐
│ Agent Skills │ ← 行为与能力层
│ (规划 / 记忆 / 反思) │
├──────────────────────────┤
│ MCP │ ← 协议 / 基础设施层
│ (Context / Tools) │
├──────────────────────────┤
│ Function Calling │ ← 模型交互机制层
│ (JSON 调用意图) │
└──────────────────────────┘
它们是“上下叠加”的,不是“互相替代”的。
三、逐个详细讲清楚(放在同一语境)
(一)Function Calling:模型级的“动作表达方式”
它到底解决什么问题?
让模型不要用“自然语言胡说”, 而是用“结构化格式”告诉你: 👉 我想调用哪个函数,用什么参数。
本质
- 模型能力
- 输出约束
- JSON 协议
它能做什么?
- 把“意图”变成结构化
- 让程序可执行、可自动化
它不能做什么?
- ❌ 不管理上下文
- ❌ 不做规划
- ❌ 不做工具发现
- ❌ 不跨模型
一句话总结
Function Calling = 模型说“我想干这个”
二)MCP:模型与真实世界的“接口协议”
MCP 在解决什么?
让模型用“统一方式”接入外部能力与上下文, 不管背后是什么系统、什么模型。
MCP 关注的不是模型,而是:
- 工具怎么暴露
- 上下文怎么提供
- 能力怎么复用
- 系统怎么解耦
MCP 的核心职责
| 能力 | 说明 |
|---|---|
| Tool Discovery | 模型能知道“我能用什么” |
| Context Access | 模型能“看到世界” |
| Capability Isolation | 权限、安全、解耦 |
| Multi-model | 同一套工具给多个模型 |
一句话总结
MCP = 世界给模型插的“标准接口”
三)Agent Skills:系统层的“智能行为能力”
Agent Skills 解决什么问题?
让模型不只是“答一句”, 而是“为了目标持续行动,直到完成”。
Agent Skills 是一整套能力集合:
| Skill | 作用 |
|---|---|
| Planning | 把目标拆成步骤 |
| Reasoning | 判断下一步 |
| Tool Use | 调用能力 |
| Memory | 记住历史 |
| Reflection | 纠错优化 |
Agent Skills 不关心:
- 用什么模型
- 用什么协议
- 用不用 MCP
它关心的是“怎么把事干成”
一句话总结
Agent Skills = 会做事的能力
四、把三者放进一个完整执行流程(关键)
来看一个真实流程
用户:“帮我分析 AAPL 是否值得长期投资”
Step Agent Skills(规划)
- 判断任务类型:投资分析
- 拆解步骤: 获取财报 计算指标 分析风险 总结结论
这是 Agent Skills 在干活
Step MCP(能力接入)
Agent 通过 MCP 知道:
- 我能用哪些金融数据
- 我能查哪些数据库
- 我能用哪些工具
这是 MCP 在提供“世界”
Step Function Calling(执行表达)
模型决定:
{
"name": "get_financial_report",
"arguments": {
"ticker": "AAPL"
}
}
这是 Function Calling 在说“我要调用谁”
Step 返回结果 → Agent 继续循环
五、一个极其重要的对照表
| 维度 | Function Calling | MCP | Agent Skills |
|---|---|---|---|
| 层级 | 模型能力 | 协议层 | 系统能力 |
| 关注点 | 怎么调用 | 怎么接入 | 怎么完成目标 |
| 是否智能 | ❌ | ❌ | ✅ |
| 是否规划 | ❌ | ❌ | ✅ |
| 是否跨模型 | ❌ | ✅ | 可 |
| 是否可替换 | 低 | 高 | 高 |
| 面试定位 | 基础 | 架构 | 高级 |
六、常见致命误解(你现在可以避免)
❌ “Function Calling 就是 Agent”
❌ “MCP 是 Agent 框架”
❌ “有 MCP 就不需要 Function Calling”
❌ “Agent Skills 是 Prompt 技巧”
👉 这四句话都是错的。
七、你在面试中可以这样“高级总结”
“Function Calling 是模型层的结构化动作表达; MCP 是模型与外部能力之间的标准协议; Agent Skills 是在此之上,通过规划、记忆和反思 让模型具备持续完成复杂任务的系统能力。 在复杂系统中,这三者是分层协作而不是互相替代。”
💥 这是明显高一档的回答。