Claude Code 實戰:Harness 工程之道

黃佳

  • 出版商: 人民郵電
  • 出版日期: 2026-05-01
  • 售價: $480
  • 語言: 簡體中文
  • 頁數: 314
  • ISBN: 7115696535
  • ISBN-13: 9787115696533
  • 相關分類: AI CodingCI/CD
  • 下單後立即進貨 (約4週~6週)

買這商品的人也買了...

商品描述

本書系統介紹了Claude Code的技術架構與工程化實踐。全書從“軟件工程”視角,解析了從命令行助手到可編程Agent的演進路徑,並圍繞Claude Code的四層架構模型展開,深入探討了記憶系統(CLAUDE.md)、技能(Skills)、子智能體(SubAgents)、事件鉤子(Hooks)與MCP等核心機制的設計哲學與協同原理。書中不僅提供了翔實的技術選型指南、組件配置方法和觸發機制對比, 通過大量實戰案例,展示了如何構建安全、高效、可維護的AI輔助編程工作流,涵蓋從個人開發到團隊協作,再到與CI/CD流水線集成的企業級部署全流程。本書適合具備一定編程基礎,並希望將Claude Code深度集成至日常開發與團隊流程中的開發者、全棧工程師和技術團隊負責人等閱讀。

作者簡介

黃佳,筆名咖哥,新加坡科研機構AI研究員,深耕大模型、Agent系統及工程化應用領域。技術作者、工程化思考者,專註於將覆雜的AI能力轉化為可設計、可覆用、可交付的系統架構。著有《Agent 設計模式 圖解可覆用智能體架構》《大模型應用開發 RAG 實戰課》《大模型應用開發 動手做 AI Agent》等多部技術圖書。目前聚焦於Agent設計模式、MCP/A2A協議與Agent Skills的工程化構建,致力於推動AI從“能力展示”邁向“工程系統化”實踐。

目錄大綱

前言

第 1章 登高望遠:Claude Code技術架構全景 1

1.1 從命令行助手到Agent框架 2

1.2 四層架構模型 4

1.2.1 記憶層——CLAUDE.md 6

1.2.2 擴展層——四大組件 8

1.2.3 集成層——連接外部世界 11

1.2.4 編程層——Agent SDK 13

1.2.5 底層視角:Harness與Agentic Loop 15

1.3 組件關系與協作 17

1.3.1 觸發機制對比 17

1.3.2 數據流:一個請求的旅程 18

1.3.3 Plugins:組合的打包與分發 20

1.4 技術選型指南 21

本章小結 23

思考題 24

第 2章 溫故知新:記憶系統工程實踐 25

2.1 為什麼AI需要“記憶” 26

2.2 五層記憶體系 28

2.3 CLAUDE.md寫作範式 32

2.4 條件化規則系統 38

2.5 實戰:3種典型項目配置 40

2.5.1 React前端項目配置 41

2.5.2 Node.js後端項目配置 42

2.5.3 Python數據項目配置 43

本章小結 44

思考題 46

第3章 授人以漁:Skills工程實踐 47

3.1 從CLAUDE.md到Skills:知識的兩個維度 48

3.2 解剖一個Skill:骨骼與紋理 50

3.2.1 目錄結構 51

3.2.2 YAML前置元數據:Skill的“身份證” 52

3.3 漸進式披露:知識的*率 54

3.3.1 圖書館模型 55

3.3.2 description的預算機制 56

3.4 觸發機制:Claude Code如何抉擇Skills的調用 58

3.4.1 雙通道*機制 58

3.4.2 description——Skills的靈魂 59

3.4.3 防止過觸發與欠觸發 61

3.4.4 參考型Skill與任務型Skill:兩種Skill哲學 62

3.5 SKILL.md正文:是路由器,不是倉庫 64

3.5.1 路由器思維 64

3.5.2 契約式引用 65

3.5.3 500行法則 66

3.6 allowed-tools:知識約束行動 66

3.6.1 權限設計模板 67

