← 教程路径

01 Agent Skills:给AI装一本“按需查阅的操作手册”

该节点所属的教程路径尚未上线,仅能预览本节内容。

你有没有发现,同一个 AI,今天让它 review 代码,它按这个套路来;明天换个会话,又像失忆一样,风格全看现场发挥。不是模型不行,是它每次都在临时猜:你到底想要什么、先看什么、后看什么、什么不能碰。

Agent Skills 想解决的就是这件事——把老员工脑子里的规矩,变成一份 AI 能自己翻的手册。

Skill 到底是个啥

很多人第一次听到 Agent Skills,会以为又是新概念。其实它没那么玄。Skill 就是一份可被 Agent 发现、按需加载的任务说明。它把某类任务的经验、约束和执行顺序沉淀下来,平时放在那儿,真遇到相关任务,再让 Agent 读进来。

你可以把它想成给新员工准备的“岗位操作手册”。以前老员工脑子里的规矩——接口返回格式怎么统一、Review 时先看架构还是先看异常处理——要么散在文档里,要么靠人反复提醒。现在把这些东西写进一个叫 SKILL.md 的文件,交给 AI 在合适的任务里调用就行了。

它不是插件,也不是一段提示词模板。更像一本放在抽屉里的手册:平时合着,遇到对应场景才翻开。

它和 Prompt、MCP、Function Calling 不是一桌菜

很多人会问:Skill 是不是 Prompt 的升级版?是不是要替代 MCP?

都不是。它们根本不是同一层的东西,而是 Agent 执行链路里不同环节的协作组件。

放到一条完整链路里看就清楚了。用户说“帮我分析这份报表”,这是 Prompt;模型判断需要调用 read_file,并生成结构化参数,这是 Function Calling;read_file 这个能力来自 MCP Server,MCP 负责的是连接和协议;至于“分析报表时先看字段含义,再看异常值,最后给业务结论,不要直接堆统计指标”,这才是 Skill 适合放的内容。

说白了,MCP 管的是“能调什么”,Skill 管的是“怎么把一件事做对”。

打个比方:如果 Agent 是一台电脑,MCP 就是 USB 接口协议,负责把鼠标、键盘、U 盘这些外部设备接进来,也就是连接数据库、调 API、操作外部系统。而 Skill 是你打开某个软件后的使用手册,告诉你这个软件该怎么用、先点哪里、后点哪里。

所以不建议把 Skill 说成“基于 Function Calling 的封装”,这个说法容易把人带偏。Function Calling 是执行动作时可能用到的底层能力,Skill 本身更像一种上下文注入机制:Agent 读一份文档,然后把里面的规则纳入后续推理。

延迟加载:别把书全摊在桌上

Skill 最精妙的设计,是渐进式披露,也叫延迟加载。

Claude Code 这类工具不会在会话一开始,就把所有 Skill 的完整内容塞进上下文。它先只暴露 Skill 的名称和简短描述。只有当模型判断当前任务命中了某个 Skill,宿主才会把完整的 SKILL.md 加载进来。

这就像你书桌上的参考书。你不会把所有书都摊开在桌上,那样桌面会乱得没法工作。你先看一眼书脊,需要查的时候再翻开。这样即使你同时安装了几十个 Skill,也不会让 AI 的“工作台”变得拥挤不堪。

这和 CLAUDE.md 的分工也很清楚。CLAUDE.md 适合放每轮都要用的项目事实和长期规则,比如代码风格、目录约定、构建命令。它就像工位墙上贴的常驻便签,抬头就能看见。

Skill 适合放有明确触发场景的流程,比如代码审查 checklist、排查线上问题的步骤、PR 总结流程。这些内容步骤固定、篇幅不短,但只在特定任务里出现。如果全部塞进 CLAUDE.md,启动时就会变成额外的上下文成本,越堆越重。

一个是墙上的便签,一个是抽屉里的手册。分工清楚了,AI 才不会一上来就背着一麻袋说明书干活。

SKILL.md 怎么写

每个 Skill 的核心,就是一个 SKILL.md 文件。写 Skill 最容易踩的坑,往往集中在元数据和结构上。

元数据是触发的关键。 名称和描述是 SKILL.md 中唯一影响触发判断的部分。描述要写得让模型能准确判断“这个任务该不该用这个 Skill”,而不是笼统地写“帮助处理代码相关任务”。

你可以把名称和描述想成招聘 JD 里的岗位标题。标题写“招聘工程师”,谁都不知道是前端、后端还是测试;写“招聘有高并发经验的 Java 后端”,合适的人才会点进来。Skill 的描述也一样,越具体,模型越不容易误判。

正文结构建议遵循“三段式”:先说明这个 Skill 解决什么问题,再列出执行步骤,最后给出输出规范和注意事项。自由度要把控好——太松了模型会随意发挥,太紧了又会限制模型在具体场景下的灵活性。

一般来说,SKILL.md 保持在 500 行以内,详细参考资料放到 references/ 目录下。别把一本百科全书塞进一页纸里,该拆就拆。

有哪些值得关注的 Skill

Superpowers 是一套完整的 AI 编程技能框架,把 TDD、Code Review、头脑风暴、子 Agent 协作等实践封装成 Skills,会串联成一条完整的工作流。比如它的 test-driven-development 技能会强制 Agent 先写测试再写实现,跑通“红-绿-重构”循环。它像一位严格的教练,不让你跳过热身直接上场。

Code Review Expert 则展示了另一种 Skill 形态:全程不需要外部工具,只是告诉模型从 SOLID、安全、性能等维度依次审查代码。它像一张检查清单,提醒模型别只看语法,还要看设计。

此外,planning-with-files、ui-ux-pro-max、vercel-labs/agent-skills 等也在开发者社区里获得了不错的评价。你可以把它们当成别人写好的操作手册,拿来参考,也可以照着改成适合自己团队的那一本。

几个容易踩的坑

第一,不要什么都往 Skill 里塞。 如果一段内容每轮都要生效,它更适合 CLAUDE.md;如果只是某类任务的流程,才考虑拆成 Skill。别把便签和手册混在一起。

第二,不要指望 Skill 解决所有问题。 Skill 负责的是“怎么做”,不是“能做什么”。它不会替代 MCP。Skill 里的执行脚本反而会通过 MCP 去操作真实世界的工具。它是指挥,不是手脚。

第三,保持 SKILL.md 简洁。 长参考材料、完整检查清单、脚本说明这些内容,应该拆到 references/ 目录里按需引用,而不是堆在一个文件里。手册太厚,就没人翻了。

一句话收尾

Agent Skills 的本质,就是把老员工脑子里的规矩写进一份标准化的文件,让 AI 在需要的时候自己翻开来读。

它不是 Prompt、MCP 或 Function Calling 的替代品,而是 Agent 执行链路里负责“方法论”的那一层。理解了这一点,你就能把 Skill 放在正确的位置上使用,而不是被各种概念绕晕。