Skills 与 MCP 是大模型 Agent 工程化中两个非常关键但层次完全不同的概念,它们不是竞争关系,而是典型的互补关系,一起构成了目前最主流的 Agent 能力分层架构。
简单一句话总结:
- MCP 解决的是“能不能连上、能不能执行” → 相当于给 Agent 装上“手和网线”
- Skills 解决的是“怎么做才对、怎么做更专业” → 相当于给 Agent 一本本“专业操作手册 + SOP”
最常用的类比(2025-2026 年社区最流行说法)
| 维度 | MCP | Skills (Agent Skills) |
|---|---|---|
| 类比 | USB 接口 / 驱动程序 / 通信协议 | 应用程序 / 操作手册 / 领域SOP |
| 层级 | 集成层 / 连接层 | 提示层 / 知识层 / 方法论层 |
| 核心解决 | 连接外部世界(工具、数据、系统) | 教模型在特定场景下正确、高质量完成任务 |
| 提供什么 | “能力”:能调用什么工具 | “智慧”:应该怎么用这些工具 |
| 加载方式 | 实时调用、标准协议(stdio / http) | 懒加载 / 渐进式披露(先摘要,后详情) |
| Token 消耗 | 工具描述常驻上下文 | 极低(只在需要时加载详细指令) |
| 典型场景 | 查询数据库、读文件、调用 API | 代码评审规范、发版流程、故障排查模板、周报撰写标准 |
| 谁来写 | 后端/工具工程师 | 领域专家 / 产品 / 资深从业者 |
| 官方定位 | Integration layer | Prompt / Knowledge layer |
为什么说 Skills 是 Agent 工程化的“关键一步”?
早期 Agent 主要靠 Function Calling / Tool Calling + 长 Prompt 驱动,存在三大工程化痛点:
- 上下文爆炸:把几十条规则、领域知识全塞 system prompt,token 贵、注意力稀释
- 一致性差:同一个任务每次输出风格、质量波动大(模型“自由发挥”太多)
- 知识难以治理:规则改了只能改 prompt,版本管理、审计、复用都很麻烦
Skills 的出现直接针对这三个痛点:
- 把散装知识 → 模块化、可版本、可组合、可检索的“技能包”
- 支持渐进加载(先给模型看技能目录和摘要,需要时才读完整 SOP),极大节省 token
- 可以像代码一样做 review、diff、回滚,成为真正的工程资产
- 天然适合沉淀组织级最佳实践(公司内部的代码规范、安全 checklist、PR 模板等)
实际最强组合:Skills + MCP(2026 年主流生产级做法)
用户需求
↓
Agent 主推理循环
├─ MCP 层:提供所有可用工具清单(bash、文件读写、数据库、API 等)
└─ Skills 层:提供领域知识 + 流程指导(先匹配到需要的 Skill → 加载详细 SOP)
↓
模型根据 Skill 里的方法论 + MCP 暴露的工具 → 规划 & 执行多步
↓
高质量、符合规范的输出
真实例子:
- MCP 提供:
git、bash、read_file、sql_query等底层能力 - Skills 提供:
- “后端代码评审 Skill”:必须检查 SQL 注入、必须写单元测试、必须符合公司日志规范……
- “周报生成 Skill”:必须包含本周完成、上周遗留、风险项、下周计划……
两者结合后,Agent 既有手(MCP),又会用手(Skills),输出稳定性和专业度大幅提升。
总结一句话口诀
MCP 让 Agent 能做事,Skills 让 Agent 会做事、做好事。
大模型 Agent 真正工程化落地的路径大概率是:长上下文 + MCP(工具连接) + Skills(知识封装) + 记忆/规划模块 的组合,而不是寄希望于单一技术点。
你现在是在做 Agent 落地吗?是用 Claude / Anthropic 生态,还是其他框架?可以聊聊具体场景,我可以更针对性地讲讲怎么组合使用。