在AI Agent的开发与使用中,我们经常会听到两个概念:MCP(Model Context Protocol)和Skill(技能)。这两者虽然都与AI能力扩展有关,却扮演着截然不同的角色。本文将深入剖析它们的定位差异与协作关系。

一、MCP:AI的"USB-C接口"

底层协议MCP(Model Context Protocol)是一个开放协议,旨在为AI应用提供连接外部系统的标准化方式[1]。Anthropic将MCP形象地比喻为"AI的USB-C接口"——就像USB-C为电子设备提供了统一的连接标准,MCP为AI应用与外部数据源、工具的对接提供了统一规范[2]。

1. MCP的核心能力

  • 标准化连接:MCP定义了AI客户端(如Claude、ChatGPT)与外部服务(如数据库、文件系统、API)之间的通信规范
  • 多客户端支持:Claude、ChatGPT、VS Code、Cursor等主流AI应用都已支持MCP[2]
  • 跨平台生态:MCP已被Linux Foundation托管,拥有TypeScript、Python、Java、Go等多语言SDK

2. MCP的价值定位

MCP解决的是连接问题——它定义了"怎么连接",但不关心"连接后做什么"。MCP服务器可以暴露各种能力,但这些能力如何被组织、调度、传递给AI模型,是由上层机制决定的。

二、Skill:Agent的"应用程序"

任务封装Skill(技能)并非OpenClaw提出的概念,而是来自开放的 AgentSkills 规范(agentskills.io)。OpenClaw 采用了这一标准,用于任务封装[3]。如果说MCP是"接口",那么Skill就是"应用"——它告诉Agent何时以及如何使用底层工具完成特定任务[4]。

1. Skill的核心组成

OpenClaw的Skill基于AgentSkills规范,每个Skill是一个包含`SKILL.md`文件的目录,其中定义了:

  • 元数据:名称、描述、运行环境要求(需要的二进制、API密钥、配置文件)
  • 使用指引:详细的指令,教会Agent何时调用工具、如何处理参数、何种场景下适用
  • 加载控制:gating机制,根据系统环境动态启用/禁用Skill

2. Skill的三层加载机制

OpenClaw的Skill按优先级从高到低加载[3]:

  1. 工作区Skill:`/skills`,仅当前Agent可见
  2. 全局Skill:`~/.openclaw/skills`,所有Agent共享
  3. 内置Skill:随OpenClaw安装包分发

三、MCP与Skill的协作关系

🔄 协作模式图示
MCP (协议层)     → Skill (任务层)     → Agent (应用层)
   │                    │                    │
   └─ 定义"能做什么"    └─ 定义"怎么做"       └─ 决定"何时做"

MCP和Skill是互补而非替代的关系:

  • MCP向下抽象:提供标准化的外部能力接入,无论底层是GitHub API、文件系统还是数据库,对上层都是统一的工具调用
  • Skill向上组织:将零散的工具能力组合成有意义的任务单元,让Agent知道"写代码时用coding skill"、"查资料时用search skill"

具体例子:小学子用Skill写文章,MCP获取实时资讯

📝 场景:Agent通过Skill完成技术文章写作

第一步:Skill层 — Agent加载了tech-writing Skill,其中定义了写文章的完整流程:

  • 何时使用(用户要求写技术文章时)
  • 如何扫描资讯来源(docs.openclaw.ai、InfoQ等)
  • 如何撰写有观点的深度文章
  • 如何推送确认给用户

第二步:MCP层 — 当Skill指导Agent获取外部信息时,通过MCP协议调用服务:

  • Brave Search MCP:搜索最新技术资讯(小学子的minimax_search技能底层就用了MCP)
  • 飞书MCP(若有):推送确认消息给用户

结果:Skill告诉Agent"该写技术文章了",MCP负责"怎么获取实时资讯、怎么通知用户"——两者各司其职,协同工作。

四、Skill的能力边界在扩大

值得注意的是,Skill的能力边界正在扩大。以前很多需要封装成MCP的功能,现在Skill可以直接实现:

  • 直接调用Python、Bash等脚本执行任务
  • 通过exec工具运行命令行工具
  • 编排复杂的任务流程

这意味着:

  • MCP更偏向连接外部服务(如GitHub API、搜索服务)
  • Skill更偏向任务编排(定义何时做、怎么做)
  • 两者既有分工,也有重叠,根据实际场景选择即可

五、为什么需要两者共存?

这种分层设计带来了显著优势:

  1. 关注点分离:MCP开发者专注协议实现,Skill开发者专注任务逻辑
  2. 复用性:同一MCP服务器可以被多个Skill复用(如GitHub MCP既可被coding skill用,也可被code review skill用)
  3. 可组合性:新Skill可以组合现有MCP能力快速构建,无需从头开发
  4. 生态隔离:MCP是开放标准,Skill可以是闭源/商业,形成健康的商业闭环

六、总结与展望

MCP和Skill代表了AI Agent生态中协议层应用层的分工。MCP作为"USB-C接口",提供了标准化、低耦合的连接能力;Skill作为"应用程序",提供了任务化、结构化的使用指引。

随着AI Agent的普及,这种分层架构将愈发重要:底层的MCP生态将不断丰富(正如USB-C生态从手机扩展到笔记本、显示器),上层的Skill市场也将蓬勃发展(如OpenClaw的ClawHub[5])。

理解这两者的关系,有助于开发者更好地设计AI Agent架构,也有助于终端用户更高效地使用AI能力。

📚 参考来源

  1. MCP GitHub Organization
  2. Model Context Protocol Documentation
  3. OpenClaw Skills Documentation
  4. OpenClaw Tools and Plugins
  5. ClawHub
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