Thinking in Claude Code — 从源码出发,理解 AI-Native 应用的设计哲学
本书参考《C++ 编程思想》(Thinking in C++) 的渐进式教学方法,从简单到复杂地剖析 Claude Code 的完整源码架构。每一章围绕一个核心编程思想,配合真实源码片段和设计模式分析,引导读者深入理解 AI-Native CLI 应用的工程实践。
全书分为 五大部分 + 附录,共 16 章,沿四条思想主线贯穿始终。
| 章节 | 标题 | 核心思想 |
|---|---|---|
| 第 1 章 | 程序的诞生 —— 启动引导系统 | 渐进式初始化与状态引导 |
| 第 2 章 | 终端即画布 —— React/Ink 终端 UI | 声明式 UI 在受限环境中的适应性设计 |
| 第 3 章 | 对话的心跳 —— REPL 消息循环 | 事件驱动的异步消息处理管线 |
| 第 4 章 | 记忆的形状 —— 状态管理架构 | 不可变状态与单向数据流 |
| 第 5 章 | 语言的构造 —— QueryEngine 与系统提示 | 上下文工程与 Token 经济学 |
| 章节 | 标题 | 核心思想 |
|---|---|---|
| 第 6 章 | 万物皆工具 —— Tool 系统设计 | 统一抽象与开放扩展的平衡 |
| 第 7 章 | 信任的边界 —— 权限系统 | 纵深防御与最小权限原则 |
| 第 8 章 | 危险的艺术 —— BashTool 安全纵深 | 在开放执行环境中构建安全防线 |
| 章节 | 标题 | 核心思想 |
|---|---|---|
| 第 9 章 | 任务的生命 —— Task 管理系统 | 有限状态机与异步工作流 |
| 第 10 章 | 分身之术 —— Agent 编排系统 | 递归式自主 Agent 与人类监督的协调 |
| 第 11 章 | 技能的封装 —— Skill/Command 系统 | 可复用行为单元的封装与编排 |
| 章节 | 标题 | 核心思想 |
|---|---|---|
| 第 12 章 | 协议即力量 —— MCP 集成 | 协议驱动的可扩展性设计 |
| 章节 | 标题 | 贯穿章节 |
|---|---|---|
| 第 13 章 | 边界的艺术 —— 信任边界与纵深防御 | 7→8→10→12 |
| 第 14 章 | 抽象的层次 —— 从接口到生态 | 6→11→12 |
| 第 15 章 | 状态的流动 —— 从单点到分布式 | 3→4→9→10 |
| 第 16 章 | 上下文的经济学 —— Token 即资源 | 5→6→10→12 |
| 附录 | 标题 |
|---|---|
| 附录 A | Claude Code 完整架构图 |
| 附录 B | 核心设计模式速查表 |
| 附录 C | AI-Native 应用架构范式 |
| 附录 D | 源码阅读路线图 |
信任与安全 ━━━━ 纵深防御、最小权限、人在回路中 ━━━━ 第7→8→10→12→13章
抽象与扩展 ━━━━ 统一接口、注册发现、协议驱动 ━━━━ 第6→11→12→14章
状态与流动 ━━━━ 状态机、消息循环、流式处理 ━━━━━ 第3→4→9→10→15章
上下文经济学 ━━ Token 预算、压缩策略、信息密度 ━━━ 第5→6→10→12→16章
第1章(启动) → 第2章(UI) → 第3章(REPL) → 第4章(状态)
└──────────────────────→ 第5章(QueryEngine)
↓
第6章(Tool系统)
↓ ↓
第7章(权限) 第9章(Task)
↓ ↓
第8章(BashTool) 第10章(Agent)
↓
第11章(Skill)
↓
第12章(MCP)
↓
第13~16章(哲学篇)
基于 Claude Code 源码逆向分析(2025 年版本),源码位于 claude-code-source/src/。