3.6.2 Bash的精細控制語法 67

3.7 參數傳遞與動態註入 69

3.7.1 $ARGUMENTS和位置參數 69

3.7.2 動態上下文註入 70

3.8 作用域與優先級 71

3.9 實戰:從*構建3類Skill 72

3.9.1 參考型Skill:代碼審查 73

3.9.2 任務型 Skill:智能提交 75

3.9.3 覆合型Skill:財務分析(漸進式披露完整案例) 77

3.10 Skills的4種設計模式 80

3.11 測試與疊代 81

3.12 從軟件工程看Skills 82

本章小結 84

思考題 85

第4章 分而治之:子智能體與任務委派的藝術 86

4.1 上下文窗口的困境 87

4.2 子智能體的本質 88

4.3 子智能體的定義與配置 91

4.4 5種子智能體模式 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.6 Token經濟學 114

4.7 從軟件工程看子智能體 117

4.8 實戰註意事項 119

本章小結 121

思考題 122

第5章 防微杜漸:Hooks事件驅動自動化 123

5.1 Hooks在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.4 3種處理器類型:確定性的階梯 132

5.4.1 command類型:確定性規則 132

5.4.2 prompt類型:單次大模型評估 133

5.4.3 agent類型:多輪子智能體驗證 133

5.5 hookSpeci.cOutput:與Claude交流的協議 134

5.6 工程實戰一:*防護體系 136

5.6.1 PreToolUse:危險命令攔截 136

5.6.2 PreToolUse:敏感文件保護 137

5.6.3 PostToolUse:全量操作審計 140

5.6.4 完整配置 140

5.7 工程實戰二:代碼質量自動化 141

5.7.1 PostToolUse:自動格式化 141

5.7.2 PostToolUse:Lint反饋循環 143

5.7.3 Stop Hook:測試質量門控 144

5.8 子智能體Hooks:*的上下文管理 146

5.8.1 全局與Frontmatter:精度問題 146

5.8.2 SubagentStart:自動註入上下文 147

5.8.3 SubagentStop:驗證輸出質量 148

5.9 異步Hooks:後臺執行不阻塞 149

5.10 環境變量與調試 150

5.10.1 Hooks可用的環境變量 150

5.10.2 調試“三板斧” 150

5.10.3 常見陷阱 151

5.11 工程設計方法論 151

本章小結 152

思考題 154

第6章 海納百川:MCP 155

6.1 從M×N到M+N:標準化的力量 156

6.2 架構:客戶端–服務器與JSON-RPC 157

6.3 傳輸方式:連接的3種形態 159

6.4 配置詳解:從CLI到配置文件 160

6.4.1 CLI快速配置 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.9 MCP+Skills:廚房與菜譜 171

6.10 企業級部署 172

6.11 調試與故障排除 173

6.11.1 常用調試手段 173

6.11.2 MCP工具輸出的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.3 Unix管道:將Claude融入命令行工作流 185

7.4 實戰一:GitHub Actions自動代碼審查 186

7.4.1 采用官方Action 187

7.4.2 直接調用CLI 189

7.5 實戰二:多階段CI管道 192

7.6 流式輸出:實時監控長耗時任務 194

7.7 會話管理:跨步驟維持上下文 196

7.8 CI 環境配置:生產級清單 197

7.8.1 *須設置的環境變量 197

7.8.2 性能調優參數 198

7.8.3 GitHub Actions中的完整配置模板 198

7.8.4 MCP服務器在CI中的配置 199

7.9 跨平臺CI/CD集成 199

7.9.1 GitLab CI/CD配置 200

7.9.2 JenkinsPipeline集成配置 200

7.9.3 本地自動化腳本 201

7.10 *原則與*實踐 203

7.10.1 *小權限原則 203

7.10.2 Secrets管理 204

7.10.3 容器隔離 204

7.10.4 成本防護 205

7.10.5 審計日誌 205

7.11 從CLI到Agent SDK:Headless模式的編程接口 206

7.12 漸進式落地策略 208

