Claude Code 源码深度解析

基于 2026-03-31 源码快照的 22 章完整学习手册
从架构设计到 Prompt 工程,深入理解 AI Agent 框架的核心实现

22
学习章节
512K+
源码行数
40+
Tool 工具
1,900
源文件数

🏗️ 架构全景

Claude Code 不是简单的 AI 聊天客户端,而是一个产品级 AI Agent 框架

🖥️

用户界面层

终端 CLI (React + 自定义 Ink 渲染器) / IDE Bridge (VS Code + JetBrains) / SDK & Server 模式。140+ React 组件实现终端 UI。

🧠

会话引擎 QueryEngine

整个系统的大脑。管理多轮对话生命周期,构建上下文,协调 API 调用与 Tool 调度,支持 Auto-Compact 上下文压缩。

🔧

Tool 系统

40+ 内置工具:Bash、FileRead/Write/Edit、Grep、Glob、Agent、WebFetch、MCP 等。统一接口定义,Zod 校验输入输出。

🛡️

10 层安全纵深

Prompt 层 → 规则引擎 → 工具级检查 → 路径保护 → 命令黑名单 → AST 分析 → AI 分类器 → 容器沙箱 → 拒绝追踪 → 企业策略。

🤖

多 Agent 协调器

6 种 Agent 类型 + Coordinator 模式。支持 Agent Swarms、Git Worktree 隔离、SendMessage 协议通信。

📝

Prompt 工程体系

6 大子系统:System/Tool/Agent/Memory/Safety/Caching。20+ Section 模块化组装,三级缓存策略,12 种设计模式。

用户输入 ──→  entrypoints/cli.tsx (快速路径分发)
                    │
                    ▼
             entrypoints/init.ts (全局初始化: 配置/TLS/预连接)
                    │
                    ▼
               main.tsx (Commander.js CLI 入口)
                    │
                    ▼
            QueryEngine.ts (会话生命周期管理)
                    │
       ┌────────────┼────────────────┐
       ▼            ▼                ▼
  context.ts    query.ts        commands.ts
  (系统提示)    (单轮执行)       (斜杠命令)
                    │
          ┌─────────┼─────────┐
          ▼                   ▼
    Anthropic API        Tool 调度
    (流式响应)          (权限检查 → call())
                              │
              ┌───────────────┼───────────────┐
              ▼               ▼               ▼
          BashTool      FileEditTool     AgentTool
          GrepTool      WebFetchTool     MCPTool
          GlobTool      FileReadTool     SendMessage
    
20+
System Prompt Sections
40
内置 Tools
6+1
Agent 类型
6 层
Memory 层级
27
Hook 事件
10 层
安全纵深防御
3 级
Cache 作用域
100+
斜杠命令

⚡ 技术栈

现代 TypeScript 全栈 + 编译时特性开关

🥟
Bun
运行时
📘
TypeScript
严格模式
⚛️
React + Ink
终端 UI
🎯
Commander.js
CLI 框架
Zod v4
运行时校验
🤖
Claude API
AI 引擎
🔌
MCP
工具协议
🧩
LSP
语言服务
🔐
OAuth + JWT
认证体系
🏗️
Feature Flags
编译时开关

📖 学习路线

22 章由浅入深,建议按序阅读 · 点击展开章节详情

Part 1 核心架构 (01-12)
00 导读 — 阅读指南与术语表 导读

全手册的阅读顺序说明、核心文件速查表和术语表。建议先读此文了解整体框架。

阅读顺序文件速查术语表
📄 阅读完整章节 →
01 项目概览 — Claude Code 是什么 入门

Claude Code 是 Anthropic 开发的 CLI 工具,让用户在终端中与 Claude AI 交互完成软件工程任务。本章介绍项目定位、源码来源、目录结构和核心模块关系。

项目定位目录结构模块关系数字概览
📄 阅读完整章节 →
02 技术栈与架构总览 入门

Bun 运行时 + TypeScript strict + React/Ink 终端渲染。Feature Flags 编译时开关实现死代码消除。四层架构:界面层 → 引擎层 → Tool 层 → 服务层。

BunTypeScriptFeature Flags四层架构
📄 阅读完整章节 →
03 启动流程 基础

从命令行输入 claude 到 UI 渲染的完整过程,包括快速路径分发、全局初始化(配置/TLS/预连接)和 React 组件挂载。

cli.tsx 入口init.ts 初始化快速路径组件挂载
📄 阅读完整章节 →
04 Tool 系统 核心

核心机制:Tool 接口定义(15 个字段)、统一注册表、Zod 输入校验、权限检查 → 执行流水线。40+ 工具的分类与设计模式。

Tool 接口注册与发现Zod 校验调度流水线
📄 阅读完整章节 →
05 权限系统 核心

安全核心:四种权限模式(default/plan/auto/bypass)、规则匹配算法、路径保护、命令黑名单 + AST 分析。

权限模式规则匹配路径保护安全检查
📄 阅读完整章节 →
06 Query 引擎与对话循环 核心

LLM 交互核心:消息构建、API 流式调用、Tool 结果合并、Auto-Compact 上下文管理、多轮对话状态机。

消息构建流式 APIAuto-Compact对话状态机
📄 阅读完整章节 →
07 命令系统 进阶

100+ 斜杠命令的定义、加载机制和三种类型(内置/AI/配置)。包括 /commit、/compact、/review 等核心命令实现。

三种命令类型动态加载命令注册表自定义命令
📄 阅读完整章节 →
08 服务层 进阶

外部集成服务:Anthropic API 客户端、MCP 协议、OAuth 2.0 认证、LSP 语言服务、Analytics 追踪、上下文压缩服务。

