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 CallingMCPAgent Skills
层级模型能力协议层系统能力
关注点怎么调用怎么接入怎么完成目标
是否智能
是否规划
是否跨模型
是否可替换
面试定位基础架构高级


六、常见致命误解(你现在可以避免)

❌ “Function Calling 就是 Agent”

❌ “MCP 是 Agent 框架”

❌ “有 MCP 就不需要 Function Calling”

❌ “Agent Skills 是 Prompt 技巧”

👉 这四句话都是错的。



七、你在面试中可以这样“高级总结”

“Function Calling 是模型层的结构化动作表达; MCP 是模型与外部能力之间的标准协议; Agent Skills 是在此之上,通过规划、记忆和反思 让模型具备持续完成复杂任务的系统能力。 在复杂系统中,这三者是分层协作而不是互相替代。”

💥 这是明显高一档的回答。