LLM_Skills-2-Skills与Tools、MCP、sub-agent的对比
摘要:本文系统分析了Agent能力栈中Skills、MCP、Tools和Subagents四组件的对比关系。MCP解决数据访问问题,Tools提供基础功能,Skills传授专业知识,Subagents实现任务分解。四者形成"数据访问→做事方法→具体执行"的协作链:MCP作为桥梁连接外部系统,Skills作为大脑提供方法论,Tools和Subagents作为执行单元。通过客户洞察
核心对比:四者关系图谱
┌─────────────────────────────────────────────────────────────────┐
│ Agent 能力栈 │
├───────────────┬───────────────┬───────────────┬─────────────────┤
│ MCP │ Tools │ Skills │ Subagents │
│ (连接层) │ (基础能力) │ (专业知识) │ (分工协作) │
├───────────────┼───────────────┼───────────────┼─────────────────┤
│ 连接外部系统 │ 提供核心功能 │ 传授做事方法 │ 独立处理子任务 │
│ 数据库/API/服务│ 文件操作/搜索 │ 领域最佳实践 │ 并行+隔离上下文 │
└───────────────┴───────────────┴───────────────┴─────────────────┘
↓ ↓ ↓ ↓
"能访问什么" "能做什么" "知道怎么做" "谁来执行"
1- 详细对比
Skills vs MCP
| 维度 | MCP | Skills |
|---|---|---|
| 核心目的 | 连接智能体与外部系统和数据(数据库、API、服务) | 教智能体如何处理这些数据 |
| 典型示例 | MCP Server 连接到数据库 | Skill 规定:“使用表的 A、B 列计算指标 X” |
| 本质区别 | 提供访问权限 | 提供专业知识 |
💡 一句话总结:MCP 解决"能不能访问",Skills 解决"访问后怎么做"。
Skills vs Tools
| 维度 | Tools | Skills |
|---|---|---|
| 核心目的 | 为智能体提供完成任务的基础能力 | 用专业知识扩展智能体能力 |
| 上下文管理 | Tool 定义(名称、描述、参数)始终占用上下文窗口 | Skills 动态按需加载 |
| 灵活性 | 固定能力集合 | 可包含脚本作为"按需工具"(tools on demand) |
💡 关键差异:Tools 是常驻基础设施,Skills 是弹性知识库。
Skills vs Subagents
| 维度 | Subagents | Skills |
|---|---|---|
| 核心目的 | 拥有独立的上下文和工具权限 | 向主智能体或其子智能体提供专业知识 |
| 工作方式 | 主智能体委派任务,子智能体独立执行(可并行),返回结果 | 指导工作应如何完成 |
| 典型示例 | Code Reviewer 子智能体 | 特定语言或框架的最佳实践 Skill |
| 作用范围 | 任务执行层 | 知识赋能层 |
💡 协同关系:Skills 可同时增强主智能体和其子智能体的专业能力。
Summary
| Features | Skills | Prompts | Subagents | MCP |
|---|---|---|---|---|
| 提供了什么 | 程序性知识(Procedural knowledge) | 即时指令(Moment-to-moment instructions) | 任务分配(Task delegation) | 工具连接(Tool connective) |
| 保持情况(Persistence) | 所有对话中(Across conversations) | 单个对话(Single conversations) | 跨会话保持(Across sessions) | 持续连接(Continuous connection) |
| 包含内容 | Instructions + Code + assets | 自然语音 | 整个agent逻辑 | 工具定义(Tool definitions) |
| 什么时候载入 | 需要时动态载入 | 每轮交互 | 被调触发时 | 随时可用 |
| Best for | 专业知识(Specialized expertise) | 快速询问 | 专项任务(Specialized tasks) | 数据访问(Data access) |
2- 整合应用:客户洞察分析器示例
┌────────────────────────────────────────────────────────────┐
│ Customer Insight Analyzer(客户洞察分析器) │
├────────────────────────────────────────────────────────────┤
│ 📋 Skill: 客户反馈分类指南 + 调研结果总结方法论 │
│ └── 规定如何打标签、如何提炼关键发现 │
├────────────────────────────────────────────────────────────┤
│ 🔌 MCP Server: Google Drive MCP │
│ └── 访问存放客户访谈记录和问卷回复的 Drive 文件夹 │
├────────────────────────────────────────────────────────────┤
│ 🤖 Subagents: │
│ ├── Interview Analyzer(访谈分析子智能体)← 加载 Skill │
│ └── Survey Analyzer(问卷分析子智能体) ← 加载同一 Skill │
│ [并行处理,各自隔离上下文,结果汇总至主智能体] │
└────────────────────────────────────────────────────────────┘
| 组件 | 角色定位 |
|---|---|
| Skill | 指导反馈分类方法和调研总结规范 |
| MCP Server | Google Drive MCP,访问客户访谈记录和问卷回复 |
| Subagents | Interview Analyzer(访谈分析)、Survey Analyzer(问卷分析) |
3 关系总结
数据访问 ──────► 做事方法 ──────► 具体执行
│ │ │
▼ ▼ ▼
MCP Skills Tools/Subagents
(桥梁) (大脑) (手脚)
- MCP:打通外部世界,解决数据来源问题
- Skills:沉淀专业知识,解决方法论问题
- Tools:提供原子能力,解决功能有无问题
- Subagents:实现任务分解,解决规模化协作问题
4- 练习
基于Skill
generating-practice-questions生成的巩固习题
github: generating-practice-questions
来源: Why Use Skills & Skills与其他组件对比
说明: 请独立完成以下练习,答案请参考讲义内容。
第一部分:判断题 (True/False)
-
Agent Skills 采用渐进式加载机制,其中 SKILL.md 的元数据(name + description)始终占用上下文窗口。
-
MCP 的核心目的是教智能体如何处理数据,而 Skills 的核心目的是提供访问外部系统的权限。
-
根据渐进式披露机制,references/、scripts/、assets/ 目录中的文件在 Skill 触发时就会自动加载。
-
Subagents 可以拥有独立的上下文和工具权限,能够并行执行任务,结果返回给主智能体。
-
Skills 和 Prompts 的主要区别在于:Skills 是跨对话保持的,而 Prompts 仅在单个对话中有效。
答: 1 √, 2 X, 3 X, 4 √, 5 √
第二部分:解释题
-
解释什么是 Skills 的"渐进式披露机制",并说明三个层级的加载时机和典型大小。
-
对比 Skills 和 Tools 在上下文管理方面的差异,并说明为什么这种差异很重要。
-
什么是 Skills 的"可组合性"?请用一个实际的例子说明多个 Skills 如何组合构建复杂工作流。
-
在使用 Skills 的架构中,通用智能体相比专用智能体有什么优势?结合认知演进图说明。
-
解释 Skills、MCP、Tools 和 Subagents 在 Agent 能力栈中的各自角色定位,并说明它们之间的关系。
答:
-
为了避免占用过多的上下文窗口进行3层渐进加载
1)Yaml frontmatter(name + description(包含触发词))始终加载
2)后面的主体内容-指令,触发时加载
3)相关参考资源(references, scripts, assets中的文件),按需加载 -
Tools常驻的(需要精确控制、探索性操作、或 Skills 未覆盖的场景),为智能体提供完成任务的基础能力, Skills是按需加载的(执行标准化、可复用的复杂任务流程)。
1)Tools的上下文管理特点:每次调用都是独立函数执行,如read_file或者execute_command;不保留前序调用的上下文,需要手动维护状态;参数必须在每次调用时完整提供
2)Skills的上下文管理特点:通过skill工具加载后,提供完整的操作流程指导;封装了专业领域的知识和工作流程,如create-mcp-server或generating-practice-questions;内部维护了任务执行的上下文和状态流转
3)这种差异的重要性:这种差异使得系统既能保持底层工具的灵活性,又能通过 Skills 提供高效、可靠的专业任务执行能力。 -
多个 Skills 组合构建复杂工作流: 简单的根因分析工作流
┌─────────────────────────────────────────────────────────────────┐
│ 根因分析工作流 (Workflow) │
│ orchestrator Skill │
└─────────────────────────────────────────────────────────────────┘
│
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ sql-gen │ │ data-fetch │ │ causal-learn │
│ Skill │ │ Skill │ │ Skill │
│ │ │ │ │ │
│ 输入: 自然语言 │ │ 输入: SQL │ │ 输入: 时间序列 │
│ 输出: SQL语句 │◄─────│ 输出: DataFrame│─────►│ 输出: 因果图 │
│ │ │ │ │ │
└───────────────┘ └───────────────┘ └───────────────┘
│ │
▼ ▼
┌───────────────┐ ┌───────────────┐
│ feature-eng │ │ granger-test │
│ Skill │ │ Skill │
│ │ │ │
│ 输入: 原始数据 │ │ 输入: 多变量 │
│ 输出: 特征表 │◄─────│ 输出: p-value │
│ │ │ │
└───────────────┘ └───────────────┘
│
▼
┌───────────────┐
│ report-gen │
│ Skill │
│ │
│ 输入: 分析结果 │
│ 输出: Markdown │
│ │
└───────────────┘
- 这个就直接看 1. 认知演进:从专用到通用
- MCP(链接外部的桥梁) -> Skills(专业知识的沉淀,SOP等) -> Tools(执行:提供原子能力)/Subagents(实现任务分解)
更多推荐

所有评论(0)