15.1 Skills的工作原理概述

Skills执行的基本流程

Skills 的工作原理基于一个精心设计的执行流程,确保 AI 代理能够高效、准确地利用封装的专业知识。

核心执行阶段

Skills 的工作原理可以分为三个主要阶段:

1. 发现阶段(Discovery)

  • 时机:AI 代理启动时
  • 内容:扫描指定目录,读取所有可用 Skills 的元数据
  • 目的:建立 Skills 可用性索引,为后续匹配做准备

2. 激活阶段(Activation)

  • 时机:用户请求与 Skill 描述匹配时
  • 内容:加载完整的 SKILL.md 文件到上下文
  • 目的:获取详细的使用指令和指导

3. 执行阶段(Execution)

  • 时机:Skill 被选中执行任务时
  • 内容:根据指令执行操作,必要时加载额外资源
  • 目的:完成具体的任务执行

渐进式披露的核心机制

为什么需要渐进式披露

AI 模型的上下文窗口是有限的资源。Skills 通过渐进式披露机制,在保证功能完整性的同时,最大限度地优化上下文使用效率。

三层披露架构

第一层:元数据层

---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
---
  • 内容:仅包含 name 和 description
  • 大小:约 50-100 tokens
  • 用途:快速判断 Skill 相关性

第二层:指令层

# PDF Processing

## When to use this skill
Use this skill when the user needs to work with PDF files...

## How to extract text
1. Use pdfplumber for text extraction...
  • 内容:完整的 SKILL.md 文件
  • 大小:通常 < 5000 tokens
  • 用途:提供详细的使用指导

第三层:资源层

skill-directory/
├── SKILL.md
├── scripts/extract.py
├── references/API.md
└── assets/template.pdf
  • 内容:脚本、文档、模板等资源文件
  • 大小:按需加载,无固定限制
  • 用途:提供执行所需的实际资源

披露机制的优势

  1. 性能优化:初始加载仅占用少量上下文
  2. 精确匹配:基于元数据快速筛选相关 Skills
  3. 灵活扩展:支持任意大小的知识库
  4. 按需加载:只加载实际需要的资源

Skills的生命周期

1. 创建阶段

  • 作者编写 SKILL.md 文件
  • 组织相关资源和脚本
  • 测试 Skill 功能

2. 部署阶段

  • 将 Skill 文件夹放置到指定目录
  • 确保文件权限和路径正确
  • 更新版本控制(如需要)

3. 发现阶段

  • AI 代理启动时自动发现
  • 解析元数据并建立索引
  • 验证 Skill 格式正确性

4. 激活阶段

  • 根据用户请求匹配相关 Skills
  • 加载完整指令到上下文
  • 准备执行环境

5. 执行阶段

  • 按照指令执行任务
  • 按需加载额外资源
  • 处理执行结果

6. 维护阶段

  • 监控 Skill 使用效果
  • 根据反馈更新内容
  • 版本管理和兼容性处理

Skills执行的上下文管理

上下文窗口优化

Skills 通过智能的上下文管理,确保在有限的上下文窗口内提供最大价值:

选择性加载

  • 只加载相关的 Skill 内容
  • 避免加载无关的 Skills
  • 优先加载高频使用的部分

内容压缩

  • 使用结构化的 YAML 元数据
  • 编写简洁的 Markdown 指令
  • 引用外部资源而非内联

缓存机制

  • 缓存已加载的 Skills
  • 复用相同任务的执行结果
  • 智能预加载常用 Skills

总结

Skills 的工作原理建立在渐进式披露和智能上下文管理的基础之上。这种设计既保证了功能的强大和灵活,又确保了执行的高效和可扩展。通过标准化的生命周期管理,Skills 能够在 Claude Code 生态系统中发挥最大效能。