50 万行代码
只为回答你一句话

Claude Code 架构全景分析

512,664 行 TypeScript 1,884 个文件 14 个子系统

你以为你在跟 AI 对话

你输入:「帮我重构这个函数」
Claude 给出代码 → 像是 AI 直接回答了你

但实际上:这句话触发了 至少 7 个独立系统 的协作

类比:你按下一个开关觉得灯亮了,但墙后面是整个电网

冰山结构:86% 的代码不是 AI

1.4% 查询引擎 · ~7,400 行

驱动每一次 AI 交互——心脏

86% 其余系统

骨骼、肌肉、免疫系统、神经系统

关键洞察:模型是发动机,但发动机不是汽车

心跳:一次对话的完整旅程

用户输入 命令解析 提示词组装 AI 流式响应 工具调用 权限检查 执行 结果注入 循环

12 种异常处理:上下文溢出、预算耗尽、API 故障、用户中断、权限审批...

不是一问一答的聊天,是一个精密的决策循环

40+ 把瑞士军刀

AI 本身不能读文件、不能执行命令、不能搜索代码——
工具系统是它与真实世界的唯一通道

内置

40+ 工具:文件读写、代码执行、网络访问...

自描述

每个工具告诉 AI 自己能做什么,AI 按需选用

延迟加载

需要哪把递哪把,不是把工具箱全倒出来

不是万能工具箱,是有专业管家管理的工具仓库

团队协作:一个 AI 不够,派一队

子代理

打下手

协调者

指挥部

团队模式

持久协作

共享同一个核心引擎——不是三套系统,是一套系统的三种配置

「文件邮箱」通信:AI 之间用文件系统传递消息

四阶段工作流:研究 → 综合 → 实施 → 验证

八道门禁:AI 安全的纵深防御

25K

行安全代码

代码量最大的子系统——安全不是功能,是基础设施

01 权限模式
02 规则匹配
03 AST 语法分析
04 安全验证器
05 路径检查
06 分类器
07 Hook
08 OS 沙箱

关键原则:人类始终是最终权限授予者

有限的记忆力:200K 怎么够用?

一个编程会话可能持续数小时,产生数十万 token——200K 窗口根本装不下

微压缩

无损

清缓存

结果折叠

轻量有损

折叠旧结果

全量压缩

AI 摘要

独立 AI 生成

像人的记忆——重要的事情记细节,不重要的记大概,真忘了去翻笔记

AI 的「基因」:改三行字,影响百万次请求

系统提示词 = AI 的基因序列:8,000+ 字的精密指令,定义了 AI 的性格、能力边界、安全底线

三层缓存:全球共享 → 组织共享 → 不缓存

一个设计决策让数百万请求的成本降低一个数量级

CLAUDE.md:用户写「给 AI 的规矩」,AI 每次交互自动遵守

3 行修改 = 蝴蝶效应:同时影响模型行为、缓存命中率、token 计费、跨会话一致性

成本透明:每一分钱都让你看见

三条设计哲学

用户意图优先

成本完全透明

绝不静默降级

Prompt Cache

精密的缓存分层,将 token 成本降低一个数量级

关键启示:AI 产品的成本结构不只是模型推理费,更是工程设计对成本的放大或压缩

终端里的 GUI:62.5fps 的文本界面

一个终端应用做到了:62.5fps 刷新率、双缓冲渲染、Vim 快捷键、鼠标选择、输入法感知

81,546 行 UI 代码 — 整个项目 15.9%

自定义渲染引擎:不是用现成框架,是对 React/Ink 的深度改造

在一个只能显示文字的屏幕上,造了一个接近图形界面的体验

竞争壁垒不在模型,在工程

回顾冰山结构:50 万行代码中,模型交互只占 1.4%

真正的壁垒:

安全纵深(25K 行)

上下文压缩

多代理编排

成本优化

Prompt Cache

这些工程系统不是一夜建成的——是数千次 edge case 打磨出来的

对决策者的启示:评估 AI 产品,不要只看模型能力——要看模型「周围」的工程成熟度

附录:14 章导览与数字速查

代码规模 Top 5

安全与权限 ~25,000 行

MCP 集成 ~12,310 行

Agent 编排 ~8,700 行

查询引擎 ~7,418 行

上下文管理 ~6,000 行

推荐阅读路线

Agent 开发者:Ch.1 → 2 → 4 → 3 → 8 → 10

Prompt 工程师:Ch.5 → 6 → 8 → 9 → 2

安全工程师:Ch.10 → 3 → 11 → 2 → 14

报告来源:Claude Code TypeScript 源码快照(2026-03-31) | 方法论:14 子代理并行分析