附录 C:全书知识地图
本附录用图表形式串联全书的核心知识点,帮助你建立系统化的认识。
架构全景图
用户输入 "帮我修复 src/app.ts 中的 bug"
│
│ ┌─────────────── 第4章:入口 ────────────────┐
│ │ │
▼ │ main.tsx → 解析参数 → 初始化 → 启动 REPL │
│ │
└──────────────────┬───────────────────────────┘
│
┌──────────────────▼───────────────────────────┐
│ 第7章:命令解析 │
│ 是 /command 吗?→ 否 → 继续 │
│ 是 → 执行命令 → 结束 │
└──────────────────┬───────────────────────────┘
│
┌──────────────────▼───────────────────────────┐
│ 第8章:消息处理 │
│ processUserInput() → 标准化 → 构建请求 │
│ 系统提示词 + 对话历史 + 工具定义 │
└──────────────────┬───────────────────────────┘
│
┌──────────────────▼───────────────────────────┐
│ 第9章:查询引擎(Agent Loop) │
│ ┌──────────────────────────────────────┐ │
│ │ 发送 API 请求 ← 第10章:流式响应 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ AI 回复:使用 FileRead 工具 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 第17章:权限检查 → 允许 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 第14章:FileRead 执行 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 结果返回 AI → AI 发现 bug │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ AI 回复:使用 FileEdit 修复 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 第17章:权限检查 → 询问用户 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ 用户允许 → FileEdit 执行 │ │
│ │ │ │ │
│ │ ▼ │ │
│ │ AI:修复完成 (stop_reason=end_turn) │ │
│ └──────────────────────────────────────┘ │
└──────────────────┬───────────────────────────┘
│
┌──────────────────▼───────────────────────────┐
│ 第5章:界面渲染 │
│ React/Ink → 显示差异 → 显示回复 │
└──────────────────┬───────────────────────────┘
│
┌──────────────────▼───────────────────────────┐
│ 第26章:持久化 │
│ 保存会话记录 → 更新记忆 │
└──────────────────────────────────────────────┘
知识依赖图
以下展示了各章之间的知识依赖关系。箭头 A → B 表示"先读 A 有助于理解 B":
第1章(入门)
↓
第2章(全景)→ 第3章(语言基础)
↓ ↓
第4章(入口)→ 第5章(UI)→ 第6章(状态)
↓ ↓
第7章(命令) 第8章(消息)
↓
第9章(查询引擎)
↓ ↓
第10章(流式) 第11章(上下文)
↓
第12章(工具概述)
↓ ↓ ↓ ↓
第13章 第14章 第15章 第16章
(Bash) (文件) (搜索) (Agent)
↓
第17章(权限)→ 第18章(安全)→ 第19章(沙箱)
↓
第20章(MCP)→ 第21章(Hook)
↓
第22章(IDE)→ 第23章(扩展)
↓
第24章(多智能体)→ 第25章(性能)
↓
第26章(记忆)→ 第27章(配置)
↓
第28章(模式)→ 第29章(实践)→ 第30章(展望)
核心概念关系图
┌─────────────────────────────────────────────────────────┐
│ │
│ Claude Code │
│ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ 用户界面 │ │ 工具 │ │ 安全 │ │
│ │ │ │ │ │ │ │
│ │ Ink/React│←→│ 40+ 工具 │←→│ 6 层防御 │ │
│ │ 组件 │ │ 统一接口 │ │ 权限规则 │ │
│ │ 状态管理 │ │ 并行执行 │ │ 沙箱隔离 │ │
│ └───────────┘ └─────┬─────┘ └───────────┘ │
│ ↕ ↕ ↕ │
│ ┌─────────────────────────────────────────────┐ │
│ │ 查询引擎 │ │
│ │ │ │
│ │ Agent Loop · 流式响应 · Token 管理 │ │
│ │ 消息标准化 · 提示缓存 · 自动压缩 │ │
│ └─────────────────────────────────────────────┘ │
│ ↕ ↕ ↕ │
│ ┌───────────┐ ┌───────────┐ ┌───────────┐ │
│ │ 扩展 │ │ 记忆 │ │ 配置 │ │
│ │ │ │ │ │ │ │
│ │ MCP 协议 │ │ CLAUDE.md │ │ settings │ │
│ │ 插件 │ │ 会话存储 │ │ 功能开关 │ │
│ │ 技能 │ │ 自动提取 │ │ 管理策略 │ │
│ └───────────┘ └───────────┘ └───────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
设计模式速查
| 你在设计什么 | 可以用什么模式 | Claude Code 中的例子 |
|---|---|---|
| 多种实现,统一调用 | 统一接口 | Tool 接口 |
| 大型系统的组织 | 分层架构 | 7 层架构 |
| 安全关键系统 | 故障安全 + 纵深防御 | 6 层安全 |
| 需要实时反馈 | 生产者-消费者 | 流式响应 |
| 可选择的算法 | 策略模式 | 权限模式 |
| 不修改源码加功能 | 事件驱动 | Hook 系统 |
| 避免重复计算 | 缓存策略 | 提示缓存、LRU |
| 按需加载功能 | 渐进增强 | 功能开关 |
| 连接外部系统 | 适配器模式 | MCP、消息标准化 |
| 多模块协作 | 关注点分离 | 整体架构 |
本书由 everettjf 使用 Claude Code 分析泄露源码编写 | 保留出处即可自由转载