一口气讲清楚Agent、Skill、MCP、Tool到底是什么?
一口气讲清楚Agent、Skill、MCP、Tool到底是什么?
Agent、Tool、Skill、MCP——这四个词几乎出现在每一篇 AI Agent 相关的文章里,但很少有人把它们之间的区别和联系讲透。这篇文章用最平实的方式,把它们各自的定义、边界、以及彼此的关系捋清楚。
Agent 是什么
最直觉的理解:Agent 是一个能自己想、自己做的程序。
传统软件像计算器——按一个按钮执行一个操作,不按就不动。Agent 不同,它接收一个目标,然后自己拆解步骤、选择工具、执行动作、观察结果,不满意还会自己修正再来一次。
用一个类比:Agent 像一个新入职的实习生。你给他一个任务"帮我订下周二的会议室",他会自己打开日历系统查空闲、找到合适的房间、发预约请求、遇到冲突自己换一间——而不是每一步都回来问你。
Agent 的核心特征:
- 自主决策:根据当前状态决定下一步做什么
- 循环执行:观察 → 思考 → 行动 → 再观察,直到任务完成
- 能力调度:知道自己有哪些工具可用,并选择合适的来用
一个典型的 Agent 工作循环:
收到任务 → 理解意图 → 拆分步骤 → 选工具执行 → 看结果 → 没完成就继续
Agent 的"聪明程度"取决于背后的模型能力。大到 GPT-4 级别的云端通用模型,小到针对特定任务训练的 4B 参数端侧模型,都能作为 Agent 的"大脑"。关键不在大小,在于它能不能在目标场景里做出靠谱的决策。
Tool 是什么
如果 Agent 是那个"动脑子"的人,Tool 就是他手里拿的锤子、螺丝刀、万用表。
Tool 是一个单一功能的原子操作。 它不思考,不决策,调一次做一件事,做完就结束。
举几个典型的 Tool:
web_search(query)— 搜索网页,返回结果列表read_file(path)— 读取一个文件的内容send_email(to, subject, body)— 发一封邮件click(x, y)— 在屏幕坐标 (x, y) 处点击一下
它们的共同特点:
| 特征 | 说明 |
|---|---|
| 无状态 | 每次调用独立,不记得上次干了什么 |
| 单一职责 | 一个 Tool 只做一件事 |
| 不含决策 | 该不该调、什么时候调,是 Agent 的事 |
| 声明式接口 | 通过描述告诉外界"我能做什么、需要什么参数" |
一个 Tool 的声明大致长这样(伪代码):
名称: web_search
描述: 搜索网页并返回结果
参数: query(字符串, 必填), count(整数, 默认10)
Agent 看到这个声明,就知道什么时候可以用它、怎么调用它。
判断标准:如果一个功能只需要"输入 → 输出"就能完成、中间不需要判断和编排,那它就是一个 Tool。
Skill 是什么
Tool 是螺丝刀,Skill 是"拆装电脑"这项技能。
Skill 是封装了领域知识的复合能力模块。 它内部可能调用多个 Tool,并且知道调用的顺序、等待的时机、出错时怎么重试。
为什么需要 Skill?因为现实中很多任务不是调一次 Tool 就能完成的。
比如"在一个网页表单里填写信息"这个任务:
- 先截屏看当前界面
- 识别表单元素的位置
- 规划填写顺序
- 逐个点击输入框、输入内容
- 每填完一个,再截屏确认是否成功
- 如果某个输入框没识别对,换个策略重试
这里面每一步都是 Tool 调用(截屏、点击、输入),但把它们串起来的逻辑——先看再做、做完验证、失败重试——这些是领域知识。这些知识封装在一起,就成了一个 Skill。
Skill 和 Tool 的区别
| 维度 | Tool | Skill |
|---|---|---|
| 粒度 | 单步操作 | 多步工作流 |
| 知识含量 | 无(纯执行) | 有(知道怎么编排、何时重试) |
| 状态 | 无状态 | 可以维护中间状态 |
| 类比 | 一把螺丝刀 | "拆笔记本换硬盘"的完整技能 |
| 对外暴露 | 函数签名 | 自然语言描述(说明什么场景下该用) |
一个 Skill 通常包含:
- 能力描述:用自然语言告诉 Agent “遇到什么情况可以找我”
- 内部逻辑:Tool 调用的编排顺序、异常处理策略
- 领域知识:比如"GUI 操作后要等界面稳定再截屏"、“遇到弹窗先关闭再继续”
Agent 在接到任务时,会根据描述自动匹配合适的 Skill 来完成工作。就像一个人学会了"做饭"这个技能之后,你说"做顿晚饭"他就知道该怎么办——切菜、炒菜、调味的顺序和火候都在技能里封装好了,不用你一步一步指挥。
MCP 是什么
前面说到 Tool,但有一个现实问题:Tool 的格式在不同框架之间不统一。
为 LangChain 写的 Tool 插件,搬到 AutoGen 得重写。Dify 的 Tool 接口和 Coze 的又不一样。每换一个框架,同样的功能得重新适配一遍。
MCP(Model Context Protocol)是一个开放的标准协议,定义了 Agent 如何发现和调用外部能力。 它由 Anthropic 在 2024 年底发布,目标是成为 AI Agent 世界的"USB 接口"。
一个类比
USB 出现之前,打印机用并口、鼠标用 PS/2、相机用 FireWire,接什么设备得找对应的线。USB 标准化之后,一个接口通吃。
MCP 做的是同样的事:定义一套标准的"能力暴露"和"能力调用"方式,让任何 Agent 框架都能连接任何 MCP Server。
MCP 的结构
Agent ←→ MCP Client ←→ MCP Server ←→ 具体能力(Tool / 数据源)
一个 MCP Server 可以暴露三类东西:
| 类型 | 作用 | 例子 |
|---|---|---|
| Tools | 可执行的操作 | 搜索、发邮件、查数据库 |
| Resources | 可读取的上下文信息 | 文件内容、项目结构 |
| Prompts | 预定义的交互模板 | 代码审查流程模板 |
MCP 和 Tool 的关系
MCP 不是 Tool 的替代品,而是 Tool 的传输层和发现层。
打个比方:Tool 是电器,MCP 是插座标准。电器(Tool)本身的功能没变,但有了统一的插座标准(MCP),同一个电器可以在不同的房子(Agent 框架)里使用。
没有 MCP 的 Tool 也能工作——Agent 直接通过 function calling 调用内置 Tool 完全没问题。MCP 的价值在于生态复用:社区已经有数百个开源 MCP Server,覆盖文件系统、GitHub、数据库、搜索引擎等常见场景。写一个 MCP Server,所有支持 MCP 的 Agent 都能用。
目前 Claude、Cursor、VS Code Copilot、OpenClaw 等主流工具均已支持 MCP 协议。
四者的关系:一张图讲清楚
把四个概念放在一起看它们的层级和协作方式:
┌─────────────────────────────────────────────┐
│ Agent │ ← 决策中枢:理解意图、规划步骤
├─────────────────────────────────────────────┤
│ Skill │ ← 复合能力:封装领域知识的工作流
├──────────────────────┬──────────────────────┤
│ 直接调用 Tool │ 通过 MCP 调用 Tool │ ← 两种调用路径
├──────────────────────┴──────────────────────┤
│ Tool │ ← 原子操作:最小执行单元
└─────────────────────────────────────────────┘
两条典型的调用路径:
- 路径 A:Agent → Skill → Tool(Skill 内部编排多个 Tool 调用)
- 路径 B:Agent → MCP Client → MCP Server → Tool(通过标准协议调用外部能力)
两条路径不互斥。一个 Skill 内部也可以通过 MCP 去调用远端的 Tool。
快速对照表
| 概念 | 一句话定义 | 类比 |
|---|---|---|
| Agent | 能自主决策和行动的智能体 | 实习生(接到任务自己干) |
| Tool | 单一功能的原子操作 | 螺丝刀(拧一下就完事) |
| Skill | 封装领域知识的多步能力 | "换硬盘"技能(知道步骤和细节) |
| MCP | 标准化的能力发现与调用协议 | USB 接口标准 |
选型参考
| 场景 | 建议 |
|---|---|
| 单一 API 调用,功能简单 | 直接实现为 Tool |
| 需要跨框架复用的能力 | 封装为 MCP Server |
| 多步逻辑 + 需要领域知识 | 封装为 Skill |
| 端到端完成复杂任务 | Agent 统筹调度 Skill + Tool |
目前已有开源项目将 Agent + Skill + 本地模型这一思路落地。比如明略科技的 Mano-P,一个端侧 GUI Agent——本地 4B 参数视觉模型作为 Agent 决策层,纯视觉驱动(不依赖 DOM 或应用 API),GUI 操控能力封装为可复用的 Skill(mano-skill),底层截屏、点击、输入等作为 Tool。整个系统跑在 Apple M4 + 32GB RAM 上,数据不出设备。在 OSWorld 基准测试中取得专有模型类别第一(58.2%)。
brew tap Mininglamp-AI/tap && brew install mano-cua
相关资源
更多推荐

所有评论(0)