Agent Skill 和 MCP 到底有什么区别?很多人搞混了
这两个概念最近出现频率都很高,而且经常被放在一起讨论,容易让人觉得它们是同一类东西。
但其实它们解决的是两个不同层面的问题。
先说 MCP 是什么
MCP 是 Anthropic 推出的一个开放协议,解决的是"AI 模型怎么标准化地连接外部工具和数据源"这个问题。
在 MCP 出现之前,每个 AI 应用要接入外部工具,都得自己写一套对接逻辑。接 GitHub 一套写法,接 Slack 又一套,接数据库再一套,重复劳动,而且互不兼容。
MCP 做的事情是:定一个标准接口,工具提供方按这个标准暴露能力,AI 应用按这个标准来调用,双方对上就能用。
你可以把 MCP 理解成 AI 世界的 USB 接口——统一了插头标准,设备不用管是什么品牌的电脑,插上就能用。
再说 Agent Skill 是什么
Agent Skill 解决的是另一个问题:Agent 自身的执行能力怎么组织和管理。
它是一种架构设计,把 Agent 的各种执行能力拆成独立的技能包,每个技能包含三层:
- Metadata:描述这个技能是什么、什么时候用
- Instruction:具体告诉 Agent 怎么执行这个任务
- Resources:执行时按需加载的外部资源
核心目的是:让 Context Window 里只出现当前任务需要的内容,避免把所有能力一股脑塞进 Prompt 导致执行飘移。
两者的本质区别
一句话区分:
MCP 管的是"能连什么",Agent Skill 管的是"怎么做事"。
展开来说:
| MCP | Agent Skill | |
|---|---|---|
| 解决什么问题 | 工具连接的标准化 | 执行能力的结构化管理 |
| 核心角色 | 协议 / 接口标准 | 架构设计模式 |
| 关注点 | 我能调用哪些外部能力 | 我怎么组织自己的执行逻辑 |
| 类比 | USB 接口标准 | 工作手册 / SOP |
用一个场景感受区别
假设你在开发一个 AI 代码助手,需要它能读取 GitHub 上的代码,然后做 Code Review。
MCP 负责的部分:
怎么连上 GitHub?通过 MCP,GitHub 提供了标准化的 MCP Server,你的 Agent 直接接入,就能调用"读取仓库文件"、"获取 PR 详情"等能力。这一层解决的是连接问题。
Agent Skill 负责的部分:
拿到代码之后,Agent 怎么做 Review?按什么维度审查?输出什么格式?这些执行逻辑封装在 code-review 这个 Skill 的 Instruction 里,需要的时候加载进来,指导 Agent 完成任务。这一层解决的是执行问题。
两者在这个场景里是配合关系:MCP 把数据取回来,Skill 告诉 Agent 拿着这些数据该怎么办。
它们可以组合使用
这是很多人没意识到的一点——Agent Skill 的 Resources 层,完全可以挂载通过 MCP 连接的外部工具。
code-review Skill
├── metadata.yaml
├── instruction.md ← 告诉 Agent 怎么审查代码
└── resources/
├── security_rules.json
└── github_mcp_tool ← 通过 MCP 连接的 GitHub 工具
Skill 定义了"做什么、怎么做",MCP 提供了"用什么工具去做"。
总结
- MCP 是协议层,解决 AI 和外部世界的连接标准化问题,让工具接入变得可复用、可互操作
- Agent Skill 是架构层,解决 Agent 自身执行能力的组织问题,让复杂任务的处理更稳定、更可维护
- 两者不是竞争关系,而是不同层次的解决方案,实际项目里经常组合使用
如果你在做 Agent 开发,MCP 帮你解决"接什么",Skill 帮你解决"怎么做",搞清楚这个分工,架构设计会清晰很多。