本章小結 209

思考題 210

第8章 器以載道:Agent SDK智能體開發套件211

8.1 Agent SDK的定位:從工具到組件 211

8.2 核心API:query函數 212

8.2.1 Python版本 213

8.2.2 TypeScript版本 213

8.3 消息類型:解讀Claude的輸出流 214

8.3.1 system/init——會話初始化 215

8.3.2 assistant——Claude的響應 215

8.3.3 user——工具執行結果 216

8.3.4 result——任務完成 216

8.4 ClaudeAgentOptions:精細的行為控制 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.7 Agent SDK中的Hooks:程序化的攔截 226

8.7.1 PreToolUse:執行前攔截 227

8.7.2 PostToolUse:執行後處理 228

8.7.3 Agent SDK Hooks與Shell Hooks的關系 230

8.8 4道*防線 231

8.9 結構化輸出:強制JSON Schema 233

8.10 實戰:構建代碼分析Web服務 235

8.11 Agent SDK與Headless CLI:如何選型 238

本章小結 239

思考題 240

第9章 集腋成裘:Plugins生態 241

9.1 Plugins的定位:能力的封裝與分發 242

9.2 Plugin的物理結構 243

9.2.1 plugin.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.2 plugin.json 251

9.5.3 *掃描子智能體 251

9.5.4 Hooks:*檢查腳本 252

9.5.5 發布流程 253

9.6 私有市場與企業管理 253

9.6.1 構建私有市場 253

9.6.2 使用私有市場 254

9.6.3 組織級Plugin管理 255

9.7 Plugin設計原則 255

9.7.1 單一職責 255

9.7.2 漸進式疊代 255

9.7.3 *小權限 256

9.7.4 文檔是*需品 256

9.8 何時將能力打包為Plugin 257

9.9 LSP支持與未來演進 258

本章小結 258

思考題 259

第 10章 爐火純青:工程化實戰——從個人到團隊 260

10.1 成本控制:讓Token為你工作,而不是燒錢 261

10.1.1 理解定價結構 261

10.1.2 模型選擇策略 262

10.1.3 上下文管理是成本控制的核心 263

10.1.4 Prompt緩存 263

10.1.5 成本監控 264

10.2 調試:打開黑盒 265

10.2.1 --debug模式:執行過程的“X光” 266

10.2.2 stream-json:實時透視“思考流” 267

10.2.3 PostToolUse Hook:構建持久化審計日誌 267

10.2.4 會話存檔與斷點調試 268

10.2.5 Claude異常行為的診斷思路 269

10.3 *準則:*小權限是底線 270

10.3.1 權限模式:第 一道防線 270

10.3.2 工具權限:精細化控制 271

10.3.3 .claudeignore與文件訪問控制 272

10.3.4 Hook*掃描 273

10.3.5 MCP服務器的信任評估 273

10.3.6 API 密鑰的生命周期管理 274

10.4 大型代碼庫:在有限上下文窗口中駕馭百萬行代碼 275

10.4.1 層次化CLAUDE.md 275

10.4.2 引導搜索,而非全量閱讀 277

10.4.3 子智能體:構建模塊化的上下文邊界 277

10.4.4 上下文壓縮與精細化管理 278

10.5 指令:寫好CLAUDE.md與Prompt 279

10.5.1 CLAUDE.md編寫原則 279

10.5.2 *表達技巧 280

10.5.3 分步確認 280

10.6 團隊落地:從個人到組織的躍遷 281

10.6.1 共享配置:團隊統一的基石 281

10.6.2 CLAUDE.md的治理規範 282

10.6.3 組織級策略管理 283

10.6.4 漸進式能力建設路線圖 284

10.6.5 新人Claude Code培訓計劃 284

10.7 SDD生態與工作流的融合 285

10.7.1 SDD四層生態架構 286

10.7.2 工作流推薦組合方案 287

10.8 全局視圖:8種核心機制的協奏 288

本章小結 289

思考題 291

後記 庖丁解牛,遊刃有餘292