一句话总结:Skill 是 AI 的”知识手册”,MCP 是 AI 的”工具箱”。两者互补,不是替代关系。
一、核心区别
1.1 本质对比
| 维度 | Skill | MCP |
|---|---|---|
| 本质 | 知识/流程规范(Markdown 文件) | 工具调用协议(JSON-RPC) |
| 作用对象 | AI 的”大脑”(改变行为和输出风格) | AI 的”手脚”(扩展可执行的操作) |
| 内容形式 | Markdown + YAML Frontmatter | JSON 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 无法判断何时调用 | 使用清晰的 name 和 description |
五、在 Kimi CLI 中的配置关系
5.1 配置位置对比
| 层级 | Skill | MCP |
|---|---|---|
| 用户级 | ~/.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 工作流。