什么是 Skill?与 MCP 的详细区别
·
1. 什么是 Skill
Skill(技能)是 AI 智能体(Agent)框架中用于封装特定能力或任务执行逻辑的模块化组件。它通常包含以下要素:
- 触发条件:定义何时调用该 Skill(如关键词匹配、意图识别、上下文触发)。
- 执行逻辑:具体的处理流程,可能包含调用外部 API、执行代码、查询数据库等操作。
- 输入输出规范:明确 Skill 需要接收哪些参数,以及返回什么格式的结果。
- 上下文约束:Skill 运行所需的环境依赖、权限要求等。
在主流 Agent 框架(如 LangChain、AutoGPT、CrewAI、OpenAI Assistants API)中,Skill 是让 AI 从“对话”走向“行动”的核心抽象。例如:
- 一个“发送邮件”Skill 封装了 SMTP 配置、收件人验证、邮件模板渲染等逻辑。
- 一个“查询天气”Skill 封装了天气 API 调用、参数解析、结果格式化等步骤。
2. 什么是 MCP
MCP(Model Context Protocol,模型上下文协议)是由 Anthropic 提出的一种开放协议,旨在标准化 AI 模型与外部工具、数据源之间的交互方式。MCP 的核心设计理念包括:
- 协议层标准化:定义统一的 JSON-RPC 消息格式,用于工具发现、调用、结果返回。
- 资源抽象:将文件、数据库、API 等外部资源统一建模为可被模型访问的“资源”。
- 安全边界:通过权限声明、作用域限制等机制控制模型对外部系统的访问范围。
- 动态发现:MCP 服务器可以动态注册和注销工具,客户端(模型)实时获取可用工具列表。
MCP 本质上是一个“中间层”协议,它不关心具体业务逻辑,只负责定义模型如何发现和调用外部能力。一个 MCP 服务器可以暴露多个工具,每个工具都有明确的 schema 描述其输入输出。
3. Skill 与 MCP 的核心区别
虽然 Skill 和 MCP 都涉及 AI 与外部系统的交互,但它们在抽象层次、设计目标和实现方式上有本质区别:
3.1 抽象层次不同
- Skill:是应用层的抽象,封装了完整的业务逻辑。例如“生成周报”Skill 可能包含数据聚合、模板填充、格式转换、邮件发送等多个步骤。
- MCP:是协议层的抽象,只定义通信规范。MCP 不关心业务逻辑,只负责将模型的调用请求路由到对应的工具实现。
3.2 复用粒度不同
- Skill:通常是垂直领域的完整能力单元,复用范围受限于业务场景。一个“电商订单处理”Skill 很难直接复用到医疗场景。
- MCP:是水平通用的协议标准,任何符合 MCP 规范的工具都可以被任何支持 MCP 的模型调用。同一个 MCP 服务器可以同时服务于多个不同的 Agent 应用。
3.3 实现方式不同
- Skill:通常以代码库、插件、函数集合的形式存在,与特定框架深度绑定。例如 LangChain 的 Tool 类、AutoGPT 的 Command 类。
- MCP:以独立服务进程的形式运行,通过标准化的 JSON-RPC 接口与模型通信。MCP 服务器可以用任何语言实现,只要遵循协议规范。
3.4 动态性不同
- Skill:通常在 Agent 启动时静态加载,运行时难以动态增删。修改 Skill 需要重新部署 Agent 应用。
- MCP:支持运行时动态发现。MCP 服务器可以随时注册新工具或注销旧工具,模型在每次交互前都能获取最新的工具列表。
3.5 安全模型不同
- Skill:安全策略通常由宿主框架实现,缺乏统一的安全声明机制。开发者需要自行处理权限校验、输入过滤等。
- MCP:内置安全声明机制,每个工具可以声明所需的权限、资源范围、操作类型。MCP 客户端可以根据这些声明决定是否允许调用。
4. 对比总结表
| 维度 | Skill | MCP |
|---|---|---|
| 抽象层次 | 应用层(业务逻辑封装) | 协议层(通信规范) |
| 复用粒度 | 垂直领域,场景绑定 | 水平通用,跨场景复用 |
| 实现形式 | 代码库/插件/函数集合 | 独立服务进程 + JSON-RPC |
| 动态性 | 静态加载,运行时难变更 | 运行时动态发现和注册 |
| 安全模型 | 框架级实现,无统一标准 | 内置安全声明机制 |
| 框架依赖 | 强依赖特定 Agent 框架 | 协议中立,框架无关 |
| 典型场景 | 邮件发送、数据查询、报告生成 | 工具发现、能力注册、跨系统集成 |
5. 实际关系:互补而非替代
Skill 和 MCP 并非互斥关系,在实际系统中常常协同工作:
- MCP 作为 Skill 的底层通信层:一个 Skill 内部可以调用多个 MCP 工具来完成子任务。例如“生成周报”Skill 内部通过 MCP 调用数据库查询工具、文件读写工具、邮件发送工具。
- MCP 实现 Skill 的动态发现:Agent 可以通过 MCP 协议动态发现可用的 Skill 列表,实现 Skill 的热插拔。
- Skill 封装 MCP 调用逻辑:对于复杂的多步骤任务,Skill 可以编排多个 MCP 工具的调用顺序和异常处理逻辑。
简单来说:MCP 解决了“模型如何调用工具”的标准化问题,而 Skill 解决了“如何组合工具完成业务任务”的编排问题。两者结合,才能构建出既灵活又强大的 AI Agent 系统。
更多推荐


所有评论(0)