返回首页

SKILL 与 MCP 的区别

· AI · #SKILL #MCP

一句话总结:Skill 是 AI 的”知识手册”,MCP 是 AI 的”工具箱”。两者互补,不是替代关系。

一、核心区别

1.1 本质对比

维度SkillMCP
本质知识/流程规范(Markdown 文件)工具调用协议(JSON-RPC)
作用对象AI 的”大脑”(改变行为和输出风格)AI 的”手脚”(扩展可执行的操作)
内容形式Markdown + YAML FrontmatterJSON Schema + 可执行代码
标准化程度开放标准(agentskills.io),多家支持开放标准(Anthropic 主导),多家支持
跨工具兼容性高(SKILL.md 格式通用)高(协议通用)
Kimi 特有扩展Flow Skill(Mermaid 流程图)

1.2 一句话区分

  • Skill:告诉 AI “应该怎么做”、“按什么规范做”
  • MCP:给 AI “能做什么”、“操作外部系统的能力”

二、详细能力对比

2.1 Skill 能做什么

能力说明示例
定义代码规范规定命名风格、架构原则”使用 camelCase,函数不超过 50 行”
标准化流程定义多步骤工作流”代码审查 → 安全检查 → 输出报告”
注入领域知识提供行业/项目特定背景”本项目使用 DDD 架构,实体层不能依赖基础设施”
约束输出格式要求特定的响应结构”按表格输出,包含风险等级和修复建议”
自动化工作流Flow Skill 按流程图自动执行多轮对话/flow:code-review 自动走完审查流程

2.2 MCP 能做什么

能力说明示例
读取外部数据访问文件、数据库、API读取 schema.sql 获取真实表结构
执行外部操作调用工具修改环境执行 SQL 查询、创建 GitHub PR
获取实时信息打破模型知识截止日期搜索最新文档、查询当前天气
与环境交互操作浏览器、终端自动化测试、抓取网页

2.3 不能互相替代的场景

场景能否用 Skill 解决能否用 MCP 解决说明
”让 AI 知道项目的代码规范”✅ 能❌ 不能这是知识传递,不需要工具
”让 AI 直接修改数据库”❌ 不能✅ 能需要实际执行 SQL 的能力
”让 AI 按固定流程审查代码”✅ 能(Flow Skill)❌ 不能这是流程定义
”让 AI 获取实时股价”❌ 不能✅ 能需要调用外部 API
”让 AI 生成符合团队风格的代码”✅ 能⚠️ 辅助Skill 定义风格,MCP 可读取现有代码作为参考
”让 AI 操作 GitHub”❌ 不能✅ 能需要 GitHub API 调用

三、组合使用:1+1 > 2

3.1 组合模式

Skill 和 MCP 的最佳实践是组合使用

┌─────────────────────────────────────────────┐
│              用户输入任务                      │
│  "按项目规范审查 src/api 目录的代码安全性"      │
└─────────────────────────────────────────────┘


┌─────────────────────────────────────────────┐
│              Skill 层(知识注入)              │
│  • 读取 .kimi/skills/security-audit/SKILL.md  │
│  • 获知:检查清单、风险等级定义、输出格式要求     │
│  • 约束:必须检查 SQL 注入、XSS、权限校验       │
└─────────────────────────────────────────────┘


┌─────────────────────────────────────────────┐
│              MCP 层(能力扩展)                │
│  • filesystem MCP:读取 src/api 下的实际代码   │
│  • postgres MCP:查询数据库 schema 验证 ORM    │
│  • github MCP:拉取相关 PR 的变更记录          │
└─────────────────────────────────────────────┘


┌─────────────────────────────────────────────┐
│              输出结果                          │
│  • 符合安全审查规范的报告                      │
│  • 基于真实代码和 schema 的分析                │
└─────────────────────────────────────────────┘

3.2 实战示例

示例 1:数据库迁移审查

需求:审查今天的数据库迁移脚本

