Claude Code from Source —— 书籍封面

Anthropic 如何构建全球最受欢迎的 AI 编程智能体

当 Claude Code 发布到 npm 时,source maps 也随之发布。我们阅读了每一个文件。本书将架构、设计决策和可复用的模式提炼为 18 章,供你学习并应用到自己的系统中。

开始阅读

你将学到什么

Agent Loop(智能体循环)

异步生成器(AsyncGenerator)如何驱动整个系统 —— 流式输出模型、执行工具、错误恢复以及跨 4 层的上下文压缩。

大规模工具执行

从模型请求到工具结果的 14 步流水线。权限解析、投机执行、按安全分类进行并发批处理。

多智能体编排

子智能体如何共享提示词缓存前缀以降低 95% 的成本。Fork Agent、协调器模式、带有邮箱通信的集群(Swarm)团队。

无数据库的记忆系统

基于文件的记忆与 LLM 驱动的召回系统。4 种记忆类型、陈旧度警告,以及优于向量搜索(embedding search)的 Sonnet 侧查询。

性能工程

通过并行 I/O 在 240 毫秒内启动。Slot reservation(槽位预留)在 99% 的请求中节省上下文。用于模糊搜索的位图预过滤。每一毫秒都精打细算。

可扩展性与安全性

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

探索架构

六大核心抽象驱动了 Claude Code。拖动节点以重新排列,悬停查看详情,点击阅读相关章节。

本书适合谁

构建 Agentic 系统的工程师。每章均以“应用此模式(Apply This)”结尾 —— 包含 5 个可复用的模式及具体的适配建议。直接借鉴架构,避开踩坑。

评估架构的技术领导者。无需阅读每个代码块即可跟随叙事。理解为何做出这些决策,而不仅仅是构建了什么。

任何对生产级 AI 工具如何运作感到好奇的人。数十万开发者正在使用 Claude Code。这就是它底层的工作原理。

目录

本书是如何诞生的

源码提取自 npm source maps —— 随 Claude Code 发布的 .js.map 文件中包含一个 sourcesContent 字段,其中存放了完整的原始 TypeScript 代码。这近两千个文件构成了完整的架构。

36 个 AI Agent 分四个阶段分析并编写了整本书:

探索 6 个并行 Agent 读取源码树中的每个文件
分析 12 个 Agent 编写了 494KB 的原始技术文档
撰写 15 个 Agent 将所有内容从零开始重写为叙事性章节
审查与修订 3 位审查员提供了 900 行反馈;3 个 Agent 应用了所有修改

整个过程 —— 从源码提取到最终定稿 —— 大约耗时 6 小时。最终的审计确保没有保留任何逐字的源代码 —— 每个代码块都被重写为使用不同变量名的伪代码。

使其高效运作的 10 大模式

如果只读精华,请务必了解这些定义了 Claude Code 的架构押注。

1
将 AsyncGenerator 作为 Agent Loop — 产出 Messages,类型化的 Terminal 返回,自然的背压与取消机制
2
投机工具执行 — 在模型流式输出期间、响应完成之前,启动只读工具
3
并发安全的批处理 — 按安全性对工具进行分区,并行运行读操作,序列化写操作
4
Fork Agent 以共享缓存 — 并行子智能体共享字节级相同的提示词前缀,节省约 95% 的输入 Token
5
4 层上下文压缩 — 剪裁(snip)、微压缩(microcompact)、折叠(collapse)、自动压缩(autocompact) —— 逐级轻量化
6
基于文件的记忆与 LLM 召回 — Sonnet 侧查询选择相关记忆,而非关键字匹配
7
两阶段技能加载 — 启动时仅加载 frontmatter,调用时加载完整内容
8
用于缓存稳定性的粘性锁(Sticky latches) — 一旦发送了 beta 请求头,在会话中途绝不取消设置
9
Slot reservation(槽位预留) — 默认 8K 输出上限,触发时提升至 64K(在 99% 的请求中节省上下文)
10
钩子配置快照 — 在启动时冻结,以防止运行时注入攻击

纯属教育目的。本书不包含任何来自 Claude Code 的源代码 —— 每个代码块都是为了说明架构模式而编写的原创伪代码。其目的是帮助工程师理解生产级 AI Agent 是如何构建的,而不是复制专有软件。“NO'REILLY”封面仅为说明目的的戏仿/梗图 —— 与 O'Reilly Media 无任何关联。