Part Ⅳ:Skills与Tools、MCP、Subagents的对比
这一节的核心任务,是把智能体生态系统中四个最常被混为一谈的组件彻底理清:
MCP(模型上下文协议)、Tools(工具)、Skills(技能)和 Subagents(子智能体)。

以下分四个对比板块,逐一还原课程的核心讲解思路:
对比一:Skills vs MCP——各自的核心职责
MCP(模型上下文协议)本质是一种标准化通信协议,定义了 AI 模型如何与外部系统建立安全、高效、可审计的双向连接。它负责解决 “数据从哪来” 的问题——将 AI 智能体连接到外部数据库、Google Drive、API 等各种外部系统和数据源。
50%

50%
Skills 则是一套指令集合,负责解决 “数据怎么处理” 的问题——把 MCP 提供的工具和资源串接起来,构建可重复的工作流,并产出期望的数据类型。
50%

50%
#vehbHRbOIdKI text { white-space: pre; }#vehbHRbOIdKI .fb0 { stroke: var(--N900-FG, 0.15); }#vehbHRbOIdKI .fb0 {stroke: rgba(31,35,41, 0.15)}#vehbHRbOIdKI .fx0 { stroke-miterlimit: 10; }#vehbHRbOIdKI .fx0 {stroke-miterlimit: 10}#vehbHRbOIdKI .fa1 { fill: rgb(187, 191, 196); }#vehbHRbOIdKI .fa1 {fill: rgb(187, 191, 196)}#vehbHRbOIdKI .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#vehbHRbOIdKI .fx1 {font-style: normal}#vehbHRbOIdKI .fx2 { text-anchor: middle; }#vehbHRbOIdKI .fx2 {text-anchor: middle}#vehbHRbOIdKI .fx3 { dominant-baseline: central; }#vehbHRbOIdKI .fx3 {dominant-baseline: central}#vehbHRbOIdKI .fx4 { stroke: none; }#vehbHRbOIdKI .fx4 {stroke: none}#vehbHRbOIdKI .fc0 { fill: var(--text-caption); }#vehbHRbOIdKI .fc0 {fill: #646a73}#vehbHRbOIdKI .fa2 { fill: var(--text-link-disabled); }#vehbHRbOIdKI .fa2 {fill: rgb(187, 191, 196)}#vehbHRbOIdKI .fa3 { fill: rgb(225, 234, 255); }#vehbHRbOIdKI .fa3 {fill: rgb(225, 234, 255)}#vehbHRbOIdKI .fa4 { fill: rgb(222, 224, 227); }#vehbHRbOIdKI .fa4 {fill: rgb(222, 224, 227)}#vehbHRbOIdKI .fa5 { fill: rgb(250, 241, 209); }#vehbHRbOIdKI .fa5 {fill: rgb(250, 241, 209)}#vehbHRbOIdKI .fa6 { fill: rgb(253, 221, 239); }#vehbHRbOIdKI .fa6 {fill: rgb(253, 221, 239)}#vehbHRbOIdKI .fx5 { font: 400 16px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#vehbHRbOIdKI .fx5 {font-style: normal}#vehbHRbOIdKI .fx6 { text-anchor: start; }#vehbHRbOIdKI .fx6 {text-anchor: start}#vehbHRbOIdKI .fx7 { dominant-baseline: alphabetic; }#vehbHRbOIdKI .fx7 {dominant-baseline: alphabetic}#vehbHRbOIdKI .fc1 { fill: rgb(0, 0, 0); }#vehbHRbOIdKI .fc1 {fill: rgb(0, 0, 0)}#vehbHRbOIdKI .fb1 { fill: var(--N900-FG, 0.15); }#vehbHRbOIdKI .fb1 {fill: rgba(31,35,41, 0.15)}#vehbHRbOIdKI .fb2 { fill: rgba(255, 255, 255, 0.16); }#vehbHRbOIdKI .fb2 {fill: rgba(255, 255, 255, 0.16)}#vehbHRbOIdKI .fb3 { fill: rgba(255, 255, 255, 0.12); }#vehbHRbOIdKI .fb3 {fill: rgba(255, 255, 255, 0.12)}#vehbHRbOIdKI .fa7 { fill: var(--bg-body); }#vehbHRbOIdKI .fa7 {fill: #fff}ABC12345对比维度核心功能数据来源使用场景类比MCP连接智能体与外部系统和数据外部数据库、API、云存储等获取模型不知道的外部数据外部供应商(食材/工具来源)Skills定义可重复的工作流利用 MCP 提供的工具和数据教智能体如何处理这些数据具体菜谱(怎么做)
课程用了一个直观的比喻:MCP 就像带来所有底层工具和资源的连接器,Skills 则是使用这些工具构建特定工作流的可重复流程。
两者不存在谁替代谁,而是搭档关系——MCP 提供“能不能做”的能力扩展,Skills 回答“怎么做才对”的流程编排。Skills 可以“消费”MCP 提供的底层工具和数据,但 Skills 本身并不会取代 MCP。
对比二:Skills vs Tools——底层能力与方法论的区分
Tools 是更底层的概念,提供的是访问系统、执行代码、读写文件等“原子能力”。课程用了一个非常形象的比喻:Tools 就像锤子、锯子和钉子,而 Skills 则是“如何建造书架”的方法。
具体来说,二者的差异体现在以下几个层面:
#perpyBVysKqX text { white-space: pre; }#perpyBVysKqX .fb0 { stroke: var(--N900-FG, 0.15); }#perpyBVysKqX .fb0 {stroke: rgba(31,35,41, 0.15)}#perpyBVysKqX .fx0 { stroke-miterlimit: 10; }#perpyBVysKqX .fx0 {stroke-miterlimit: 10}#perpyBVysKqX .fa1 { fill: rgb(187, 191, 196); }#perpyBVysKqX .fa1 {fill: rgb(187, 191, 196)}#perpyBVysKqX .fx1 { font: 400 12px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#perpyBVysKqX .fx1 {font-style: normal}#perpyBVysKqX .fx2 { text-anchor: middle; }#perpyBVysKqX .fx2 {text-anchor: middle}#perpyBVysKqX .fx3 { dominant-baseline: central; }#perpyBVysKqX .fx3 {dominant-baseline: central}#perpyBVysKqX .fx4 { stroke: none; }#perpyBVysKqX .fx4 {stroke: none}#perpyBVysKqX .fc0 { fill: var(--text-caption); }#perpyBVysKqX .fc0 {fill: #646a73}#perpyBVysKqX .fa2 { fill: var(--text-link-disabled); }#perpyBVysKqX .fa2 {fill: rgb(187, 191, 196)}#perpyBVysKqX .fx5 { font: 400 16px MonospacedNumber, LarkHackSafariFont, LarkEmojiFont, LarkChineseQuote, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Tahoma, "PingFang SC", "Microsoft Yahei", Arial, "Hiragino Sans GB", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; }#perpyBVysKqX .fx5 {font-style: normal}#perpyBVysKqX .fx6 { text-anchor: start; }#perpyBVysKqX .fx6 {text-anchor: start}#perpyBVysKqX .fx7 { dominant-baseline: alphabetic; }#perpyBVysKqX .fx7 {dominant-baseline: alphabetic}#perpyBVysKqX .fc1 { fill: rgb(0, 0, 0); }#perpyBVysKqX .fc1 {fill: rgb(0, 0, 0)}#perpyBVysKqX .fb1 { fill: var(--N900-FG, 0.15); }#perpyBVysKqX .fb1 {fill: rgba(31,35,41, 0.15)}#perpyBVysKqX .fb2 { fill: rgba(255, 255, 255, 0.16); }#perpyBVysKqX .fb2 {fill: rgba(255, 255, 255, 0.16)}#perpyBVysKqX .fb3 { fill: rgba(255, 255, 255, 0.12); }#perpyBVysKqX .fb3 {fill: rgba(255, 255, 255, 0.12)}#perpyBVysKqX .fa3 { fill: var(--bg-body); }#perpyBVysKqX .fa3 {fill: #fff}ABC12345对比维度本质提供的内容加载机制典型示例Tools执行的原子能力访问文件系统、执行代码等底层能力工具定义始终存在于上下文窗口bash、read_file、write_fileSkills使用的专家方法论专业知识和指令,扩展智能体能力渐进式加载,只在需要时加载代码审查、PDF处理、PPT生成
工具定义始终存在于上下文窗口,而 Skills 通过渐进式披露按需加载,这让 Skills 可以通过渐进式披露节省大量 token,将上下文窗口留给真正重要的内容。
课程还揭示了 Tools 与 Skills 的深层关系:Tools 被用于驱动生成 Skills、读取 Skills,甚至为执行代码和加载这些 Skills 提供文件系统能力。也就是说,Tools 是 Skills 得以运作的基础设施,Skills 是对 Tools 的智能化编排。
有些 Tools 内置于智能体生态系统中,有些可以自己编写,还有些可以通过 MCP 加载。
🆚 对比三:Skills vs Subagents——流程指导与任务执行的解耦
Subagents 是 AI Agent 架构中的另一个重要角色。课程首先定义:主智能体可以生成或创建 Subagents,这些 Subagents 可以向父智能体汇报。Subagents 的核心价值在于两点:
•
隔离上下文 + 细粒度权限控制:每个 Subagent 拥有独立的运行环境,可以限制其工具访问范围,实现最小权限原则,也避免各子任务相互污染主 Agent 的上下文窗口。
•
并行执行任务:多个 Subagent 可以同时执行不同的子任务,大幅提升整体效率。
Subagents 可以访问什么?课程明确指出:既可以限制工具权限,也可以指定每个子智能体能访问哪些 Skills。
主智能体扮演“编排器”的角色,根据任务需要调用相应的 Skills 或 Subagents。而 Skills 则可以通过专业知识同时增强主智能体及其子智能体——Skills 为两者注入领域知识和可复用流程。
Skills 是能力包(菜谱),Subagents 是执行者(厨师)。
🧩 智能体生态系统的综合协作架构
课程最后给出了智能体生态系统的整体协作模式:
MCP 服务器:提供所需的上下文和外部数据
Subagents:用于多线程和并行处理
Skills:用于可重复的主线程工作流
公司场景类比
课程用了一个非常生动的公司场景类比:
•
Agent(智能体) = 项目的总负责人,对整个项目的模块流程非常清晰,可以安排其他人干活
•
Subagent(子智能体) = 各个同事,如研发、运营、销售等,每个人只负责自己的部分,不需要了解全部信息(上下文隔离),共同协作但不互相干扰
•
MCP = 外部乙方供应商,按指定格式提供数据或方案
•
Skills = 具体能力,如写 PPT、做演讲、开发产品等。不同同事可以共享相同的能力,一个同事也可以拥有多项技能,实现能力在整个项目中的多次复用
•
Tools = 电脑、投影仪等工具,提供执行能力的基础设施
厨房场景类比
课程还提供了另一个类比:厨房运作模式
•
Agent = 厨房大厨,负责整个宴席的安排统筹
•
Subagent = 不同分工的厨师,如切菜配菜、中餐厨师、西餐厨师等
•
MCP = 外部供应商,提供食材、半成品、厨具,甚至可以指导加工方法
•
Skills = 做某个菜的具体能力和菜谱流程
•
Tools = 厨房里的刀具、锅具等
架构全景图
从整体架构来看,四者的协作关系可以用这张图来理解:
text
┌─────────────────────────────────────┐ │ 主 Agent(总调度) │ │ - 任务分解与规划 │ │ - 按需调用 Skills │ │ - 创建/协调 Subagents │ └───────────────┬─────────────────────┘ │ ┌─────────────────────────┼─────────────────────────┐ │ │ │ ▼ ▼ ▼┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────────────┐│ MCP 层 │ │ Tools 层 │ │ Subagents 层 ││ - 连接外部数据库 │ │ - bash(执行命令) │ │ - 上下文隔离 ││ - 连接 API/云存储 │ │ - 文件系统操作 │ │ - 细粒度权限 ││ - 提供实时数据 │ │ - 原子能力供给 │ │ - 并行执行任务 │└─────────────────────┘ └─────────────────────┘ └─────────────────────┘ │ ▲ │ │ │ │ └──────────────┬──────────┴──────────┬──────────────┘ │ │ ▼ ▼ ┌─────────────────────────────────────────┐ │ Skills 层 │ │ - 串联 MCP 提供的工具和数据 │ │ - 被 Subagents 调用执行 │ │ - 渐进式加载,按需激活 │ │ - 封装可复用的业务流程 │ └─────────────────────────────────────────┘
在实际的企业级应用中,这个架构的协作价值尤其明显。例如,在一个自动化运维场景中,主 Agent 接收用户指令后判断任务类型,诊断 Subagent 挂载日志分析 MCP 和故障排查 Skill 来定位问题,修复 Subagent 则挂载 Kubernetes 操作 MCP 和脚本编写 Skill 来执行修复。主 Agent 不再直接干活,而是充当“项目经理”,将任务分发给特定的 Subagent。
这种组合不仅降低了单个智能体的认知负载,更让构建复杂的企业级应用变得像搭积木一样可控。