什麼是 Agent Skills:從設計理念到上下文優化

介紹 Agent Skills 的核心設計理念、漸進式揭露機制,以及其在上下文成本優化中的實際效果。

Agent Skills 是一種將程序性知識標準化封裝的方式。簡而言之,它解決的不是「有沒有工具」,而是「如何把工具用對、用好」。

1. 核心設計理念

Agent Skills 的核心價值在於沉澱「方法論」:

  • 提供領域知識,指導智能體在具體場景下如何組合與調用工具。
  • 約束執行路徑,降低試錯成本,提升任務完成的一致性。
  • 讓複雜流程可重用、可迭代,逐步形成穩定 SOP。

如果把工具能力比作「硬體介面」,那麼 Skills 更像「操作說明書」與「最佳實踐集合」,定義的是「該怎麼做」。

2. 漸進式揭露:破解上下文困境

Agent Skills 最核心的創新是漸進式揭露(Progressive Disclosure):按需載入資訊,避免一次性把大量內容塞進上下文視窗。

2.1 第一層:元資料(Metadata)

每個技能通常位於獨立資料夾中,核心檔案是 SKILL.md。該檔案以 YAML Frontmatter 開頭,定義技能基礎資訊。

智能體啟動時,只讀取所有技能的 Frontmatter 並注入系統提示詞。根據實務經驗:

  • 單個技能元資料消耗約 100 tokens
  • 50 個技能約消耗 5,000 tokens

2.2 第二層:技能主體(Instructions)

當某個技能被判斷為與當前任務高度相關時,智能體才會讀取完整 SKILL.md,載入詳細指令、注意事項和範例。

這部分 token 消耗通常與技能複雜度相關,常見範圍為:

  • 1,0005,000 tokens

2.3 第三層:附加資源(Scripts & References)

複雜技能可在 SKILL.md 中引用腳本、設定檔和參考文件,僅在需要時載入。

示例目錄結構:

1
2
3
4
5
6
7
skills/pdf-processing/
├── SKILL.md                 # 主技能檔案
├── parse_pdf.py             # PDF 解析腳本
├── forms.md                 # 表單填寫指南(僅在填表任務時載入)
└── templates/
    ├── invoice.pdf
    └── report.pdf

典型調用方式:

  • 需要解析 PDF 時,執行 parse_pdf.py
  • 遇到填表任務時,再載入 forms.md
  • 模板檔案僅在輸出特定格式文件時訪問

3. 為什麼這種設計有效

3.1 可擴展的知識容量

透過「腳本 + 外部檔案」,技能可攜帶遠超上下文視窗容量的知識。 例如,一個數據分析技能可以附帶 1GB 數據檔案和查詢腳本,智能體透過執行腳本訪問數據,而不是把整份數據集直接塞進上下文。

3.2 更強的確定性

將複雜計算、數據轉換、格式解析交給程式碼執行,可以顯著降低 LLM 在純文字生成中的不確定性與幻覺風險。

4. 實際效果:從 16k 到 500 Token

社群實踐顯示,漸進式揭露能顯著降低初始上下文開銷:

  • 傳統 MCP 方式:直接連接包含大量工具定義的 MCP 服務,初始化約 16,000 tokens
  • Skills 包裝後:先用輕量 Skill 作為「閘道」,僅透過 Frontmatter 描述能力,初始化約 500 tokens

當任務真正需要時,再按需載入詳細指令與附加資源。這樣既降低了初始成本,也讓對話過程中的上下文管理更精準。

總結

Agent Skills 的關鍵意義在於:把「工具可用」升級為「能力可重用」。透過漸進式揭露,系統可以在保持能力深度的同時,顯著優化 token 成本與執行穩定性。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計