Skill 是什么?——AI Agent 的“技能包“
Skill 是什么?——AI Agent 的"技能包"
你有没有遇到过这种感觉——
用 AI 的时候,它什么都能聊两句,但每件事都做得"差那么一点"。让它帮忙 review 代码,它倒是给了一堆建议,但格式不对、风格不对、完全没按你团队的规范来。让它写个日报,洋洋洒洒写了一大篇,但老板要的格式一个都没对上。
就像你家里请了个全能管家,什么都懂,但煮饭不放盐、叠衣服不分类、浇花能淹死——不是不努力,是没受过"专业训练"。
问题出在哪?
AI 模型本身是个通才。它看过 GitHub 上所有代码、读过互联网上大部分文字、能跟你聊物理聊历史聊人生。但"通才"的另一面就是——没有专长。
你需要它做的事,往往不只是"生成一段文字",而是"按照某种特定的方式做一件特定的事"。这就需要一样东西:Skill(技能)。
1.1 从"会说话"到"会干活"
先想一个问题:你是怎么学会一件事的?
比如你刚入职一家新公司,领导说"你 review 一下这段代码"。你肯定会先问:“咱们有什么规范吗?”
然后他给你一个文档:
Review 代码时请检查:
- 命名是否符合团队规范(驼峰命名、不要缩写)
- 是否有单元测试覆盖
- 是否有明显的内存泄漏
- 注释是否必要且准确
你照着这个 checklist 去 review,慢慢就熟练了。下次不用看文档也能做出符合团队风格的 review。
下次领导又说了:“帮我写个周报”。他再给你一个模板:
本周工作
- 完成的 feature(附 PR 链接)
- 修复的 bug
下周计划
- …
你照着模板写,又快又好。
发现了没?人也是靠"技能"来做专业工作的。你脑子里的每一个"熟练活",本质上都是一套"触发条件 + 执行流程 + 输出格式"的组合。
Skill 对 AI 做的事,一模一样。
1.2 Skill 到底是个什么东西?
如果要用一句话说清楚:
Skill 就是给 AI 预装的一套"专业能力包"。
你在某些特定场景下需要 AI 做某种特定的事,你写一段特定的指令(prompt),把这件事的"干法"提前教给它——这就是一个 Skill。
一个 Skill 里面通常包含三个东西:
| 要素 | 干什么的 | 举个例 |
|---|---|---|
| 触发条件 | 什么时候激活这个 Skill | 用户说了"review 代码" |
| 执行逻辑 | 具体怎么做 | 按团队规范逐条检查 |
| 输入输出 | 需要什么信息,返回什么格式 | 输入是代码 diff,输出是 review 意见 |
你甚至可以把它理解成——AI 世界里的"函数"。
函数是什么?一段封装好的、可复用的逻辑。给它输入,它按流程处理,给你输出。
Skill 也是一样。只不过函数是写给人执行的,Skill 是写给 AI 执行的。
而且 Skill 比函数更灵活的地方在于:它的"逻辑"是自然语言写的,不是代码。这意味着你可以用极低的成本,给 AI 定制一个极其复杂的专业能力——写一段好 prompt 就行。
1.3 这不就是 Prompt 吗?
你可能会说:“你说的这些,不就是写一段复杂的 prompt 吗?叫什么 Skill?”
好问题。Prompt 和 Skill 确实有关系,但有一个关键区别。
Prompt 是一次性的。你每次都要写:“帮我按团队规范 review 代码,注意命名、测试、内存……”——要么写在 system prompt 里每次带上,要么每次手打。
Skill 是可复用的、可注册的。你写一次,给它取个名字(比如叫code-review),下次你直接说"帮我 review 一下这段代码",AI 就知道去加载code-review这个 Skill,把它的 prompt 注入进来执行。
区别就像:你每次都自己买菜、切菜、炒菜(Prompt),还是你把菜谱存成"拿手菜",下次直接说"做这个"就行(Skill)。
所以更准确的说法是:
Skill = Prompt + 元信息(名称、描述、参数、触发方式)+ 执行上下文
Prompt 只是 Skill 的"肉",元信息和执行机制才是 Skill 的"骨头"。
1.4 这几个概念别再搞混了
说到这,可能你脑子里已经冒出了几个相关的词:Tool、MCP、Agent。它们跟 Skill 到底什么关系?
很多人一上来就把这些东西混在一起,其实分工很清晰。
Tool(工具)是"单一操作"。
一个 Tool 就是一件事:查天气、发邮件、读文件——单一、原子、不带流程。
你让 AI"查天气",它调一个 API,返回结果。就这么简单。
Skill(技能)是"完整流程"。
一个 Skill 可能包含多个步骤,可能会在合适的时机调用多个 Tool。比如"代码审查"这个 Skill,它的流程可能是:
- 读 diff → 逐行分析 → 检查规范 → 生成 review 意见。
这个过程中,它可能还需要调一个"查团队规范"的 Tool 来获取规范文档。
Tool 是基础动作,Skill 是组合了多个基础动作的"熟练活"。
MCP(协议)是"管道"。
MCP 规定了 Tool 怎么跟 AI 通信——数据格式是什么、消息怎么传、错误怎么处理。它是一套标准。就像 USB-C 规定了充电器和手机怎么对接。
Skill 和 Tool 是"做什么",MCP 是"怎么连的规范"。Skill 可以基于 MCP 去调用 Tool,但 Skill 本身不是 MCP。
Agent(智能体)是"人" - 会自主思考、决策和执行任务,并有记忆。
提示:LLM 会自主思考、决策,但是无法执行任务和没有记忆。
Agent 是那个有目标、能规划、会决策的主体。你让它"帮我写一个登录页面的代码",它自己规划:
- 先写 HTML → 再写 CSS → 再写 JS → review 一下 → 跑测试。每一步可能调用不同的 Skill。
AI 界的一个简单类比:
- Agent= 一个程序员
- Skill= 他会的东西(写前端、调接口、做部署)
- Tool= 他用的工具(IDE、Git、终端)
- MCP= 工具和电脑连接的接口标准
这四个东西不是互斥的,是层层叠加的:Agent 拥有多个 Skill,Skill 内部可能调用多个 Tool,Tool 通过 MCP 协议接入。
| 概念 | 类比 | 一句话 |
|---|---|---|
| Agent | 人 | 能自己决定做什么 |
| Skill | 专业技能 | 封装好的完整能力单元 |
| Tool | 工具 | 单一、原子的操作 |
| MCP | 接口标准 | 规定工具怎么跟 AI 通信 |
1.5 为什么现在 Skill 这么火?
你可能会问:这些东西不是早就有吗?Function Call 都能调工具了,为什么突然冒出来一个"Skill"的概念?
两个原因。
第一,Agent 火了,但 Agent 需要"专业能力"。
以前的 AI 用法是人问一句 AI 答一句,不需要 Skill。现在 Agent 能自主规划、执行多步任务了,它需要的不再是"单次问答能力",而是"领域专业能力"。你让一个 Agent 帮你做"代码审查",它不能临时摸索——它得有一个现成的、经过验证的、可靠的审查流程。
第二,Skill 让"复制专业能力"变得极其简单。
你想让 AI 帮你做代码审查。你花了一周调了一个 prompt,试了几十次,终于满意了。现在你的同事也想用。你怎么给他?
以前的做法:把 prompt 复制给他,他再配置到他的环境里。
Skill 的做法:你把 Skill 定义成一个文件,他直接导入。甚至发到市场里,全世界的人都能用。
这就是 Skill 的威力——专业能力的一次编写、到处复用。
MCP 标准化的是"工具怎么连",Skill 标准化的是"能力怎么写"。
1.6 小结
- AI 是个通才,但不是专家。Skill 就是给 AI 装上"专业能力包"。
- Skill 的三要素:触发条件、执行逻辑、输入输出。
- Skill = Prompt + 元信息 + 执行上下文,它不是简单的一段 prompt。
- 分清四个概念:Agent(人)拥有Skill(专业技能),Skill内部调用Tool(工具),Tool通过MCP(接口标准)接入。
- Skill 的价值:一次编写、到处复用,让 AI 的"专业能力"可以被复制和分享。
光说不练假把式。下一篇我们来写一个真实的 Skill——选一个最常见的场景,从定义到跑通,撸一遍完整的流程。
下一篇:手写一个 Skill——从零到跑通
