「Agent Tool」Skill 是什么?
0 前言
本文内容整理自公众号「小林面试笔记」的文章 9. Skill 是什么?,用于记录与总结 AI Agent 工具调用相关的核心面试知识点。
「Skill 是什么?」,可以这样作答:
Agent Skill 是把「指令、脚本、模板」一体化打包成可复用能力包的机制,关键在于三件事:Agent 能自动发现它、按需加载它、在需要时调用里面的脚本和资源。它不只是「存 prompt」,而是一份 Agent 能自己翻阅的「操作手册 + 工具箱」。每个 Skill 是一个文件夹,里面最核心的是一份
SKILL.md指令文件,还可以带上脚本、模板、参考文档这些资源。它和普通 prompt 最大的区别是:Skill 能被 Agent 自动发现和按需加载,不用你每次手动输入;和 MCP 工具的区别是:MCP 给 Agent 提供外部工具和数据的访问能力,而 Skill 教 Agent 拿到这些工具和数据之后该怎么用。
Anthropic 在 2025 年 10 月推出了 Agent Skills,同年 12 月把规范作为开放标准发布出来,允许其他 Agent 平台按照这套格式来兼容 Skills 生态。
如今 Claude Code、Claude API、claude.ai 三个入口都原生支持 Agent Skills——在代码仓库里放一个文件夹、写一份 SKILL.md,Agent 就能自动发现并按需调用;GitHub、Slack 等上游流程,以及社区里其他 Agent 平台的兼容实现,也都在向这套格式靠拢。这种「把反复使用的流程沉淀成 Agent 能自己执行的能力」的做法,正在成为 Agent 工程里的标配。
1 为什么需要 Skill:从「重复贴 prompt」的痛点说起
你一定遇到过这种情况:每次让 AI 帮你做代码审查,都要贴一大段指令,告诉它「检查这几类问题、用这种格式输出、重点关注安全漏洞」。第一次贴还好,第二次、第三次就开始烦了——每次新对话都要从头贴一遍,漏掉某个细节,输出质量就不稳定。
这还只是一个人的情况。如果是团队协作呢?十个人做代码审查,每个人贴的 prompt 都不一样:有的人关注安全,有的人关注性能,审查标准完全没法统一。

你可能会想:把 prompt 写到一个共享文档里让大家复制不就行了?但这本质上还是靠人工去维护和执行——版本一多就容易乱,文档更新了、有人还在用旧版的 prompt,质量把控根本做不到。
Skill 要解决的就是这个问题:把反复在用的指令、流程、模板,打包成一个标准化的模块,Agent 自己知道什么时候该用它、怎么用它,不再依赖你手动复制粘贴。
2 Skill 的结构:一个文件夹 + 一份 SKILL.md
一个 Skill 说白了就是一个文件夹,里面最核心的是一份叫 SKILL.md 的文件,再加上一些可选的辅助资源,结构很直观:
1 | |

SKILL.md 的内容分两部分:顶部是一段 YAML 格式的元数据(frontmatter),声明这个 Skill 的名字和一句话描述;下面是正文,用 Markdown 写具体的指令和步骤。看一个实际的例子:
1 | |
你会发现,这和普通 prompt 的区别很明显:普通 prompt 只是一段文字,用完就没了;而 Skill 是一个完整的文件夹,里面的指令、脚本、模板可以持续维护、版本管理,团队里所有人用的都是同一份。
3 渐进式加载:Skill 最聪明的设计
Skill 最让人眼前一亮的,不是「能打包」这件事本身,而是它的加载方式。
你可能会想:既然 Skill 能打包那么多东西,Agent 启动时是不是要把所有 Skill 全部读进来?来算一笔账:假设你有 20 个 Skill,每个的指令加参考文档平均 2000 token,全部加载就是 4 万 token 打底。现在常见的模型上下文窗口是 20 万 token,光 Skill 就吃掉五分之一,剩下的要分给系统提示、对话历史、用户文件——留给模型真正思考的空间就紧张了。更糟的是,这 20 个 Skill 里大部分在当次任务里根本用不上,加载了也是白加载。
所以 Skill 用了一套叫「渐进式加载」(Progressive Disclosure)的三层机制:

