Skills vs Tools、MCP 与 Subagents
AI Agent 生态中有多种技术组件——Skills、Tools、MCP、Subagents。它们各自解决什么问题?如何协作?什么时候该用哪个?
Skills vs MCP
MCP(Model Context Protocol) 负责连接外部系统和数据——数据库、API、Google Drive 等。它为 Agent 提供访问能力。
Skills 则告诉 Agent 拿到数据后该怎么做——用哪些列计算什么指标,按什么流程分析,以什么格式输出。
| 对比维度 | MCP | Skills |
|---|---|---|
| 职责 | 连接外部系统和数据 | 教 Agent 如何处理数据 |
| 提供什么 | 访问能力(Access) | 专业知识(Expertise) |
| 示例 | MCP Server 连接数据库 | Skill 指定”用 A、B 列计算指标 X” |
MCP 提供访问,Skills 提供专业知识。两者结合:MCP 带来外部工具和数据,Skill 编排这些工具构建可重复的工作流。
Skills vs Tools
Tools 是更底层的概念。打个比喻:
- Tools = 锤子、锯子、钉子
- Skills = 如何用这些工具造一个书架
Tools 为 Agent 提供完成任务的基础能力——文件系统读写、代码执行、API 调用。事实上,Skills 本身就是通过 Tools 来运作的:读取 Skill 文件需要文件系统工具,执行脚本需要 Bash 工具。
| 对比维度 | Tools | Skills |
|---|---|---|
| 职责 | 提供基础能力 | 用专业知识扩展能力 |
| 上下文 | 工具定义始终在上下文窗口中 | 渐进式按需加载 |
| 灵活性 | 固定的能力集 | 可包含脚本作为”按需工具” |
| 来源 | 内置、自定义、或通过 MCP 加载 | 文件夹中的指令和资源 |
关键区别:Tool 的定义(名称、描述、参数)始终占据上下文窗口空间,而 Skills 通过渐进式披露按需加载,不需要时不占空间。
Skills 还可以包含脚本——相当于”按需工具”(Tools on Demand)。如果某个工具不是每次对话都需要,可以把它放在 Skill 里,只在触发时才加载和执行。
Skills vs Subagents
Subagent 是主 Agent 派生出的独立 Agent,拥有自己的上下文窗口和工具权限。主 Agent 可以将任务委托给 Subagent,Subagent 独立工作(甚至并行执行),完成后将结果返回给主 Agent。
| 对比维度 | Subagents | Skills |
|---|---|---|
| 职责 | 隔离上下文,独立执行任务 | 为 Agent 提供专业知识 |
| 运作方式 | 主 Agent 委托任务,Subagent 独立工作并返回结果 | 指导 Agent 如何完成工作 |
| 示例 | 代码审查 Subagent | 特定语言/框架的最佳实践 Skill |
Skills 可以增强主 Agent 和它的 Subagents。 例如:一个代码审查 Subagent 可以加载特定的代码审查 Skill,按照你团队的标准来审查代码。
Subagents 的核心价值:
- 隔离上下文 —— 不污染主 Agent 的上下文窗口
- 细粒度权限 —— 每个 Subagent 可以有不同的工具权限和 Skill 访问权限
- 并行执行 —— 多个 Subagents 可以同时处理不同任务
实战案例:Customer Insight Analyzer
把所有组件放在一起,看看它们如何协作:
| 组件 | 角色 |
|---|---|
| Skill | 定义如何分类客户反馈、如何总结发现 |
| MCP Server | Google Drive MCP Server,访问包含客户访谈记录和调查问卷的文件夹 |
| Subagents | 访谈分析 Subagent、调查问卷分析 Subagent(并行执行) |
| Tools | 文件读取、代码执行等基础工具 |
工作流程:
- MCP Server 从 Google Drive 获取客户访谈和调查数据
- 主 Agent 派生两个 Subagents——访谈分析器和调查分析器——并行工作
- 每个 Subagent 加载”客户洞察分析” Skill,按照统一标准分类反馈、总结发现
- Subagents 将结果返回给主 Agent,主 Agent 汇总输出最终报告
总结:何时用什么
从最底层到最高层的 Agent 生态架构:
| 层级 | 组件 | 用途 |
|---|---|---|
| 底层 | Prompts | 与模型沟通的最小单元 |
| 能力层 | Tools / MCP | 提供基础能力和外部数据访问 |
| 知识层 | Skills | 打包可重复、可移植的工作流和专业知识 |
| 执行层 | Subagents | 隔离上下文、并行执行专业任务 |
核心原则:上下文窗口是公共资源。
- 用 Subagents 最小化主上下文窗口的负载
- 用MCP按需加载外部数据
- 用Skills渐进式加载专业知识
- 用 Skills 做程序性、可预测的工作流
- 用 Subagents 做需要隔离上下文的完整 Agent 逻辑
持久性角度:
- Subagents 可以跨会话持久化(父子 Agent 之间)
- Skills 可以跨对话持久化(用户与 AI 应用之间)