从 Anthropic 的 AI 编程助手源码中,学会构建 AI Agent 应用的全栈技术
Claude Code 是 Anthropic 推出的 AI 命令行编程助手,也是目前最好的 AI Coding 产品之一。它的源码涵盖了 System Prompt 工程、多 Agent 编排、工具系统、权限安全、Bridge IPC、远程会话、企业代理、终端 UI 等完整技术栈。
这是一份 34 章、覆盖全部核心模块的深度源码分析。
不是泛泛而谈的架构概览,而是逐文件、逐函数的拆解——每章都精确到源码行号,附关键代码片段,并总结可迁移到你自己项目的设计模式。整书以运行期生命周期为主线组织:进入软件之前 → 一次回合的内核 → 工具家族 → Agent/任务/协调 → 协议安全与扩展 → 网络与远程 → 终端 UI 与多模态输入 → 记忆/扩展/总结。
- 🔍 真实产品,不是 demo — 从真实的生产级 AI 产品中学习,而非玩具项目
- 🏗️ 全栈覆盖 — 从编译期优化、运行时状态管理,到 Prompt Cache、Bridge IPC、终端渲染
- 🎯 面向实战 — 章节顺序就是一次会话从启动到产出的链路本身,每章结尾提炼可直接复用的设计模式
- 📖 中文友好 — 正文中文,技术术语保留英文原文
📂 所有文章在
docs/目录下,完整目录与阅读指引见 00-目录与阅读指引📝 想了解本书为什么有 v2、v2 相比 v1 多了什么?见 V2-CHANGELOG
| # | 文章 | 你会学到 |
|---|---|---|
| 01 | 项目全景与四种入口形态 | 同一份源码 = CLI + SDK + MCP server + Sandbox runner |
| 02 | 启动链路与冷启动优化 | 毫秒级 CLI 启动:侧效果前置、DCE、bundled vs dev |
| 03 | 配置体系与企业 MDM | 7 维度配置合并、remoteManaged、settingsSync、policyLimits |
| 04 | 配置迁移即代码 | migrations/ 11 文件、模型重命名、replBridge→remoteControl 全演化史 |
| # | 文章 | 你会学到 |
|---|---|---|
| 05 | QueryEngine 与对话主循环 | 门面 QueryEngine + 内核 query + 4 子模块 |
| 06 | System Prompt 与 Output Style 注入 | 分段构建、缓存边界、Output Style 注入 |
| 07 | 上下文压缩家族 | autoCompact / microCompact / sessionMemoryCompact 六条压缩链路 |
| 08 | Prompt Cache 横切 | CacheSafeParams、Dynamic Boundary、跨模块横切 |
| 09 | Thinking、Effort 与 Advisor | ThinkingConfig、Effort 级别、ultrathink、Advisor |
| # | 文章 | 你会学到 |
|---|---|---|
| 10 | 工具协议、注册与 ToolSearch | Tool 接口、buildTool() builder、family / runtime leaf / feature-gated 三列模型 |
| 11 | BashTool / PowerShellTool 双 shell | 四层安全防线、沙箱执行、Windows 路径对照 |
| 12 | 文件、代码与 LSP 协作族 | FileRead/Write/Edit、NotebookEdit、Glob、Grep、LSPTool、REPLTool |
| 13 | 通信、调度、问询与合成工具 | WebFetch / ScheduleCron / SendMessage / AskUserQuestion 等十件工具 |
| # | 文章 | 你会学到 |
|---|---|---|
| 14 | Agent 系统与 Sub-Agent 调用 | AgentDefinition、runAgent、AgentSummary、context 隔离 |
| 15 | 内置 Agent 设计模式 | 6 个内置 Agent 的 Prompt 设计、源码定义 vs 运行时 |
| 16 | 任务模型与 TaskType 谱系 | 7 wire TaskType = 4 默认 + 2 feature-gated + 1 特例 |
| 17 | Coordinator、Cron 与定时调度 | 多 Agent 编排层 + 定时触发 |
| # | 文章 | 你会学到 |
|---|---|---|
| 18 | MCP 协议实现 | services/mcp/ 23 文件、SdkControlTransport、channelAllowlist |
| 19 | 权限系统与远程权限回灌 | 规则链、AI Classifier、bridgePermissionCallbacks |
| 20 | Hooks 系统 | 27 个 HOOK_EVENTS、4 种 hook command 类型、stopHooks、notifs |
| 21 | Skill / Plugin / Output Style 三扩展点 | 自定义 Agent/Skill、Plugin 架构、Output Style 作为扩展路径 |
| 22 | Feature Flag 与编译期优化 | feature() DCE、GrowthBook、同一份代码构建两个产品 |
| # | 文章 | 你会学到 |
|---|---|---|
| 23 | 客户端传输与 API 重试 | withRetry、过载处理、HybridTransport / SSE / WebSocket |
| 24 | Bridge IPC 与远程会话 | 手机/Web/Desktop 控制本地 CLI 全链路 |
| 25 | DirectConnect 与上游代理 | server/、upstreamproxy/、企业代理拓扑 |
| # | 文章 | 你会学到 |
|---|---|---|
| 26 | Ink 框架深度定制 | 自定义 React Reconciler、Yoga 布局、native-ts 加速 |
| 27 | 组件与设计系统 | ThemedText、主题系统、工具 UI 协议 |
| 28 | Keybindings、Vim 模式与 Voice 输入 | 「这一下按键意味着什么」的三种解释 |
| 29 | Buddy 宠物 | 在 PromptInput 边上养一只随机生成的小动物 |
| 30 | Doctor 屏与 Output Style 体验 | 自检仪表 + 换装系统 |
| # | 文章 | 你会学到 |
|---|---|---|
| 31 | Memory 子系统全景 | 会话级 / 项目级 / 团队级 / 长期四维度 |
| 32 | 命令系统全景 | 101 个一级条目、内建/Skill/Plugin/Workflow |
| 33 | 状态管理与跨进程桥 | 35 行极简 Store、AppState、bridgePointer 跨进程 |
| 34 | 架构模式总结 | 可迁移到你自己项目的设计模式合集 |
| 编号 | 内容 |
|---|---|
| 附录 A | 工具速查表(family / runtime leaf / feature-gated 三列) |
| 附录 B | Commands 速查表(一级目录 / 一级文件 / runtime 命令) |
| 附录 C | Hooks 事件表(HOOK_EVENTS 27 + hook command 4 类) |
| 附录 D | 内置 Agent 速查表(源码定义 vs 运行时可用) |
| 附录 E | TaskType 谱系(7 wire / 4 默认 / 2 feature-gated / 1 特例) |
| 附录 F | 模块 × 章节双向矩阵 + 孤儿目录 |
| 路线 | 章数 | 适合人群 |
|---|---|---|
| ⚡ 入门路线 | 7 章 | 想快速建立全局认知:1 → 2 → 33 → 5 → 10 → 14 → 34 |
| 🤖 AI 工程路线 | 9 章 | 想深入 AI 核心设计:1 → 33 → 6 → 5 → 7 → 9 → 10 → 14 → 15 |
| 🏢 远程与企业路线 | 5 章 | 想看 CLI 怎么在企业拓扑里活下来:3 → 4 → 23 → 24 → 25 |
| 📚 完整路线 | 34 章 | 按顺序通读,获得最完整的理解 |
如果这个项目对你有帮助,请给一颗 ⭐ 支持一下!
MIT