- 第一层是「只看简历」。Agent 启动时只加载每个 Skill 的
name和description两个字段,每个大约只占 30 到 50 个 token。就像面前摆了 20 份简历,每份只看名字和一句话介绍,几秒钟扫完,心里有数「我手上有哪些能力可以用」; - 第二层是「翻开详细资料」。用户提了任务,Agent 判断「这个任务跟 code-review 相关」,才把它的
SKILL.md正文完整加载进来,读取详细指令。不相关的 Skill 始终不会被加载,不浪费一个 token; - 第三层是「需要时再取」。执行过程中,如果指令里提到「使用 assets/report_template.md 的模板」,Agent 才在那个时刻去读取模板文件。参考文档、脚本这些辅助资源同理,用到时才加载。

这个设计用一个类比就很好理解:Skill 就像公司给新员工准备的入职手册。你入职第一天不会把整本手册从头看完,而是先扫一眼目录,知道里面有「报销流程」「请假制度」「代码规范」这些章节就行了;等真的要报销了,再翻开「报销流程」那一章仔细看。既不会信息过载,又确保需要的时候找得到。
为什么这个设计这么重要?因为 context window 是 Agent 最宝贵的资源。如果把所有 Skill 的全部内容一股脑塞进去,真正有用的用户任务信息反而会被淹没,Agent 的注意力被分散,输出质量反而下降。渐进式加载的本质就是「让 Agent 只在需要的时候获取需要的知识」——这和人类的工作方式其实是一样的。
4 厘清关系:Skill / Tool / Prompt / Slash Command
Skill 经常和几个概念混淆,但它们处于完全不同的层次。最重要的区分是 Tool(含 MCP 工具)和 Skill 的区别:

你可以把 Tool(包括 MCP 工具)想象成公司给员工配的电脑、软件和数据库访问权限。有了 Tool,Agent 就能「做事」——查数据库、调 API、读写文件。但光有工具不够:你给新人配了电脑和全部系统权限,他也不知道该按什么流程做代码审查,不知道先查什么、后查什么、用什么格式输出报告。
Skill 就是那份「操作手册」和「SOP 流程」:教 Agent 拿到工具之后,该按什么步骤、什么标准、什么格式完成一个具体的工作流。所以 Tool 和 Skill 是互补关系——Tool 提供能力,Skill 提供知识和流程。
那 Prompt 呢?Prompt 就像你口头跟员工说的一句指令:「帮我看看这段代码有没有问题」。这句话说完就没了,下次还得再说一遍。Prompt 是一次性的、临时的,Skill 是持久化的、可复用的。
还有一个容易搞混的是 Slash Command(斜杠命令):

Slash Command 也是把指令保存下来复用,但它必须由你手动触发——比如输入 /code-review 才能调用。而 Skill 可以被 Agent 自动发现和调用:Agent 看到任务后自己判断「这个任务需要用 code-review Skill」,然后主动加载、执行,不需要你告诉它该用哪个。这个「自动发现」的能力,就是 Skill 比 Slash Command 更进一步的地方。
5 从 Anthropic 走向开放标准
Agent Skills 最早是 Anthropic 在 2025 年 10 月推出的,一开始只在 Claude 自家生态里用,覆盖 Claude Code、Claude API、claude.ai 三个入口。推出两个月后,Anthropic 做了一个很聪明的决定:在 2025 年 12 月把 Agent Skills 的规范作为开放标准发布出来,任何想做 Agent 平台的团队都可以按这个规范实现自己的 Skills 支持。