Skill 注入:
  - security-audit Skill:规定"所有迁移必须包含回滚逻辑"
  - db-standard Skill:规定"不允许删除列,只能添加"

MCP 执行:
  - filesystem:读取 migrations/ 目录下的 .sql 文件
  - postgres:DESCRIBE 相关表,对比迁移前后 schema

结果:
  - AI 按照规范 checklist 逐项检查
  - AI 基于真实 schema 验证迁移的正确性

示例 2:API 接口开发

需求:给用户模块添加密码重置接口

Skill 注入:
  - backend-standard Skill:RESTful 规范、错误码定义、日志格式
  - auth Skill:JWT 校验流程、密码加密算法要求

MCP 执行:
  - filesystem:读取现有的 user.controller.ts 作为参考
  - postgres:查看 users 表的字段定义
  - github:查看之前类似接口的实现模式

结果:
  - AI 生成的代码风格与现有项目一致
  - AI 知道真实的数据库字段,不会幻觉出不存在列
  - AI 遵循安全规范(如密码必须 bcrypt,必须有 rate limit)

四、如何选择

4.1 决策树

你需要解决什么问题?

├─ AI 输出的内容不符合预期(风格、格式、质量)
│   └─ 需要定义规范或知识 → 使用 Skill
│       ├─ 是固定流程(多步骤、可重复)→ Flow Skill
│       └─ 是知识/规范(风格、约束)→ 普通 Skill

├─ AI 无法访问外部信息或执行操作
│   └─ 需要扩展能力边界 → 使用 MCP
│       ├─ 读取文件/数据库 → filesystem / database MCP
│       ├─ 调用 API/搜索 → http / search MCP
│       └─ 操作浏览器/终端 → puppeteer / shell MCP

└─ 两者都需要
    └─ Skill + MCP 组合使用(最佳实践)

4.2 典型错误

错误做法问题正确做法
用 Skill 存储大量 API 文档Skill 是静态文本,无法获取实时数据用 MCP 连接真实 API/数据库
用 MCP 实现代码风格检查MCP 是工具协议,不定义规范用 Skill 定义规范,MCP 读取代码
一个 Skill 写 2000 行过长会影响 AI 上下文效率拆分为多个 Skill,或配合 MCP 读取参考文件
给 MCP Server 起模糊的名称AI 无法判断何时调用使用清晰的 namedescription

五、在 Kimi CLI 中的配置关系

5.1 配置位置对比

层级SkillMCP
用户级~/.config/agents/skills/~/.config/kimi/mcp.json
项目级.kimi/skills/ / .agents/skills/仍在 mcp.json 中定义
生效范围当前项目或全局当前 Kimi CLI 实例

5.2 优先级关系

  • Skill:项目级 > 用户级(项目目录下的 Skill 覆盖用户目录的同名 Skill)
  • MCP:所有在 mcp.json 中配置且启动成功的 Server 同时可用

5.3 同时生效示例

# 假设配置了以下组件:
# Skills:code-style, security-audit
# MCP Servers:filesystem, postgres, github

kimi
> 审查 src/auth 模块的安全性

# AI 实际的工作流程:
# 1. 发现 security-audit Skill,加载安全检查清单
# 2. 发现 code-style Skill,确定代码规范
# 3. 调用 filesystem MCP 读取 src/auth/*.ts
# 4. 调用 postgres MCP 查询用户表结构
# 5. 按 Skill 规范输出审查报告

六、总结

场景推荐方案
只规范 AI 行为(不操作外部)只用 Skill
只扩展 AI 能力(不定义规范)只用 MCP
既要规范行为,又要操作外部Skill + MCP 组合
复杂的多步骤自动化流程Flow Skill + MCP

核心原则:Skill 解决”质量”问题(让 AI 做得对),MCP 解决”能力”问题(让 AI 做得到)。两者结合,才能构建高质量、实用的 AI 工作流。