「Agent Tool」MCP 和 Agent Skill 的区别是什么?

0 前言

本文内容整理自公众号「小林面试笔记」的文章 10. MCP 和 Agent Skill 的区别是什么?,用于记录与总结 AI Agent 工具调用相关的核心面试知识点。

MCP 和 Agent Skill 的区别是什么?」,可以这样作答:

MCP 和 Agent Skill 不是同类概念,不是竞争关系,而是互补的

MCP 解决的是「Agent 怎么获得外部能力」——把数据库、API、文件系统这些外部工具标准化封装成服务,Agent 通过 MCP 就能查数据、调接口、读写文件;Skill 解决的是「Agent 拿到这些能力之后,该按什么步骤、什么标准来完成任务」——把完成某类工作的知识和流程打包成可复用的模块。

简单记:MCP 是给 Agent 配的电脑和软件,Skill 是给 Agent 发的操作手册和 SOP。在实际系统里,两者经常同时工作:Skill 定义流程,流程中调用 MCP 提供的工具。

如今 Claude Code、Cursor 等产品里,这两者就是同时工作的:一边挂着文件系统、GitHub 等 MCP Server 提供可执行的能力,一边放着「怎么按团队规范完成代码审查」「怎么写报告」这类 Skill 提供流程知识。业界也形成了一个直观的分工共识——能力归 MCP,流程归 Skill


1 定位差异:一个「从无到有」,一个「有了之后怎么用」

很多人第一次接触这两个概念,会觉得它们都跟「Agent 能做什么」有关,但仔细一想会发现,两者的目的和工作层次完全不同。

MCP 与 Skill 定位差异:一个解决能力从无到有,一个解决能力怎么用

MCP 解决的是「Agent 怎么获得外部能力」。没有 MCP 之前,Agent 就是一个只会说话的语言模型:让它查数据库查不了,让它读文件读不了,让它调 API 也调不了。MCP 把这些外部工具标准化封装成独立的服务,Agent 连上 MCP Server 就能用了——它解决的是「从无到有」的问题,让 Agent 有能力去操作外部世界。

Skill 解决的是另一类问题:「Agent 有了这些能力之后,该怎么用」。Agent 现在能查数据库、能读文件、能调 API 了,但面对一个「帮我做代码审查」的任务,它该先做什么后做什么?检查哪些维度?用什么格式输出?这些「知识和流程」,就是 Skill 要提供的。

用一个类比就很好理解:

新员工类比:MCP 是配电脑开权限,Skill 是发操作手册

MCP 就像给新员工配电脑、装软件、开各种系统权限——这是「能做事」的前提;但光有电脑和权限不够,你还得给他一份操作手册,告诉他做代码审查时先检查什么、后检查什么、用什么标准判断、最后用什么模板写报告。这份操作手册,就是 Skill。


2 MCP:让 Agent 有「手」

展开看看 MCP,为什么说它是 Agent 的「手」?因为如果没有 MCP,Agent 就只会「说话」,不会「做事」。

MCP Server 暴露的 Tools、Resources、Prompts(我们在第 3 篇讲过这三类能力),就是 Agent 操作外部世界的手段。模型通过 Function Calling 触发这些工具(第 4 篇讲过这条链路),工具执行完把结果喂回对话。

MCP 的粒度是「原子操作」:read_file(path) 是一个 Tool,query_database(sql) 是一个 Tool,每次调用做一件明确完整的事,执行结果立刻返回。模型能看到每个 Tool 的完整 schema——叫什么名字、接受什么参数、返回什么格式。这种精确的可见性,正是模型能准确判断「这个问题该调哪个工具」的基础。

简单说,MCP 让 Agent 从「只会聊天」进化成了「能真正干活」——这是一切上层能力的前提。


3 Skill:给 Agent 一份「操作手册」

有了 MCP 之后,Agent 确实能查数据、调 API 了,但面对一个复杂任务,它怎么知道该按什么顺序用这些工具?该关注哪些维度?该用什么标准判断质量?这就是 Skill 要解决的问题。

Agent Skill 是 Anthropic 在 2025 年 10 月推出的概念,同年 12 月把规范作为开放标准发布(第 6 篇完整讲过它的结构与加载机制)。每个 Skill 是一个文件夹,核心是一份 SKILL.md:YAML frontmatter 声明名字和描述,正文写具体的执行指令和步骤;除了指令文件,还可以带脚本(安全检查的 Python 脚本)、参考文档(团队的审查标准)、模板(报告的输出格式),打包在一起就构成一份完整的「操作手册」。

Skill 和普通 prompt 最大的区别有两点,都靠「自动发现」和「渐进式加载」两个机制支撑(详见第 6 篇):能被 Agent 自动发现(任务来了,Agent 自己判断哪个 Skill 相关、主动加载);渐进式加载省 context(启动只读名字和一句话描述、30-50 token 一个,相关才加载指令正文,用到才取模板和资源)。

所以 Skill 的粒度比 MCP 工具粗得多

粒度对比:MCP 是单个函数调用,Skill 是完整工作流程

MCP 的粒度是单个函数调用——read_filequery_database;Skill 的粒度是一个完整的工作流程——「代码审查」「数据分析报告」,内部可能涉及好几个步骤、调用好几个工具。


4 两者怎么配合工作:Skill 编排,MCP 执行

既然 MCP 提供工具、Skill 提供流程,实际系统里它们是怎么配合的?用一个代码审查的场景走一遍就清楚了。

用户对 Agent 说「帮我审查一下这次提交的代码」。Agent 收到任务后先扫描可用的 Skill 列表,发现 code-review 这个 Skill 匹配度高,于是加载它的 SKILL.md 正文:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
---
name: code-review
description: "对代码进行全面审查,识别 bug、安全漏洞和性能问题"
---

