发现一个skill的解释错误,混淆了skill和tool
1.背景:
最近在深入研究skills的原理,随处可见的解释就是一个AI操作手册,但是网上文章也有很多这种解释:skill是一个最小可执行单元;或者是属于可执行层等等,可见如下截图

2.纠错
如果你觉得有问题,具体有什么问题,也可以之间丢到AI中找错哦
具体犯了哪些错误呢?
1.张冠李戴:"可调用的函数或服务、封装业务逻辑的模块、稳定输入输出的执行单元、接收指令→执行确定性操作→返回可验证结果"——这些描述本身都对,但它们描述的不是 Skill,而是 Skill 里面绑的那个 Tool / Script。

截图里 "执行层" 那三个特征(接收结构化指令、执行确定性操作、返回可验证结果),每一条都是 Tool 的特征,不是 Skill 的特征:
| 维度 | Skill(SKILL.md 本体) | Tool / Script(执行层) |
|---|---|---|
| 本质 | 一段文字 / 说明书 | 可调用的函数 / 服务 |
| 自己会执行吗 | 不会,躺在磁盘上 | 会,被调就跑 |
| 参与 "思考" 吗 | 参与—— 它决定模型按什么流程做决策 | 不参与,收到参数就确定性执行 |
| 例子 | 写的 user-info-login-query/SKILL.md |
user_login()、node cli/drive.mjs |
那句 "Skill 不参与思考、只负责行动"—— 正好说反了一半:
- 真正 "不思考、只行动" 的,是 Tool call / 脚本(确定性执行,收到参数就跑);
- 而 Skill 恰恰是参与思考的—— 它是给模型喂 "先登录再带 token、先 explore 再写用例" 这类流程知识的,模型读了它,决策方式都变了。
不是全错的原因:
-
因为在工程里一个 Skill 文件夹 = 说明书 + 里面绑的脚本 / 工具,对外常被打包看成一个 "能力包"。从用户体验视角,你把它当 "一个可调用能力" 没问题;但从运行机制视角,本体 SKILL.md 是知识层,真正执行的是它引用的 tool。
一句话校准:
Skill 把 "该怎么做" 教给模型(影响思考 / 决策);Tool 才把 "做出来"(执行层)。

浙公网安备 33010602011771号