
Claude Code實戰:Harness工程之道 內容簡介
本書係統介紹了Claude Code的技術架構與工程化實踐。全書從“軟件工程”視角,解析了從命令行助手到可編程Agent的演進路徑,並圍繞Claude Code的四層架構模型展開,深入探討了記憶係統(CLAUDE.md)、技能(Skills)、子智能體(SubAgents)、事件鉤子(Hooks)與MCP等核心機製的設計哲學與協同原理。書中不僅提供了翔實的技術選型指南、組件配置方法和觸發機製對比,更通過大量實戰案例,展示了如何構建安全、高效、可維護的AI輔助編程工作流,涵蓋從個人開發到團隊協作,再到與CI/CD流水線集成的企業級部署全流程。
本書適合具備一定編程基礎,並希望將Claude Code深度集成至日常開發與團隊流程中的開發者、全棧工程師和技術團隊負責人等閱讀。
Claude Code實戰:Harness工程之道 作者簡介
黃佳,筆名咖哥,新加坡科研機構AI研究員,深耕大模型、Agent係統及工程化應用領域。技術作者、工程化思考者,專注於將複雜的AI能力轉化為可設計、可複用、可交付的係統架構。
著有《Agent 設計模式 圖解可複用智能體架構》《大模型應用開發 RAG 實戰課》《大模型應用開發 動手做 AI Agent》等多部技術圖書。
目前聚焦於Agent設計模式、MCP/A2A協議與Agent Skills的工程化構建,致力於推動AI從“能力展示”邁向“工程係統化”實踐。
Claude Code實戰:Harness工程之道 目錄
前言第1章登高望遠:ClaudeCode技術架構全景1
1.1從命令行助手到Agent框架2
1.2四層架構模型4
1.2.1記憶層——CLAUDE.md6
1.2.2擴展層——四大組件8
1.2.3集成層——連接外部世界11
1.2.4編程層——AgentSDK13
1.2.5底層視角:Harness與AgenticLoop15
1.3組件關係與協作17
1.3.1觸發機製對比17
1.3.2數據流:一個請求的旅程18
1.3.3Plugins:組合的打包與分發20
1.4技術選型指南21
本章小結23
思考題24
第2章溫故知新:記憶係統工程實踐25
2.1為什麼AI需要“記憶”26
2.2五層記憶體係28
2.3CLAUDE.md寫作範式32
2.4條件化規則係統38
2.5實戰:3種典型項目配置40
2.5.1React前端項目配置41
2.5.2Node.js後端項目配置42
2.5.3Python數據項目配置43
本章小結44
思考題46
第3章授人以漁:Skills工程實踐47
3.1從CLAUDE.md到Skills:知識的兩個維度48
3.2解剖一個Skill:骨骼與紋理50
3.2.1目錄結構51
3.2.2YAML前置元數據:Skill的“身份證”52
3.3漸進式披露:知識的投資回報率54
3.3.1圖書館模型55
3.3.2description的預算機製56
3.4觸發機製:ClaudeCode如何抉擇Skills的調用58
3.4.1雙通道激活機製58
3.4.2description——Skills的靈魂59
3.4.3防止過觸發與欠觸發61
3.4.4參考型Skill與任務型Skill:兩種Skill哲學62
3.5SKILL.md正文:是路由器,不是倉庫64
3.5.1路由器思維64
3.5.2契約式引用65
3.5.3500行法則66
3.6allowed-tools:知識約束行動66
3.6.1權限設計模板67
3.6.2Bash的精細控製語法67
3.7參數傳遞與動態注入69
3.7.1$ARGUMENTS和位置參數69
3.7.2動態上下文注入70
3.8作用域與優先級71
3.9實戰:從零構建3類Skill72
3.9.1參考型Skill:代碼審查73
3.9.2任務型Skill:智能提交75
3.9.3複合型Skill:財務分析(漸進式披露完整案例)77
3.10Skills的4種設計模式80
3.11測試與迭代81
3.12從軟件工程看Skills82
本章小結84
思考題85
第4章分而治之:子智能體與任務委派的藝術86
4.1上下文窗口的困境87
4.2子智能體的本質88
4.3子智能體的定義與配置91
4.45種子智能體模式96
4.4.1隻讀型:安全的觀察者96
4.4.2執行型:高噪聲任務處理器97
4.4.3並行型:多專家工作流98
4.4.4流水線型:串行處理鏈100
4.4.5團隊型:自組織協作機製105
4.5子智能體與Skills的協作108
4.6Token經濟學114
4.7從軟件工程看子智能體117
4.8實戰注意事項119
本章小結121
思考題122
第5章防微杜漸:Hooks事件驅動自動化123
5.1Hooks在Claude擴展體係中的定位124
5.2事件生命周期:17個事件125
5.2.1會話級事件125
5.2.2工具調用事件126
5.2.3子智能體事件128
5.2.4完成事件128
5.2.5較新的事件類型129
5.2.6“能否阻止”:最關鍵的維度129
5.3配置體係:6個位置,6種用途130
5.43種處理器類型:確定性的階梯132
5.4.1command類型:確定性規則132
5.4.2prompt類型:單次大模型評估133
5.4.3agent類型:多輪子智能體驗證133
5.5hookSpeci.cOutput:與Claude交流的協議134
5.6工程實戰一:安全防護體係136
5.6.1PreToolUse:危險命令攔截136
5.6.2PreToolUse:敏感文件保護137
5.6.3PostToolUse:全量操作審計140
5.6.4完整配置140
5.7工程實戰二:代碼質量自動化141
5.7.1PostToolUse:自動格式化141
5.7.2PostToolUse:Lint反饋循環143
5.7.3StopHook:測試質量門控144
5.8子智能體Hooks:精準的上下文管理146
5.8.1全局與Frontmatter:精度問題146
5.8.2SubagentStart:自動注入上下文147
5.8.3SubagentStop:驗證輸出質量148
5.9異步Hooks:後台執行不阻塞149
5.10環境變量與調試150
5.10.1Hooks可用的環境變量150
5.10.2調試“三板斧”150
5.10.3常見陷阱151
5.11工程設計方法論151
本章小結152
思考題154
第6章海納百川:MCP155
6.1從M×N到M+N:標準化的力量156
6.2架構:客戶端–服務器與JSON-RPC157
6.3傳輸方式:連接的3種形態159
6.4配置詳解:從CLI到配置文件160
6.4.1CLI快速配置160
6.4.2.mcp.json配置文件160
6.4.3配置文件的位置與作用域161
6.5實戰一:連接數據庫162
6.6實戰二:構建自定義MCP服務器163
6.7常用MCP服務器生態167
6.7.1官方MCP服務器167
6.7.2熱門第三方MCP服務器167
6.7.3實用配置組合168
6.8安全機製:信任的邊界169
6.8.1三層縱深安全機製169
6.8.2安全風險與防護170
6.9MCP+Skills:廚房與菜譜171
6.10企業級部署172
6.11調試與故障排除173
6.11.1常用調試手段173
6.11.2MCP工具輸出的Token管理173
6.11.3常見問題174
本章小結174
思考題175
第7章無為而治:Headless模式與CI/CD集成176
7.1從人機交互到無人值守:一次關鍵的架構演進177
7.2核心參數體係:4個維度的控製178
7.2.1輸出格式控製179
7.2.2成本護欄181
7.2.3安全邊界:工具權限182
7.2.4執行控製:模型、Prompt、結構化輸出183
7.3Unix管道:將Claude融入命令行工作流185
7.4實戰一:GitHubActions自動代碼審查186
7.4.1采用官方Action187
7.4.2直接調用CLI189
7.5實戰二:多階段CI管道192
7.6流式輸出:實時監控長耗時任務194
7.7會話管理:跨步驟維持上下文196
7.8CI環境配置:生產級清單197
7.8.1必須設置的環境變量197
7.8.2性能調優參數198
7.8.3GitHubActions中的完整配置模板198
7.8.4MCP服務器在CI中的配置199
7.9跨平台CI/CD集成199
7.9.1GitLabCI/CD配置200
7.9.2JenkinsPipeline集成配置200
7.9.3本地自動化腳本201
7.10安全原則與最佳實踐203
7.10.1最小權限原則203
7.10.2Secrets管理204
7.10.3容器隔離204
7.10.4成本防護205
7.10.5審計日誌205
7.11從CLI到AgentSDK:Headless模式的編程接口206
7.12漸進式落地策略208
本章小結209
思考題210
第8章器以載道:AgentSDK智能體開發套件211
8.1AgentSDK的定位:從工具到組件211
8.2核心API:query函數212
8.2.1Python版本213
8.2.2TypeScript版本213
8.3消息類型:解讀Claude的輸出流214
8.3.1system/init——會話初始化215
8.3.2assistant——Claude的響應215
8.3.3user——工具執行結果216
8.3.4result——任務完成216
8.4ClaudeAgentOptions:精細的行為控製218
8.4.1權限模式詳解219
8.4.2工具權限的模式匹配220
8.5會話管理:跨調用的上下文延續221
8.5.1基於session_id的會話延續221
8.5.2會話分叉222
8.6自定義工具:擴展Claude的能力邊界223
8.6.1使用@tool裝飾器定義工具223
8.6.2在Agent配置中注冊並啟用自定義工具225
8.6.3使用Pydantic模型進行參數驗證225
8.7AgentSDK中的Hooks:程序化的攔截226
8.7.1PreToolUse:執行前攔截227
8.7.2PostToolUse:執行後處理228
8.7.3AgentSDKHooks與ShellHooks的關係230
8.84道安全防線231
8.9結構化輸出:強製JSONSchema233
8.10實戰:構建代碼分析Web服務235
8.11AgentSDK與HeadlessCLI:如何選型238
本章小結239
思考題240
第9章集腋成裘:Plugins生態241
9.1Plugins的定位:能力的封裝與分發242
9.2Plugin的物理結構243
9.2.1plugin.json:Plugin的身份證244
9.2.2組件的具體格式245
9.3安裝與生命周期管理248
9.3.1安裝來源248
9.3.2日常管理249
9.3.3本地開發與測試249
9.3.4存儲位置249
9.4命名空間:多Plugin共存249
9.5實戰:構建團隊能力包250
9.5.1完整目錄結構250
9.5.2plugin.json251
9.5.3安全掃描子智能體251
9.5.4Hooks:安全檢查腳本252
9.5.5發布流程253
9.6私有市場與企業管理253
9.6.1構建私有市場253
9.6.2使用私有市場254
9.6.3組織級Plugin管理255
9.7Plugin設計原則255
9.7.1單一職責255
9.7.2漸進式迭代255
9.7.3最小權限256
9.7.4文檔是必需品256
9.8何時將能力打包為Plugin257
9.9LSP支持與未來演進258
本章小結258
思考題259
第10章爐火純青:工程化實戰——從個人到團隊260
10.1成本控製:讓Token為你工作,而不是燒錢261
10.1.1理解定價結構261
10.1.2模型選擇策略262
10.1.3上下文管理是成本控製的核心263
10.1.4Prompt緩存263
10.1.5成本監控264
10.2調試:打開黑盒265
10.2.1--debug模式:執行過程的“X光”266
10.2.2stream-json:實時透視“思考流”267
10.2.3PostToolUseHook:構建持久化審計日誌267
10.2.4會話存檔與斷點調試268
10.2.5Claude異常行為的診斷思路269
10.3安全準則:最小權限是底線270
10.3.1權限模式:第一道防線270
10.3.2工具權限:精細化控製271
10.3.3.claudeignore與文件訪問控製272
10.3.4Hook安全掃描273
10.3.5MCP服務器的信任評估273
10.3.6API密鑰的生命周期管理274
10.4大型代碼庫:在有限上下文窗口中駕馭百萬行代碼275
10.4.1層次化CLAUDE.md275
10.4.2引導搜索,而非全量閱讀277
10.4.3子智能體:構建模塊化的上下文邊界277
10.4.4上下文壓縮與精細化管理278
10.5指令:寫好CLAUDE.md與Prompt279
10.5.1CLAUDE.md編寫原則279
10.5.2精準表達技巧280
10.5.3分步確認280
10.6團隊落地:從個人到組織的躍遷281
10.6.1共享配置:團隊統一的基石281
10.6.2CLAUDE.md的治理規範282
10.6.3組織級策略管理283
10.6.4漸進式能力建設路線圖284
10.6.5新人ClaudeCode培訓計劃284
10.7SDD生態與工作流的融合285
10.7.1SDD四層生態架構286
10.7.2工作流推薦組合方案287
10.8全局視圖:8種核心機製的協奏288
本章小結289
思考題291
後記庖丁解牛,遊刃有餘292
······
最後修改:2026 年 07 月 13 日
© 允許規範轉載
