跳至主要內容
模組 1:核心 Agent 5 / 6
初階 Session 5 Skills 知識 系統提示

Skills 與知識載入

理解 Claude Code 的雙層知識注入 — 如何預先載入 skill 名稱,同時延遲載入完整定義直到需要時。

2026年3月20日 16 分鐘閱讀

你將學到什麼

Claude Code 擁有豐富的 skills — 從程式碼審查到測試執行到除錯。但一次將所有 skill 定義載入系統提示會浪費寶貴的上下文 token。解決方案:雙層注入系統。

完成後,你將了解:

  • Skills 和 agents 如何擴展 Claude Code 的能力
  • 雙層載入模式(名稱預先載入,內容按需載入)
  • CLAUDE.md 檔案如何提供專案特定知識
  • 知識層級和解析順序

如何運作

雙層系統

第 1 層:系統提示(始終載入)
┌────────────────────────────────────────┐
│ 可用 skills:                           │
│ • commit — Git 提交加品質檢查            │
│ • review-pr — 審查 Pull Request          │
│ • workflow — 5 步開發流程                │
│ • test-runner — 執行和分析測試           │
│ (僅名稱 + 一行描述)                    │
└────────────────────────────────────────┘

第 2 層:按需(被調用時載入)
┌────────────────────────────────────────┐
│ [使用者輸入 /commit]                     │
│                                         │
│ 完整 skill 內容被注入:                   │
│ • 逐步指令                              │
│ • 格式規則                              │
│ • 範例                                  │
│ • 邊界情況處理                           │
│ (500-2000 tokens)                     │
└────────────────────────────────────────┘

知識層級

Claude Code 從多個來源組裝知識,按優先級排列:

優先級(最高 → 最低):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. 使用者訊息(當前提示)
2. 對話歷史
3. 專案 CLAUDE.md(在 repo 中)
4. 專案規則(.claude/rules/*.md)
5. 使用者 CLAUDE.md(~/.claude/CLAUDE.md)
6. 系統提示(內建)
7. Skill/Agent 定義(按需)

CLAUDE.md 作為專案知識

CLAUDE.md 檔案是專案特定上下文最重要的知識注入點:

# 專案:我的電商應用

## 技術棧
- Next.js 14 搭配 App Router
- PostgreSQL 搭配 Prisma ORM
- Stripe 處理付款

## 開發指令
- `pnpm dev` — 啟動開發伺服器
- `pnpm test` — 用 Vitest 執行測試

## 慣例
- 預設使用 server components
- API 路由在 app/api/
- 所有價格以分(整數)儲存

關鍵洞見

雙層系統是 token 預算優化。 這與 Web 開發中的懶載入是相同的原則 — 不要載入你還不需要的東西。

對你自己的專案來說,關鍵收穫是:把專案知識放在 CLAUDE.md 中。 這是給 Claude Code 所需上下文最有效的方式。一個精心撰寫的 CLAUDE.md 勝過數十條來回訊息。

前後對比

載入所有雙層載入
系統提示中 10,000+ tokens名稱/描述 ~500 tokens
啟動緩慢快速啟動
未使用的 skills 浪費上下文完整內容僅在調用時載入
難以擴展 skill 數量輕鬆擴展到 50+ skills

下一堂課

第 6 堂課涵蓋上下文壓縮 — 當上下文視窗填滿時會發生什麼,以及 Claude Code 的 3 層壓縮策略如何在不遺失關鍵資訊的情況下保持對話繼續。