拆解AI Agent能力架构:Tool、Skill与MCP的本质与加载策略
·
拨开Agent能力迷雾:Tool、Skill与MCP的本质与加载策略
构建AI Agent时,如何扩展其能力是核心问题。面对Tool、Skill、MCP这三个概念,初学者常感困惑:它们的最终表现形式不都是“让Agent去调某个API执行动作”吗?为什么要拆分出这么多名词?还有一个常见的误解是:“Skill是渐进式加载,而Tool和MCP是全量加载”。
事实并非如此简单。剥离表象回归本质,这三者分别处于架构的不同层次,解决着完全不同的问题。
一、 三个层次解决三类问题
从最终效果看,它们都是Agent与外界交互的手段。但之所以存在三套体系,是因为它们分别扮演着截然不同的角色:
- MCP(Model Context Protocol):解决“怎么连”的问题。它是一种标准化通信协议,负责将模型与外部系统连接,降低工具集成的碎片化成本。
- Tool(工具):解决“能干什么”的问题。它是原子化的执行动作,对应具体的API或函数,赋予基础操作能力。
- Skill(技能):解决“怎么干”的问题。它封装了做事的流程与领域知识,指导Agent如何组合Tool完成复杂任务。
三者的协同关系构成了强大的执行闭环:MCP提供标准连接,Tool提供基础动作,Skill组织这些动作成为专业流程。
- MCP:标准化连接的接口。在没有MCP之前,每个Agent要连接不同的系统都要单独写胶水代码。MCP将其变成了“M+N问题”:写一次MCP Server封装系统,任何支持MCP的客户端都能直接接入。
- Tool:最原始的手臂。Tool通常表现为带有名称、描述和JSON Schema参数的函数,特点是确定性和职责单一。但光有Tool,Agent只知道“有这些手”,却不知道“什么时候该用哪只手,按什么顺序用”。
- Skill:本地化的操作手册。Skill通常是一个包含元数据、自然语言指令和可选资源的文件(如SKILL.md)。它不提供API本身,而是提供“如何编排API”的最佳实践,且非开发人员也能编写和修改。
二、 加载机制:谁在全量,谁在渐进?
“Skill是渐进式加载,而Tool/MCP是全量加载”这个说法在今天已经过时。加载方式并不由概念本身强制决定,而是由具体实现策略主导。
1. Skill:天生为按需加载设计
主流的Skill实现采用“三层渐进式披露”结构,核心动机就是解决上下文窗口有限的问题并节省Token:
- 元数据层:启动时仅加载“名片”(名称、简短描述),占用极少Token,支持挂载海量技能。
- 主体层:当Agent判断与当前任务相关时,才加载完整的指令指南(SOP、适用场景、异常处理)。
- 关联层:执行过程中,进一步按需加载具体脚本、模板等重资源,通常只将运行结果放入上下文。
2. Tool:从全量预加载向按需演进
传统实现中,Tool在初始化阶段被全量注册,其名称、参数、用法描述作为系统提示词一次性载入上下文。当工具数量庞大时,这会消耗大量上下文空间并干扰模型决策。为此,前沿Agent引入了工具搜索(Tool Search)机制,使Tool的加载也开始向按需注入相关工具定义的渐进式模式演变。
3. MCP:协议层发现
MCP协议本身不规定加载策略,取决于客户端与服务器的实现。典型流程为:建立连接 -> 查询工具列表 -> 按需执行调用。早期客户端常将所有Tool Schema一次性塞入上下文,如今Claude Code等工具已实现MCP Tool Search,按需拉取工具定义,实测能将上下文Token消耗大幅降低。
三、 核心维度对比
为了更直观地理解,我们可以通过下表对比三者的核心维度:
| 维度 | Tool (工具) | Skill (技能) | MCP (模型上下文协议) |
|---|---|---|---|
| 核心定义 | 模型可调用的原子化动作或API | 封装领域知识与SOP的专业能力单元 | 标准化AI与外部工具连接的通信协议 |
| 角色定位 | 执行单次动作的“手臂” | 指导复杂任务的“操作手册” | 统一通信标准的“USB接口” |
| 加载方式 | 早期多为全量预加载,现正转向按需搜索 | 天生采用三层渐进式/按需加载 | 协议不强制,取决于客户端实现,正向按需演进 |
| 上下文成本 | 全量时成本高,按需时可控 | 用多少加载多少,成本极低 | 早期全量实现成本高,按需实现可大幅降低成本 |
| 核心受众 | 开发者或平台侧 | 业务专家、产品、运营等非开发者 | 偏开发者(处理网络、鉴权、部署) |
四、 具体案例与架构建议
假设要实现“每天早上将GitHub Issues摘要发到Slack”的任务:
- MCP:编写GitHub Server和Slack Server,负责将Agent与这两个外部系统标准化连接。
- Tool:提供
list_issues(repo)和send_slack_message(channel, text)这两个具体的API执行能力。 - Skill:编写指令文件,指导Agent先调用
list_issues获取数据,再调用模型整理摘要,最后调用send_slack_message发送,并定义API报错时的重试逻辑。
架构设计建议:
不要被“都是调API”的表象迷惑。MCP标准化了连接方式,Tool提供了原子执行力,而Skill赋予了Agent复杂任务的编排智慧。在实际架构中:
- 将复杂业务流程封装为Skill,以优化上下文管理并提升输出质量。
- 对于单一、稳定的API调用,传统Tool定义更为直接简单。
- 构建通用型Agent时,优先采用支持渐进式加载的Skill设计,并通过MCP连接外部数据源,这是当前构建强大、可维护Agent的先进模式。整个生态都在向更高效的按需加载演进。
更多推荐



所有评论(0)