Agent Skills vs MCP:两种 AI Agent 扩展范式对比
引言
2025 年,AI Agent 生态迎来两个关键的扩展范式:Agent Skills 和 Model Context Protocol(MCP)。两者经常被拿来比较,但实际上它们解决的是完全不同层面的问题。
Skills describe the workflow. MCP provides the runner. — Goose Blog: Did Skills Kill MCP?
简单来说:Skills 教 Agent 怎么做事,MCP 给 Agent 做事的工具。 就像一个公司里,Skills 是员工手册,MCP 是工具箱。两者不是竞争关系,而是互补的两层。
Agent Skills 解决了什么问题
核心痛点:重复提示与知识丢失
在没有 Skills 之前,使用 AI Agent 经常遇到这些问题:
- 每次对话都要重复:每次让 Claude 写提交信息,都要重新说明团队规范
- 领域知识无法沉淀:好不容易教会 Agent 一套工作流,下次对话又忘了
- 团队规范难以统一:每个人和 Agent 交互的方式不同,输出质量参差不齐
- Prompt 越来越长:为了覆盖各种情况,System Prompt 不断膨胀,浪费 Token
Skills 的解决方案
Skills 是一种基于文件系统的、可复用的领域知识包。核心思路是把重复的指导沉淀为标准化的 Markdown 文件,Agent 在需要时自动加载。
Agent Skills are organized folders of instructions, scripts, and resources that agents can discover and load dynamically. — Anthropic Engineering Blog
Skills 的架构
flowchart TD
A[Agent 启动] --> B[加载所有 Skills 元数据]
B --> C[name + description 约 100 tokens/Skill]
C --> D[用户发送请求]
D --> E{语义匹配 Skill?}
E -->|是| F[加载完整 SKILL.md]
F --> G{需要更多信息?}
G -->|是| H[按需加载 references/scripts/]
G -->|否| I[执行任务]
H --> I
E -->|否| J[正常对话]
三层渐进式披露是 Skills 最精妙的设计:
| 层级 | 何时加载 | Token 消耗 | 内容 |
|---|---|---|---|
| Level 1 | 始终加载 | 约 100 tokens/Skill | name + description |
| Level 2 | Skill 触发时 | 5k tokens 以内 | SKILL.md 完整内容 |
| Level 3 | 按需 | 无上限 | scripts/、references/ 等 |
这种设计让你可以注册几十个 Skills,但只有真正用到的才消耗 Token。
Skills 的文件结构
my-skill/ SKILL.md # 必需:YAML 元数据 + Markdown 指令 scripts/ # 可选:可执行脚本(被 Agent 执行) references/ # 可选:参考文档(被 Agent 读取到上下文) assets/ # 可选:模板等静态资源Skills 的关键特征
- 本地执行:没有网络开销,速度快
- Markdown 定义:非开发者也能编写
- 语义触发:Agent 通过理解 description 自动判断何时使用
- 跨平台:Claude.ai、Claude Code、Agent SDK、API 均支持
- 开放标准:Anthropic 将其作为开放标准发布,OpenAI Codex CLI 也支持相同格式
MCP 解决了什么问题
核心痛点:碎片化的 AI-工具集成
在 MCP 出现之前,每个 AI 应用要连接外部工具都得写定制代码。假设有 M 个 AI 应用和 N 个外部服务,就需要 M x N 个集成适配器。这导致了:
- 重复劳动:每个 AI 工具都要单独写 GitHub、Slack、数据库的集成
- 标准缺失:每家的集成方式不同,生态碎片化严重
- 安全混乱:认证、权限、数据访问缺乏统一规范
MCP 的解决方案
MCP(Model Context Protocol)是 Anthropic 于 2024 年 11 月发布的开放协议标准,旨在为 AI 应用提供统一的外部工具集成接口。它经常被类比为 “AI 的 USB-C” — 一个标准接口连接一切。
MCP is an open protocol that standardizes how applications provide context to LLMs. Think of MCP like a USB-C port for AI applications. — Model Context Protocol Official
MCP 的架构
flowchart LR
subgraph "AI 应用(MCP Client)"
A[Claude / ChatGPT / Cursor]
end
subgraph "MCP 协议层"
B[JSON-RPC 2.0]
end
subgraph "MCP Servers"
C[GitHub Server]
D[Slack Server]
E[PostgreSQL Server]
F[自定义 Server]
end
A <-->|Streamable HTTP| B
B <--> C
B <--> D
B <--> E
B <--> F
MCP 基于 JSON-RPC 2.0 协议,复用了 LSP(Language Server Protocol)的消息流模式。它有三个核心原语(Primitives):
| 原语 | 作用 | 示例 |
|---|---|---|
| Tools | 可执行的函数/操作 | 发送邮件、创建 PR、查询数据库 |
| Resources | 只读数据源 | 文件内容、数据库表结构、API 文档 |
| Prompts | 预定义的提示模板 | 代码审查模板、报告生成模板 |
MCP 的关键特征
- 进程隔离:每个 Server 独立运行,Gmail Server 无法访问 Trello 的凭证
- 开放标准:2025 年 12 月捐赠给 Linux Foundation 下的 Agentic AI Foundation
- 广泛采纳:截至 2026 年初,月 SDK 下载量 9700 万+,活跃 Server 10,000+
- 多厂商支持:Claude、ChatGPT、Cursor、Gemini、VS Code、GitHub Copilot 均已集成
- 实时数据:可以访问实时 API、数据库、外部服务
核心对比
定位差异
flowchart TB
subgraph "Agent Skills(知识层)"
S1[领域专业知识]
S2[工作流程规范]
S3[团队约定]
end
subgraph "MCP(能力层)"
M1[外部 API 调用]
M2[数据库查询]
M3[文件系统操作]
end
subgraph "AI Agent"
A[LLM 核心]
end
S1 --> A
S2 --> A
S3 --> A
A --> M1
A --> M2
A --> M3
用一句话概括:
- Skills = 教 Agent 怎么做(知识和流程)
- MCP = 给 Agent 用什么做(工具和数据)
详细对比表
| 维度 | Agent Skills | MCP |
|---|---|---|
| 本质 | 领域知识包 | 通信协议标准 |
| 解决的问题 | 重复提示、知识沉淀 | 碎片化集成、工具标准化 |
| 定义方式 | Markdown 文件(SKILL.md) | JSON-RPC Server(代码实现) |
| 执行位置 | Agent 本地上下文内 | 外部独立进程 |
| 网络依赖 | 无(本地文件系统) | 有(HTTP/stdio 通信) |
| 延迟 | 极低(文件读取) | 有网络开销 |
| 确定性 | 依赖 LLM 解读 | 固定 Schema,结果确定 |
| 安全模型 | 共享 Agent 上下文 | 进程隔离、凭证作用域化 |
| 开发门槛 | 低(写 Markdown) | 中高(写代码 + 部署 Server) |
| 标准化程度 | Anthropic 开放标准(新) | Linux Foundation 治理(成熟) |
| 生态规模 | 63,000+ 社区 Skills | 10,000+ MCP Servers |
| 适用角色 | 产品经理、业务团队皆可 | 主要面向开发者 |
触发与执行模型
Skills 的触发是语义驱动的:Agent 理解用户请求后,自动匹配最相关的 Skill 并加载。这个过程对用户是透明的。
用户:"帮我提交这些代码改动" -> Agent 语义分析 -> 匹配 "commit-helper" Skill -> 加载 SKILL.md -> 按指令生成提交信息MCP 的调用是显式函数调用:Agent 根据可用工具列表,选择合适的 Tool 并发送结构化请求。
用户:"查一下 GitHub 上这个 PR 的评论" -> Agent 选择 GitHub MCP Server 的 get_pr_comments Tool -> 发送 JSON-RPC 请求 { method: "get_pr_comments", params: { pr: 123 } } -> Server 调用 GitHub API -> 返回结果安全模型对比
这是两者最本质的架构差异之一:
Agent Skills:
- 在 Agent 的上下文中执行,共享本地状态
- 通过
allowed-tools限制权限(白名单机制) - 安全性依赖于 Skill 本身的可信度
- 2026 年 1 月 ClawHub 事件中发现 341 个恶意 Skills,通过”安装前置条件”触发任意代码执行
MCP:
- 每个 Server 运行在独立进程中,互相隔离
- 凭证作用域化 — Gmail Server 无法访问 Trello Token
- Host 显式中介所有工具调用
- 由 Agentic AI Foundation(Linux Foundation)治理,有验证机制
flowchart LR
subgraph "Skills 安全边界"
direction TB
SK1[Skill A] --- SK2[Skill B]
SK2 --- SK3[Skill C]
SK1 ~~~ NOTE1["共享 Agent 上下文\n(同一进程)"]
end
subgraph "MCP 安全边界"
direction TB
MC1[Server A\nGitHub 凭证]
MC2[Server B\nSlack 凭证]
MC3[Server C\nDB 凭证]
MC1 -.-|"进程隔离"| MC2
MC2 -.-|"进程隔离"| MC3
end
如何选择
选 Skills 的场景
- 自动化团队内部的固定工作流(代码审查、提交规范、文档生成)
- 沉淀组织专有知识(ML 实验经验、API 设计规范、业务规则)
- 需要低门槛创建(非开发人员也能编写 Markdown)
- 对延迟敏感(本地执行,无网络开销)
- Token 预算有限(渐进式加载,按需消耗)
选 MCP 的场景
- 需要访问外部实时数据(GitHub PR、Slack 消息、数据库查询)
- 集成第三方服务(发送邮件、操作 CI/CD、调用 REST API)
- 需要强安全隔离(多租户环境、敏感凭证管理)
- 构建跨厂商兼容方案(同时支持 Claude、ChatGPT、Gemini)
- 多系统编排(库存 + 物流 + ERP 联动)
两者结合的场景(推荐)
最强大的 Agent 系统通常同时使用两者:
场景:自动化周报生成
MCP 负责: -> GitHub Server: 获取本周 PR 和 Issue 数据 -> Jira Server: 获取本周完成的任务 -> Slack Server: 获取关键讨论摘要
Skills 负责: -> 按公司模板格式化周报 -> 应用团队写作规范 -> 自动分类和优先级排序 -> 生成符合品牌风格的文档MCP gives agents abilities. Skills teach agents how to use those abilities well. — LlamaIndex Blog
决策流程图
flowchart TD
A[需要扩展 Agent 能力] --> B{需要访问外部系统?}
B -->|是| C{需要实时数据?}
B -->|否| D{需要标准化流程?}
C -->|是| E[使用 MCP]
C -->|否| F{数据变化频繁?}
F -->|是| E
F -->|否| G[Skills 中嵌入静态数据]
D -->|是| H[使用 Skills]
D -->|否| I[CLAUDE.md 可能就够了]
E --> J{还需要规范化输出?}
J -->|是| K[MCP + Skills 结合]
J -->|否| L[仅 MCP]
生态现状(2026 年初)
Agent Skills
- 2025 年 10 月由 Anthropic 发布
- 作为开放标准发布,OpenAI Codex CLI 也支持
- anthropics/skills 官方仓库提供模板和示例
- SkillsMP 社区市场拥有 63,000+ Skills
- 支持 Claude.ai、Claude Code、Agent SDK、API(单次请求最多 8 个 Skills)
- Canva、Box、Rakuten 等企业已落地使用
MCP
- 2024 年 11 月由 Anthropic 发布
- 2025 年 12 月捐赠给 Linux Foundation 的 Agentic AI Foundation
- 月 SDK 下载量 9700 万+(Python + TypeScript)
- 10,000+ 活跃 Server
- Claude、ChatGPT、Cursor、Gemini、VS Code、GitHub Copilot 均已集成
- OpenAI、Google、Microsoft 加入指导委员会
发展趋势
两者正在从”各自独立”走向”深度融合”:
- Skills 可以调用 MCP 工具来执行外部操作
- MCP Server 可以通过 Skills 获得领域上下文
- 未来可能出现统一的 Agent 扩展框架
总结
| Agent Skills | MCP | |
|---|---|---|
| 一句话定义 | Agent 的操作手册 | Agent 的神经系统 |
| 核心价值 | 知识复用、流程标准化 | 工具标准化、外部连接 |
| 类比 | GitHub Actions 的 YAML 工作流 | USB-C 统一接口 |
| 竞争关系 | 不是竞争,而是互补 | 不是竞争,而是互补 |
记住这个公式:
强大的 AI Agent = LLM 核心 + Skills(知道怎么做) + MCP(能做什么)
参考资源
- Goose Blog: Did Skills Kill MCP? - Block 团队的深度对比分析
- LlamaIndex: Skills vs MCP Tools for Agents - LlamaIndex 团队的实践总结
- IntuitionLabs: Claude Skills vs MCP Technical Comparison - 全面的技术对比报告
- Agent Skills vs MCP: Two Standards, Two Security Models - 安全模型专项分析
- Anthropic: Introducing MCP - MCP 官方发布公告
- MCP Specification - MCP 协议规范
- Anthropic Skills GitHub - Agent Skills 开放标准仓库
- Claude Code Skills Docs - Claude Code 中的 Skills 使用指南