乐于分享
好东西不私藏

Claude Code源码架构深度拆解:50万行TypeScript里的工程智慧

Claude Code源码架构深度拆解:50万行TypeScript里的工程智慧

一、Claude Code 为什么值得研究?

Claude Code 是目前使用最广泛的 AI 编程 Agent,背后是 50 万行 TypeScript 源码。市面上大多数 Agent 框架是 demo 级别,Claude Code 是日活百万级开发者实际使用的生产系统。

源码开源后,开发者团队从源码中提炼出 15 篇专题文档。这份材料是对 AI Coding 工程化最好的学习资料之一。

二、Agent 循环:7 种故障恢复

Claude Code 的 Agent 循环设计了 7 种 Continue Sites(继续点)

  • Normal — 正常继续
  • Token Limit — 自动升级上下文(4K→64K)重试
  • Context Window — 触发 4 级压缩
  • API Error — 自动重试
  • Tool Error — 尝试降级
  • Rate Limit — 等待后重试
  • Interrupt — 保存状态

你看到的丝滑体验,背后是 7 条恢复路径在默默兜底。

三、上下文工程:4 级渐进式压缩

对话推进到百万 token 时,不是一刀切,而是 4 级逐步处理:

裁剪 → 截断旧工具输出去重 → 移除重复内容(编译错误反复出现)折叠 → 折叠不活跃段落,可展开恢复摘要 → 最后手段,子 Agent 做全文摘要

压缩后自动恢复最近编辑的 5 个文件,防止模型忘记上下文。

四、安全:5 层纵深防御

让 AI 在用户电脑上跑命令,安全设计必须过硬:

  1. 权限模式 — 不同信任级别
  2. 规则匹配 — 白名单/黑名单
  3. Bash AST 分析 — tree-sitter 语法树拆解命令意图(23 项检查)
  4. 用户确认 — 200ms 防抖防误触
  5. Hook 校验 — 自定义安全规则

任何一层拦住就不会执行。

五、性能:工具预执行

最难的设计:模型说"我要读文件"时,系统已经在读了。利用模型 5-30 秒推理窗口,把工具延迟藏起来了。再加上 9 阶段并行启动(关键路径 235ms)、全链路流式输出,这就是为什么用起来感觉快。

六、多 Agent 协作

三种模式:子 Agent(分派任务)、协调器(只指挥不动手)、Swarm(点对点通信)。用 Git Worktree 给每个 Agent 独立代码副本防冲突。

七、对我们的启示

最大的收获:故障恢复是第一优先级、渐进式优于一刀切、统一接口降低复杂度、速度是一种感觉。

想动手实现?配套项目 claude-code-from-scratch 用 4000 行代码从零构建