Skills 原理说明
Skills 原理说明
架构上
Skills 本质是一个 按需加载的能力模块、它通过三层结构实现渐进式披露:
-
元信息层(始终加载)
-
包含 name/description -
用于让模型判断 这个 skill 能不能用 -
指令层(按需加载)
SKILL.md
中的 instruction-
定义任务流程、工具使用方式、执行规则 -
资源层(按需加载)
references
/ scripts/assets-
只有真正执行时才会访问、不占 token(比如直接执行脚本)
核心价值:只在需要的时候加载需要的信息、避免上下文膨胀、同时保证执行规范和稳定性。
炒菜 Skill 类比
|
|
Skill |
|---|---|
|
|
name |
|
|
description |
|
|
instruction |
|
|
references |
|
|
scripts |
|
|
assets |
三层结构 = 渐进式披露(核心重点)
核心概念:渐进式披露(Progressive Disclosure)
第一层:元信息层(始终加载)
AI 每次都会看。
作用:
-
做 Skill路由(要不要用) -
不做执行
内容:
name: image-generatordescription: 用于生成图片
本质:这是一个 能力索引。就像:
-
我有炒菜技能 -
我有修电脑技能 -
我有写代码技能
AI 先判断:这件事是不是这个 skill 能干?
第二层:指令层(按需加载)
只有 选中 skill 才加载。
内容:
-
任务流程 -
工具调用方式 -
约束(必须用哪个工具 / 禁止什么)
例如:
1. 如果用户要生成图片2. 调用 scripts/generate_image.py3. 参数格式如下4. 返回结果
本质:把 经验 固化成 SOP(标准操作流程)
第三层:资源层(按需加载 + 不占 token)
包括:
references/
— 规则文档 scripts/
— 可执行代码 assets/
— 图片、文件
最关键点:资源层可以 不进入上下文
比如:
-
直接执行脚本(不用读代码) -
直接读取文件 -
直接生成结果
所以:不是 LLM 理解代码、而是 LLM 调度工具。
为什么说 按需加载 + 三层结构 很牛?
1. 解决 Token 爆炸问题
如果没有 Skills:
所有规则 + 所有工具 + 所有流程 → 每次都塞进 prompt
结果:爆 token + 干扰推理。
有了三层结构:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
Token 极大优化。
2. 让模型 不需要理解代码
关键点:
不需要去看
scripts具体是什么
这就是:LLM = 调度者、不是执行者。
3. 工程解耦(类比后端架构)
Skill
|
|
|---|---|
metadata |
|
instruction |
API
|
scripts |
RPC |
assets |
|
Skill 约等于微服务抽象层。
4. 支持复杂任务链(Agent 能力基础)
比如用户说:帮我把 PDF 做成 PPT
执行链:
-
命中 PDFSkill -
提取内容 -
命中 SlidesSkill -
生成 PPT
多 Skill 串联。
隐藏重点(面试高阶点)
Skill 不等于 Prompt。
很多人会误解。你可以说:
Skill不只是prompt、而是Prompt+Tool+Workflow+Constraint的组合体
一句话总结
Skills 本质是一个按需加载的能力模块系统、通过元信息、指令、资源三层结构实现渐进式披露。模型只在需要时加载对应能力、同时通过脚本和资源解耦执行逻辑、从而降低 token 成本、提高稳定性、并支持复杂任务编排。
夜雨聆风