主题
15.1 Skills的工作原理概述
Skills執行的基本流程
Skills 的工作原理基於一個精心設計的執行流程,確保 AI 代理能夠高效、準確地利用封裝的專業知識。
核心執行階段
Skills 的工作原理可以分為三個主要階段:
1. 發現階段(Discovery)
- 時機:AI 代理啟動時
- 內容:掃描指定目錄,讀取所有可用 Skills 的元資料
- 目的:建立 Skills 可用性索引,為後續匹配做準備
2. 啟動階段(Activation)
- 時機:使用者請求與 Skill 描述匹配時
- 內容:載入完整的 SKILL.md 檔案到上下文
- 目的:取得詳細的使用指令和指導
3. 執行階段(Execution)
- 時機:Skill 被選中執行任務時
- 內容:根據指令執行操作,必要時載入額外資源
- 目的:完成具體的任務執行
漸進式揭露的核心機制
為什麼需要漸進式揭露
AI 模型的上下文視窗是有限的資源。Skills 透過漸進式揭露機制,在保證功能完整性的同時,最大限度地最佳化上下文使用效率。
三層揭露架構
第一層:元資料層
yaml
---
name: pdf-processing
description: Extract text and tables from PDF files, fill forms, merge documents.
---- 內容:僅包含 name 和 description
- 大小:約 50-100 tokens
- 用途:快速判斷 Skill 相關性
第二層:指令層
markdown
# 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- 內容:指令碼、文件、範本等資源檔案
- 大小:按需載入,無固定限制
- 用途:提供執行所需的實際資源
揭露機制的優勢
- 效能最佳化:初始載入僅佔用少量上下文
- 精確匹配:基於元資料快速篩選相關 Skills
- 彈性擴充:支援任意大小的知識庫
- 按需載入:只載入實際需要的資源
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 生態系統中發揮最大效能。