一、核心認知:決定成敗的不是模型本身,而是"Harness"
成功的 Claude Code
大規模部署,決定性因素不僅在於模型本身,更在於圍繞模型構建的生態系統。
這個生態系統被作者稱為"鞍具"(Harness)——就像一匹好馬需要好的鞍具才能發揮潛能一樣,Claude
Code 也需要精心搭建的鞍具才能在百萬行程式碼的倉庫中高效工作。
鞍具生態系統全景圖
鞍具元件速查表
| 元件 |
是什麼 |
何時載入 |
最適用場景 |
常見誤區 |
| CLAUDE.md |
Claude 自動讀取的上下文檔案 |
每次會話 |
專案特定約定、程式碼庫知識 |
把應放在 Skill 中的可複用專業知識放進來 |
| Hooks |
在關鍵時刻執行的指令碼 |
由事件觸發 |
自動化一致行為、捕獲會話學習 |
用提示詞做應該自動執行的事情 |
| Skills |
針對特定任務型別的打包指令 |
按需載入,當相關時 |
跨會話和專案的可複用專業知識 |
把所有內容都載入到 CLAUDE.md 中 |
| Plugins |
打包的技能、鉤子和 MCP 配置 |
配置後始終可用 |
在組織內分發有效的設定 |
讓好的設定停留在部落知識中 |
| LSP* |
通過語言特定伺服器提供即時程式碼智慧 |
配置後始終可用 |
符號級導航和型別語言中的自動錯誤檢測 |
認為它是自動啟用的 |
| MCP 伺服器 |
連線外部工具和資料的介面 |
配置後始終可用 |
讓 Claude 訪問無法直接觸及的內部工具 |
在基礎配置還沒搞好之前就構建 MCP 連線 |
| Subagents* |
針對特定任務的獨立 Claude 例項 |
被呼叫時 |
將探索與編輯分離、並行工作 |
在同一會話中執行探索和編輯 |
二、五層鞍具元件詳解
① CLAUDE.md — 最基礎、最重要的配置
CLAUDE.md 是每個會話開始時自動讀取的檔案,相當於給 Claude
的一張"小紙條"。最佳實踐是分層配置:
左側:分層目錄結構,每個子目錄維護自己的
CLAUDE.md;右側:Claude 移動時自動疊加上下文的過程。
② Hooks — 自動化的手腳
Hooks
是在關鍵事件(會話開始/結束、檔案寫入前/後)觸發自動執行的指令碼。
會話結束 Hook
自動記錄本次會話的教訓到經驗檔案中
檔案寫入前 Hook
自動執行 lint/format 檢查
檔案寫入後 Hook
自動更新相關文件或生成變更日誌
⚠️ 常見誤區
用 Hook 寫指令指導 Claude(那是 CLAUDE.md
的工作)
③ Skills — 可複用的專業知識包
核心設計理念:漸進式披露(Progressive
Disclosure)— 只在需要時才載入特定 Skill,節省上下文空間。
安全審查
需要做安全審查時載入
文件更新
需要更新 API 文件時載入
部署流程
需要執行部署時載入
路徑繫結
繫結到 pay-ments/ 目錄,僅在此時載入
④ Plugins — 組織級分發的利器
把 Skills、Hooks 和 MCP
配置打包成一個可安裝的包,在團隊內部一鍵分發。
⑤ MCP Servers — 連線內部系統的橋樑
讓 Claude 能訪問內部分析平臺、CI/CD 系統、知識庫等外部資源。
⚠️ 常見誤區:基礎配置(CLAUDE.md)沒做好就上 MCP。應該 CLAUDE.md →
Hooks → Skills → 再 MCP。
構建優先順序金字塔
兩大額外能力
LSP 整合
讓 Claude
進行符號級別的程式碼導航,而不是基於文本匹配。
- "轉到定義"
- "查詢所有引用"
- 區分不同語言中的同名函式
- 在 C/C++ 大型程式碼庫中尤其關鍵
⚠️ 常見誤區:認為 LSP
是自動整合的。需要手動安裝對應的外掛和語言伺服器。
Subagents(子代理)
Subagent 是一個獨立的 Claude 例項,擁有自己的上下文視窗。
核心價值:將探索和編輯分離。
- 派一個只讀子代理"繪製"子系統地圖
- 主代理基於地圖做出精確修改
✅
避免在同一個上下文中同時做探索和編輯,防止上下文汙染