为什么敢开放?核心原因是 Skills 的设计足够简单:一个 Skill 就是一个文件夹加一份 Markdown 文件,不需要安装特殊的运行时、不需要学新的编程语言,任何支持文件系统的 Agent 平台理论上都能实现这套格式。这种「零门槛」的设计,让它有希望成为跨平台的通用约定。
开放成标准有什么好处?好处是你写一份 Skill,未来有机会在不同 Agent 平台之间复用,而不是被某一家产品绑死。这就像 USB 接口:买一根 USB-C 数据线,手机能用、电脑也能用,不用每个设备买一根专用线。Anthropic 想做的就是让 Agent Skills 朝这个方向发展——虽然现在主要还是 Claude 生态在用,但社区已有项目开始探索在其他 Agent 平台上兼容这个格式,后续能走多远还要看行业的采纳情况。
6 面试总结
回答这道题,最常见的误区就是把 Skill 等同于「保存好的 prompt」。先避开几个雷:
| 误区 | 正解 |
|---|---|
| Skill 就是「保存 prompt」、复制粘贴升级版 | Skill 是包含指令、脚本、模板的可复用能力模块,Agent 能自动发现、按需加载、需要时调用 |
| Skill 和 MCP 工具是一回事 | Tool/MCP 提供外部工具和数据访问能力,Skill 提供用这些工具完成任务的知识和流程,两者互补 |
| Skill 就是 Slash Command | Slash Command 要手动触发,Skill 能被 Agent 自动发现并主动加载执行 |
| Skill 越多越好、全量加载 | 有渐进式加载:默认只读 name/description,相关时才读全文,不浪费 context |
再按这张框架组织答案:
| 框架 | 要点 |
|---|---|
| 本质 | 「指令 + 脚本 + 模板」打包成可复用能力模块;一个文件夹 + 一份 SKILL.md(frontmatter 声明 name/description + Markdown 正文指令),可选 scripts/references/assets |
| 渐进式加载 | 三层机制:只看简历(name/description,30-50 token)→ 按需加载(任务相关才读 SKILL.md)→ 需要时再取(用到才读模板/脚本);入职手册类比,本质是守护 context window |
| 概念区分 | Tool/MCP 提供能力,Skill 提供知识与流程,互补;Prompt 一次性临时指令;Slash Command 手动触发 vs Skill 自动发现 |
| 开放标准 | Anthropic 2025 年 10 月推出 Agent Skills,12 月开源为开放标准;零门槛设计(文件夹 + Markdown),USB 类比,目标跨平台复用 |
追问预案:
- 「Skill 和普通 prompt 的区别?」——普通 prompt 是一段用完即弃的文字;Skill 是完整的模块(指令 + 脚本 + 模板),可持续维护、版本管理、团队共享,且能被 Agent 自动发现和按需加载。
- 「Skill 全部加载会不会撑爆 context?」——不会。渐进式加载三层机制把每个 Skill 的常态开销压到 30-50 token(只有 name 和 description),只有任务相关时才加载
SKILL.md全文、用到时才取模板和脚本(加载机制的类比:入职手册先扫目录、用的时候再翻对应章节)。 - 「Skill 和 MCP 是什么关系?」——互补。MCP 给 Agent 外部工具与数据的访问能力(电脑和数据库权限),Skill 教 Agent 拿到能力后按什么流程、什么标准完成任务(操作手册/SOP)。
- 「为什么 Agent Skills 能成为开放标准?」——零门槛:一个文件夹加一份 Markdown,不需要运行时和编程语言,任何支持文件系统的 Agent 平台都能实现,因此有跨平台复用的潜力(USB 类比)。
- 「Slash Command 和 Skill 怎么区分?」——Slash Command 保存指令但必须手动输入触发;Skill 的核心是自动发现,Agent 自己判断任务匹配哪个 Skill 并主动加载执行。
参考
本文图片均来源于公众号「小林面试笔记」,版权归原作者所有。