《Claude Code实战:Harness工程之道》封面

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 日