模組 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 層壓縮策略如何在不遺失關鍵資訊的情況下保持對話繼續。