Claude Code from Source — Book Cover

Anthropic 如何构建最广泛使用的 AI 编程智能体

当 Claude Code 通过 npm 发布时,source map 也随之公开。我们读完了每个文件。本书把其中的架构、设计决策和可迁移模式提炼为 18 章 供你学习,并应用到自己的系统中。

开始阅读

你将学到什么

智能体循环

异步生成器如何驱动整个系统:流式生成模型输出、执行工具、错误恢复,并通过 4 层机制压缩上下文。

大规模工具执行

从模型请求到工具结果的 14 步流水线:权限解析、推测执行,以及按安全性分类的并发批处理。

多智能体编排

子智能体如何共享提示缓存前缀,把成本降低约 95%。分叉智能体、协调器模式,以及带邮箱消息的智能体集群。

没有数据库的记忆

基于文件的记忆与 LLM 驱动的召回系统:四类记忆、陈旧性警告,以及优于 embedding 搜索的 Sonnet 旁路查询。

性能工程

通过并行 I/O 实现 240ms 启动;槽位预留在 99% 请求中节省上下文;用 bitmap 预过滤器加速模糊搜索。每一毫秒都有归属。

可扩展性与安全

两阶段技能加载(启动时只加载元数据,按需加载内容);27 个生命周期钩子,以及启动时冻结配置快照以防注入。

探索架构

六个核心抽象支撑 Claude Code。拖动节点重新排列,悬停查看细节,点击阅读对应章节。

本书适合谁

正在构建智能体系统的工程师。 每章都以“应用到你的系统”收尾,提炼 5 个可迁移模式和具体适配建议。借鉴架构,避开坑。

正在评估架构的技术负责人。 即使不阅读每个代码块,也能跟上叙事。理解为什么这样设计,而不只是知道构建了什么。

任何好奇生产级 AI 工具如何工作的人。 Claude Code 被大量开发者使用。本书解释它在底层如何运转。

目录

本书是如何完成的

原始材料来自 npm source map——Claude Code 发布包中的 .js.map 文件在 sourcesContent 字段里包含了完整原始 TypeScript。近两千个文件组成了完整架构。

36 个 AI 智能体 分四个阶段完成了分析与写作:

探索 6 个并行智能体阅读源码树中的每个文件
分析 12 个智能体写出 494KB 的原始技术文档
写作 15 个智能体从头重写为叙事章节
审阅与修订 3 个审阅者产出 900 行反馈;3 个修订智能体应用所有修正

从源码提取到最终修订成书,整个过程大约耗时 6 小时。最后一轮审计确保没有保留任何逐字源码——所有代码块都被重写为使用不同变量名的伪代码。

让它成立的 10 个模式

如果你只读一部分,读这里:这些是定义 Claude Code 的架构押注。

1
把 AsyncGenerator 作为智能体循环 — 产出 Messages,返回带类型的 Terminal,天然支持背压和取消
2
推测式工具执行 — 在模型流式生成期间、响应完成之前,启动只读工具
3
并发安全批处理 — 按安全性划分工具;读操作并行运行,写操作串行运行
4
用分叉智能体共享缓存 — 并行子智能体共享字节完全相同的提示前缀,节省约 95% 输入 token
5
4 层上下文压缩 — snip、microcompact、collapse、autocompact;从轻到重逐层加码
6
基于文件的记忆与 LLM 回忆 — 由 Sonnet 旁路查询选择相关记忆,而不是靠关键词匹配
7
两阶段技能加载 — 启动时只加载 frontmatter,调用时再加载完整内容
8
用粘性锁存器稳定缓存 — 一旦发送某个 beta header,就不要在会话中途取消设置
9
槽位预留 — 默认输出上限 8K,命中上限后提升到 64K(在 99% 的请求中节省上下文)
10
钩子配置快照 — 启动时冻结配置,防止运行时注入攻击

仅用于教育目的。 本书不包含 Claude Code 的任何源码——所有代码块都是用于说明架构模式的原创伪代码。目标是帮助工程师理解生产级 AI 智能体如何构建,而不是复现专有软件。“NO'REILLY” 封面只是用于说明的戏仿/meme,与 O'Reilly Media 无关。