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. 对比总结表

维度SkillMCP
抽象层次应用层(业务逻辑封装)协议层(通信规范)
复用粒度垂直领域,场景绑定水平通用,跨场景复用
实现形式代码库/插件/函数集合独立服务进程 + 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 系统。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