来源与授权
本文来自 Claude-Code-Source-Study 原文,固定导入版本为 31b6e07a82d4。Copyright (c) 2026 Yao,依据 MIT License 提供。
本站仅按“github-public-noncommercial-2026-07-11”用于匿名、免费、非商业学习,并调整章节编排、站内链接、重复标题与阅读标记;不代表原作者对本站的合作、认证或背书。如权利方要求删除,我们会立即下架;授权或删除请求请通过本站首页底部公开联系方式联系。
从一份真实的 AI 产品源码中,学会构建 AI Agent 应用的全栈技术
关于本书
本书是基于 Anthropic Claude Code 完整源码的深度技术分析。Claude Code 是一个 AI 驱动的命令行编程助手,源码涵盖了 System Prompt 工程、多 Agent 编排、工具系统、终端 UI、Bridge IPC、远程会话、企业代理等完整技术栈。
我们将以「源码阅读」的方式逐模块解析这个真实的生产级 AI 产品,整书以运行期生命周期为主线——进入软件之前 → 一次回合的内核 → 工具家族 → Agent/任务/协调 → 协议安全与扩展 → 网络与远程 → 终端 UI 与多模态输入 → 记忆/扩展/总结——从中提炼出可迁移到你自己项目的设计模式与工程实践。
📝 想了解本书的修订历程,见根目录下的 修订说明。
目标读者
- 有 1–3 年经验的程序员,了解 TypeScript
- 对 AI 应用开发感兴趣,想从真实产品中学习
- 希望理解大型 AI CLI 产品的架构设计
关于深度匹配:本书部分章节会触达 Bun bundler、Dead Code Elimination、GrowthBook feature flag、Prompt Cache 字节对齐这类更进阶的话题。如果你对其中某个主题不熟悉,可以先跳过该节,主线不会受影响;想深挖时再回来——每个进阶话题都会自带一句话上下文,不要求你提前掌握。
阅读约定
- 正文使用中文,技术术语保留英文原文(如 Agent、Tool、System Prompt)
- 代码引用格式:
文件路径:行号范围 - 每章可独立阅读,但建议按顺序——章节顺序就是一次会话从启动到产出的链路本身
目录
第一篇 · 进入软件之前
| 序号 | 标题 | 核心主题 |
|---|---|---|
| 01 | 项目全景与四种入口形态 | 同一份源码 = CLI + SDK + MCP server + Sandbox runner |
| 02 | 启动链路与冷启动优化 | 侧效果前置、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 / apiMicrocompact / sessionMemoryCompact 六条压缩链路 |
| 08 | Prompt Cache 横切 | CacheSafeParams、Dynamic Boundary、跨模块横切 |
| 09 | Thinking、Effort 与 Advisor | ThinkingConfig、Effort、ultrathink、Advisor |
第三篇 · 工具家族
| 序号 | 标题 | 核心主题 |
|---|---|---|
| 10 | 工具协议、注册与 ToolSearch | Tool 接口、buildTool、family / runtime leaf / feature-gated 三列模型 |
| 11 | BashTool / PowerShellTool 双 shell | 安全分析、沙箱、输出处理,Windows 路径对照 |
| 12 | 文件、代码与 LSP 协作族 | FileRead/Write/Edit、NotebookEdit、Glob、Grep、LSPTool、REPLTool |
| 13 | 通信、调度、问询与合成工具 | WebFetch / WebSearch / ScheduleCron / SendMessage / AskUserQuestion 十件 |
第四篇 · Agent、任务与协调
| 序号 | 标题 | 核心主题 |
|---|---|---|
| 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、fallback、HybridTransport / SSE / WebSocket |
| 24 | Bridge IPC 与远程会话 | 手机/Web/Desktop 控制本地 CLI 全链路 |
| 25 | DirectConnect 与上游代理 | server/、upstreamproxy/、企业代理拓扑 |
第七篇 · 终端 UI 与多模态输入
| 序号 | 标题 | 核心主题 |
|---|---|---|
| 26 | Ink 框架深度定制 | reconciler、Yoga 布局、ANSI、native-ts |
| 27 | 组件与设计系统 | ThemedText、主题系统、工具 UI |
| 28 | Keybindings、Vim 模式与 Voice 输入 | 「这一下按键意味着什么」的三种解释 |
| 29 | Buddy 宠物 | 在 PromptInput 边上养一只随机生成的小动物 |
| 30 | Doctor 屏与 Output Style 体验 | 自检仪表 + 换装系统 |
第八篇 · 记忆、扩展与总结
| 序号 | 标题 | 核心主题 |
|---|---|---|
| 31 | Memory 子系统全景 | 会话级 / 项目级 / 团队级 / 长期四维度 |
| 32 | 命令系统全景 | 101 个一级条目、内建/Skill/Plugin/Workflow |
| 33 | 状态管理与跨进程桥 | 极简 Store、AppState、bridgePointer |
| 34 | 架构模式总结 | 可复用模式:Bridge IPC、Coordinator-Agent、Migration-as-Code、Output-Style-as-Plugin 等 |
附录
| 编号 | 内容 |
|---|---|
| 附录 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,从全景到启动到状态,再沿 query → tools → agent → 总结的主干建立全局认知。
- AI 工程路线(9 章):第 1 → 33 → 6 → 5 → 7 → 9 → 10 → 14 → 15,先建立运行上下文,再深入 prompt / query / compact / thinking / agent 的 AI 核心设计(第 8 章 Prompt Cache 是横切主题,贯穿 6/5/7 章的缓存策略,建议在读完主干后再看)。
- 远程与企业路线(5 章):第 3 → 4 → 23 → 24 → 25,从配置合并、迁移代码到客户端传输、Bridge IPC、DirectConnect/上游代理,看一个 CLI 如何在企业拓扑里活下来。
- 完整路线(34 章):按顺序阅读,获得最完整的理解。
授权与许可
本专题内容来自 Claude-Code-Source-Study,导入版本为 31b6e07a82d4。
MIT License
Copyright (c) 2026 Yao
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.