Skip to content
Zegging's Tech Blog
Go back

SKILL 与 MCP 的区别与应用

这是四篇系列的第 2 篇,回答一个最常见的问题:Skill 和 MCP 到底有什么区别?

1. 核心本质的区别

Skill = “怎么做”

  • 定义: Skill 是封装好的专业知识和工作流程。它主要由自然语言编写的指令、模板和代码脚本组成。
  • 作用: 它教 Agent 如何思考和规划任务
  • 例子: 告诉 Agent “在写周报时,先提取数据,再按这个格式总结,最后生成图表”。
  • 侧重点: 侧重于流程编排、最佳实践和领域专长。

MCP = “能连什么”

  • 定义: MCP 是一种开放标准协议,用于标准化 LLM 与外部数据(如数据库)和工具(如 API)的连接方式。
  • 作用: 它赋予 Agent 感知和行动的能力
  • 例子: 让 Agent 有能力“读取 GitHub 仓库代码”或“查询 PostgreSQL 数据库”。
  • 侧重点: 侧重于互操作性、连接性和执行能力。

2. 详细对比表

维度Skill (技能)MCP (模型上下文协议)
比喻SOP 手册USB 接口
主要组成Markdown 文档 + 脚本 (Python/Bash)Client-Server 协议 + JSON Schema 定义
运行位置Agent 的沙盒环境 / 虚拟机内部通常连接到外部服务或本地服务器
上下文成本极低。采用“渐进式披露”,启动时仅加载元数据(约 100 tokens)较高。通常需要一次性加载工具的 Schema 定义到上下文,可能消耗数万 Token
编写门槛。非技术人员可用自然语言编写。需要开发者编写代码配置 Server 和接口
核心价值减少重复 Prompt,固化专家经验解决“大模型如何连接万物”的接口标准化问题

3. 它们是如何协作的?

在实际的高级应用中,Skill 和 MCP 往往是互补的,而不是互斥的。

场景示例:你需要一个“自动修复 Bug”的 Agent。

  • MCP 的角色(手脚): 通过 GitHub MCP Server,Agent 获得了“读取代码”和“提交 PR”的能力。
  • Skill 的角色(大脑): 通过一个 bug-fixing Skill,你定义了流程:先读取报错日志,再定位相关代码文件,然后编写测试用例复现 Bug,最后修改代码并提交。

协作流程:

  1. Agent 加载 Skill(获取流程指导)
  2. Skill 指挥 Agent(规划第一步)
  3. Agent 通过 MCP 协议调用外部工具(执行具体动作,如读取代码)
  4. MCP 返回结果
  5. Skill 指导下一步操作(分析代码并修复)

4. 总结:什么时候用哪个?

  • 用 MCP:当你需要 Agent 连接外部世界时。
    比如连接你的 Google Calendar、Slack、公司数据库或控制智能家居。MCP 解决了“连接”和“认证”的问题。

  • 用 Skill:当你发现自己在反复向 AI 解释同一个任务的步骤时。
    比如每次都要说“请按这个格式写文档”或“分析数据前先清洗异常值”。Skill 解决了“标准化”和“上下文管理”的问题。

继续阅读:Skills opencode Skill 功能实现 - 渐进式披露


Share this post on:

Previous Post
如何编写一个 skill
Next Post
opencode Skill 功能实现 - 渐进式披露