乐于分享
好东西不私藏

Skills 原理说明

Skills 原理说明

Skills 原理说明

架构上

Skills 本质是一个 按需加载的能力模块、它通过三层结构实现渐进式披露:

  1. 元信息层(始终加载)

    • 包含 name / description
    • 用于让模型判断 这个 skill 能不能用
  2. 指令层(按需加载)

    • SKILL.md
       中的 instruction
    • 定义任务流程、工具使用方式、执行规则
  3. 资源层(按需加载)

    • 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

执行链:

  1. 命中 PDFSkill
  2. 提取内容
  3. 命中 SlidesSkill
  4. 生成 PPT

多 Skill 串联。


隐藏重点(面试高阶点)

Skill 不等于 Prompt

很多人会误解。你可以说:

Skill 不只是 prompt、而是 Prompt + Tool + Workflow + Constraint 的组合体


一句话总结

Skills 本质是一个按需加载的能力模块系统、通过元信息、指令、资源三层结构实现渐进式披露。模型只在需要时加载对应能力、同时通过脚本和资源解耦执行逻辑、从而降低 token 成本、提高稳定性、并支持复杂任务编排。