20,000 tokens,这些 token 在每轮对话中都会被重复发送。对于高频交互场景(如 IDE 插件),工具定义本身的 API 成本可能超过实际业务对话。随着工具数量增长,成本线性甚至超线性增长。Agent 能力扩展的两条路径——协议标准化 vs 流程封装,从全量注入到渐进式披露
MCP 是 Anthropic 提出的开放标准,定义了 AI 模型与外部工具之间的交互协议。可以将其理解为 AI 世界的"USB 接口"——任何工具只要实现了 MCP Server,就能被任何支持 MCP 的 Agent 调用。
MCP 的核心设计是全量注入:在对话开始前,所有已连接的 MCP Server 的工具定义(名称、描述、参数 Schema)全部注入到系统 prompt 中。Agent 在每轮对话中都能看到所有可用工具,自行决定调用哪个。
这个流程分三步:
| 阶段 | 动作 | 时机 |
|---|---|---|
| 1. 工具发现 | Agent 启动时,扫描所有已配置的 MCP Server,收集工具定义 | 会话初始化 |
| 2. 全量注入 | 所有工具的 JSON Schema 描述注入到 system prompt | 每轮对话前 |
| 3. 按需调用 | Agent 根据用户请求,选择并调用合适的工具 | 对话过程中 |
20,000 tokens,这些 token 在每轮对话中都会被重复发送。对于高频交互场景(如 IDE 插件),工具定义本身的 API 成本可能超过实际业务对话。随着工具数量增长,成本线性甚至超线性增长。300 个时,LLM 的工具选择准确率下降到 62%。大量工具描述占据了上下文窗口的核心空间,模型需要在海量选项中"大海捞针"。不相关的工具描述还会产生干扰,导致模型做出错误的工具选择。MCP 的工具定义采用嵌套 JSON Schema,这对开发者友好但对 LLM 来说并非最优。研究表明,LLM 对扁平的命令行接口(CLI)风格指令的理解准确率高于深层嵌套的 JSON 结构。这意味着工具描述的设计应该优先考虑 LLM 的认知模式,而非开发者的习惯。
Skills 是模块化的能力插件,基于文件系统组织,通过渐进式披露机制解决 MCP 的全量注入问题。Skills 不需要运行独立的服务进程,也不需要编写代码——一个 SKILL.md 文件就能定义一个完整的技能。
Skills 的核心创新是按需加载,将能力信息分为三个层级,只在需要时才展开到下一层:
对比 MCP 的全量注入:30 个 MCP 工具需要 20K tokens 常驻,而 30 个 Skills 的元数据层只需约 3K-9K tokens,实际指令仅在激活时加载。
Skills 和 MCP 是 Agent 能力扩展的两条互补路径。理解它们的差异和适用场景是架构设计的关键。
| 维度 | MCP (Model Context Protocol) | Skills (Agent Skills) |
|---|---|---|
| 本质 | 通信协议 — 定义工具调用的标准接口 | 能力插件 — 封装完整的执行流程 |
| 加载方式 | 全量注入 — 所有工具定义常驻 prompt | 渐进披露 — 元数据常驻,指令按需加载 |
| Token 效率 | 低 — 30 工具约 20K tokens | 高 — 30 技能元数据约 3-9K tokens |
| 创作门槛 | 高 — 需要编写代码实现 JSON-RPC Server | 低 — 编写 Markdown 文件即可 |
| 运行模式 | 独立进程 — MCP Server 需要持续运行 | 惰性加载 — 无需常驻进程 |
| 适用场景 | 外部服务集成(数据库、API、SaaS) | 流程封装(部署、审查、文档生成) |
| 状态管理 | Server 自管理 — 由 MCP Server 维护状态 | Agent 管理 — 由 Agent 运行时管理 |
| 扩展性 | 中等 — 每增一工具增加固定 token 成本 | 高 — 数百技能仅增加元数据 token |
需要与外部系统交互(数据库查询、API 调用、第三方服务集成)时使用 MCP;需要封装复杂工作流程(代码审查、文档生成、部署流程)时使用 Skills。MCP 是"连接器",Skills 是"流程专家"。一个好的 Agent 系统两者兼备。
Anthropic 的实践表明,一个完整的 Skills 体系覆盖九大类别,贯穿从代码编写到运维部署的全工程链路。
adversarial-review — 以攻击者视角审查代码变更,识别潜在的安全漏洞和逻辑缺陷。babysit-pr — 持续监控 PR 状态,自动处理 CI 失败、提醒 reviewer、合并就绪判断。deploy-service — 从代码变更到生产部署的全流程自动化,包含灰度发布和回滚策略。| 模式 | 触发条件 | 核心行为 | 关键约束 |
|---|---|---|---|
babysit-pr |
PR 创建后自动激活 | 监控 CI 状态、追踪 review 进度、处理冲突、判断合并时机 | 不自动合并,仅提供合并建议 |
adversarial-review |
安全敏感 PR 或用户显式请求 | 模拟攻击者视角审查代码,检查注入点、权限泄露、数据暴露 | 产出分级报告(Critical/High/Medium/Low) |
deploy-service |
代码合并到 main 分支 | 构建验证、环境检查、灰度发布、健康检查、全量 rollout 或回滚 | 每个阶段需人工确认,支持自动回滚 |
从静态的"工具库"到动态的"专家团队"。当前 Skills 是被动的——等待 Agent 激活。下一步是主动式 Skills:根据上下文自动推荐、根据历史自动优化、根据团队偏好自动适配。Skills 不再是"工具",而是"有经验的同事"——知道什么时候该出手,也知道什么时候该闭嘴。