# 代码审查

## 第一步:读取待审查的代码文件
读取用户指定的代码文件,理解功能和修改范围。

## 第二步:执行安全检查
运行 scripts/check_security.py 对代码做自动化安全扫描。

## 第三步:输出审查报告
使用 assets/report_template.md 的模板格式,输出结构化审查报告。

SKILL.md 的作用就是告诉 Agent「做什么、按什么顺序做」——它只是一份操作手册,真正「动手」的时候还是得靠 MCP。执行第一步「读取代码文件」,需要调用文件系统 MCP Server 的工具:

1
2
3
4
5
# Skill 第一步说:读取待审查的代码文件
# Agent 发现 MCP 有 read_file 工具,于是调用它
code = mcp_client.call_tool("read_file", {
"path": "src/auth.py" # 要审查的文件路径
})

执行第二步「安全检查」时,Agent 加载 Skill 自带的 scripts/check_security.py 并执行——这就是 Skill 比普通 prompt 强的地方:它不只有文字指令,还能带可执行的脚本。执行第三步「输出报告」时,Agent 再加载 assets/report_template.md 模板,按里面定义的格式输出结构化报告。

分工图:Skill 扮演编排者定义流程,MCP 扮演执行者提供工具

整个流程的分工非常清晰:Skill 扮演「编排者」——定义做什么、按什么顺序做、用什么标准做;MCP 扮演「执行者」——提供每一步需要调用的具体工具。两者配合起来,Agent 才既知道「该怎么做」,又有能力「真正去做」。

再看一个稍微复杂的场景,更能感觉到这种分工的威力。假设 Skill 定义的流程里有一句「如果改动涉及数据库表结构,额外执行权限合规检查」——这就是条件分支。Agent 读到这条指令时,会先调一个 MCP Tool 扫描这次提交有没有改数据库 schema,拿到结果(布尔值)后再决定要不要走那条分支;要走的话,就再调另一个 MCP Tool(比如 query_permission_policy)查合规规则,最后根据结果决定审查报告里是否要加一条严重级警告。

整个过程里,Skill 像项目经理,拿着流程图和判断标准指挥执行;MCP 提供的每个 Tool 像专业工人,各自只管做好一件小事。两者的关系可以用一句话概括:

二者互补:缺了 Skill 不会用工具,缺了 MCP 流程纸上谈兵

缺了 Skill,Agent 拿着一堆工具不知道该什么时候用;缺了 MCP,Skill 再详细的流程也只是纸上谈兵。


5 面试总结

回答这道题,最大的误区就是把 MCP 和 Skill 当成同类概念来对比。先避开三个雷:

误区 正解
MCP 和 Skill 都是给 Agent 加能力的,换格式而已 层次完全不同:MCP 提供工具和数据访问能力(手),Skill 提供完成任务的知识和流程(操作手册),互补而非同类
Skill 是更高级的 prompt 模板 Skill 是完整文件夹(指令 + 脚本 + 模板 + 参考文档),能被自动发现和按需加载
MCP 和 Skill 是竞争关系、二选一 实际系统两者同时工作:Skill 编排流程,流程中调用 MCP 工具

再按这张框架组织答案:

框架 要点
定位差异 MCP 解决「怎么获得外部能力」(从无到有),Skill 解决「有了能力后怎么做」(知识与流程);电脑软件 vs 操作手册的类比
粒度差异 MCP 是原子操作(单次调用做一件明确的事,schema 对模型可见);Skill 是完整工作流(多步骤、多工具,还可带脚本模板)
配合方式 Skill 编排者(定义做什么、按什么顺序、什么标准),MCP 执行者(提供每一步的具体工具);代码审查场景串起三者
缺一不可 缺 Skill:拿着工具不知道何时用;缺 MCP:再详细的流程也执行不了
加分项 能讲出条件分支这种 Skill 指挥 MCP 的协作细节,说明真的理解了两者在系统里怎么工作

追问预案

  • 「MCP 和 Agent Skill 是同类概念吗?」——不是。MCP 是能力层(外部工具和数据访问,让 Agent 有「手」),Skill 是知识流程层(告诉 Agent 拿到能力后按什么步骤、什么标准做事)——一个解决「怎么做事」,一个解决「该怎么做事」。
  • 「两者的粒度差异在哪里?」——MCP 的粒度是原子操作,每次调用做一件明确的事、schema 完全可见;Skill 的粒度是完整工作流程,可能串联多个步骤、调用多个工具(具体结构与加载机制见第 6 篇)。
  • 「实际系统里它们怎么配合?」——Skill 编排、MCP 执行:SKILL.md 定义「读文件 → 跑安全脚本 → 输出报告」的流程,每一步由对应 MCP Tool(read_file 等)实际执行,条件分支也由 Skill 指令驱动 MCP Tool 查询后决定。
  • 「为什么说两者缺一不可?」——缺 Skill,Agent 有一堆工具却不知道该什么时候用;缺 MCP,Skill 的流程写得再详细也没有工具可执行,只是纸上谈兵。
  • 「一部成熟的 Agent 系统里它们怎么分工?」——工具类能力(GitHub、数据库、文件系统)走 MCP 标准化接入,团队沉淀的流程经验(代码审查、报告写作)走 Skill 打包复用,一个管「能做什么」,一个管「怎么做好」。

参考

本文图片均来源于公众号「小林面试笔记」,版权归原作者所有。


「Agent Tool」MCP 和 Agent Skill 的区别是什么?
https://marisamagic.github.io/2026/08/19/20260819_MCP与AgentSkill区别/
作者
MarisaMagic
发布于
2026年8月19日
许可协议