API 客户端MCPOAuthLSP
📄 阅读完整章节 →
09 UI 渲染系统 进阶

React 如何渲染到终端:自定义 Ink 渲染器、ANSI Escape 绘制、Yoga 布局引擎、组件化终端 UI 架构。

Ink 渲染器ANSI 绘制Yoga 布局组件架构
📄 阅读完整章节 →
10 多 Agent 与协调器 高级

6 种 Agent 类型 + Coordinator 模式。SubAgent 生成、Git Worktree 隔离、SendMessage 通信协议、Agent Swarms 设计。

Agent 类型CoordinatorWorktreeAgent Swarms
📄 阅读完整章节 →
11 配置与内存系统 高级

设置层级体系、CLAUDE.md 配置文件机制、持久化记忆目录、Zod Schema 校验配置。

设置层级CLAUDE.md持久化记忆Schema 校验
📄 阅读完整章节 →
12 关键设计模式 总结

贯穿项目的设计思想总结:依赖注入、策略模式、观察者模式、Builder 模式、Feature Flag 编译时消除等。

设计思想架构模式最佳实践经验总结
📄 阅读完整章节 →
Part 2 Prompt 体系深度分析 (13-21)
13 Prompt 体系总览 导读

6 大 Prompt 子系统导航:System/Tool/Agent/Memory/Safety/Caching。核心架构图和 Prompt 数据流全景。

6 大子系统数据流全景4 种运行模式8 大设计原则
📄 阅读完整章节 →
14 System Prompt 架构 核心

20+ Section 模块化组装 + 静态/动态分界 + 条件注入逻辑 + 优先级系统(override > coordinator > agent > custom > default)。

Section 数组条件注入优先级系统KAIROS 模式
📄 阅读完整章节 →
15 Agent 与 SubAgent Prompt 核心

6+1 种 Agent 类型的 Prompt 差异分析、工具权限矩阵、Fork Cache 优化策略。

Agent 类型权限矩阵Fork Cache永不委派原则
📄 阅读完整章节 →
16 Prompt Caching 与 Context 管理 高级

三级缓存策略(global/org/ephemeral)+ Auto-Compact 机制 + 静态/动态分界 + 锁存(Latch)模式。

三级缓存Auto-Compact静态/动态分界Latch 模式
📄 阅读完整章节 →
17 权限系统与 Safety Prompt 高级

10 层纵深防御安全架构:Prompt 指令 → 规则引擎 → AI 分类器 → 沙箱容器 → bypass-immune 不可绕过检查。

纵深防御AI 分类器bypass-immuneCYBER_RISK
📄 阅读完整章节 →
18 Memory 与 Hooks 系统 高级

6 层 Memory 系统(Managed → TeamMem)+ 27 种 Hook 事件 + CLAUDE.md 注入机制 + Hook 双向通信。

6 层 Memory27 种 HookCLAUDE.md双向通信
📄 阅读完整章节 →
19 Prompt 工程技巧与设计模式 精华

12 个值得学习的 Prompt 设计模式:Scratchpad CoT、缓存感知设计、工具引导路由、反面案例教学等。

Scratchpad CoT缓存感知工具路由反面案例
📄 阅读完整章节 →
20 Tool 系统 Prompt 详解 核心

40 个工具的完整 Prompt 逐一分析,工具引导路由网络、延迟加载策略、MCP 工具动态注入。

40 工具分析路由网络延迟加载MCP 注入
📄 阅读完整章节 →
21 用户输入处理与消息格式化 进阶

输入到 API 的完整链路:5 种消息类型、Skill 系统、消息格式化管道、上下文注入点。

5 种消息类型Skill 系统格式化管道上下文注入
📄 阅读完整章节 →

🧩 8 大核心设计原则

贯穿 Claude Code 整个 Prompt 体系的关键设计思想

原则 01

模块化数组架构

System Prompt 是 string[] 而非单字符串,支持分段缓存和灵活组装

原则 02

静态/动态分界

SYSTEM_PROMPT_DYNAMIC_BOUNDARY 将可全局缓存的内容与动态内容分离

原则 03

缓存感知设计

从路径规范化到 Agent 列表外移,处处考虑缓存命中率优化

原则 04

10 层纵深防御

Prompt + 规则 + 工具 + 路径 + 命令 + AST + AI 分类器 + 沙箱 + 追踪 + 企业策略

原则 05

永不委派理解

Coordinator 必须理解 worker 结果后再下达指令,禁止懒惰委派

原则 06

Scratchpad CoT

<analysis> 让模型先思考再输出,后处理删除中间推理过程

原则 07

DANGEROUS_ 命名约定

非缓存 section 刻意用危险前缀命名,制造代码审查摩擦

原则 08

三层注入架构

System Prompt(数组) + System Context(KV追加) + User Context(首条消息)

🛡️ 10 层安全纵深防御

即使 bypass 权限也有不可绕过的安全检查

1 Prompt 指令层 — System Prompt 中的安全规则与行为约束
2 规则引擎层 — 权限规则匹配 (allow/deny/ask)
3 工具级检查层 — 每个 Tool 的 isEnabled/needsPermissions
4 路径保护层 — 关键文件写保护 (.env, .git/)
5 命令黑名单层 — 危险命令模式匹配 (curl|sh, rm -rf)
6 AST 分析层 — 命令解析树深度审查
7 AI 分类器层 — 机器学习模型判断风险等级
8 容器沙箱层 — Docker/Podman 隔离执行
9 拒绝追踪层 — 记录所有被拒绝的操作
10 企业策略层 — 组织级安全策略覆盖