基于 2026-03-31 源码快照的 22 章完整学习手册
从架构设计到 Prompt 工程,深入理解 AI Agent 框架的核心实现
Claude Code 不是简单的 AI 聊天客户端,而是一个产品级 AI Agent 框架
终端 CLI (React + 自定义 Ink 渲染器) / IDE Bridge (VS Code + JetBrains) / SDK & Server 模式。140+ React 组件实现终端 UI。
整个系统的大脑。管理多轮对话生命周期,构建上下文,协调 API 调用与 Tool 调度,支持 Auto-Compact 上下文压缩。
40+ 内置工具:Bash、FileRead/Write/Edit、Grep、Glob、Agent、WebFetch、MCP 等。统一接口定义,Zod 校验输入输出。
Prompt 层 → 规则引擎 → 工具级检查 → 路径保护 → 命令黑名单 → AST 分析 → AI 分类器 → 容器沙箱 → 拒绝追踪 → 企业策略。
6 种 Agent 类型 + Coordinator 模式。支持 Agent Swarms、Git Worktree 隔离、SendMessage 协议通信。
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
现代 TypeScript 全栈 + 编译时特性开关
22 章由浅入深,建议按序阅读 · 点击展开章节详情
Claude Code 是 Anthropic 开发的 CLI 工具,让用户在终端中与 Claude AI 交互完成软件工程任务。本章介绍项目定位、源码来源、目录结构和核心模块关系。
Bun 运行时 + TypeScript strict + React/Ink 终端渲染。Feature Flags 编译时开关实现死代码消除。四层架构:界面层 → 引擎层 → Tool 层 → 服务层。
从命令行输入 claude 到 UI 渲染的完整过程,包括快速路径分发、全局初始化(配置/TLS/预连接)和 React 组件挂载。
核心机制:Tool 接口定义(15 个字段)、统一注册表、Zod 输入校验、权限检查 → 执行流水线。40+ 工具的分类与设计模式。
100+ 斜杠命令的定义、加载机制和三种类型(内置/AI/配置)。包括 /commit、/compact、/review 等核心命令实现。
外部集成服务:Anthropic API 客户端、MCP 协议、OAuth 2.0 认证、LSP 语言服务、Analytics 追踪、上下文压缩服务。
React 如何渲染到终端:自定义 Ink 渲染器、ANSI Escape 绘制、Yoga 布局引擎、组件化终端 UI 架构。
6 种 Agent 类型 + Coordinator 模式。SubAgent 生成、Git Worktree 隔离、SendMessage 通信协议、Agent Swarms 设计。
6 大 Prompt 子系统导航:System/Tool/Agent/Memory/Safety/Caching。核心架构图和 Prompt 数据流全景。
20+ Section 模块化组装 + 静态/动态分界 + 条件注入逻辑 + 优先级系统(override > coordinator > agent > custom > default)。
三级缓存策略(global/org/ephemeral)+ Auto-Compact 机制 + 静态/动态分界 + 锁存(Latch)模式。
10 层纵深防御安全架构:Prompt 指令 → 规则引擎 → AI 分类器 → 沙箱容器 → bypass-immune 不可绕过检查。
6 层 Memory 系统(Managed → TeamMem)+ 27 种 Hook 事件 + CLAUDE.md 注入机制 + Hook 双向通信。
贯穿 Claude Code 整个 Prompt 体系的关键设计思想
System Prompt 是 string[] 而非单字符串,支持分段缓存和灵活组装
SYSTEM_PROMPT_DYNAMIC_BOUNDARY 将可全局缓存的内容与动态内容分离
从路径规范化到 Agent 列表外移,处处考虑缓存命中率优化
Prompt + 规则 + 工具 + 路径 + 命令 + AST + AI 分类器 + 沙箱 + 追踪 + 企业策略
Coordinator 必须理解 worker 结果后再下达指令,禁止懒惰委派
<analysis> 让模型先思考再输出,后处理删除中间推理过程
非缓存 section 刻意用危险前缀命名,制造代码审查摩擦
System Prompt(数组) + System Context(KV追加) + User Context(首条消息)
即使 bypass 权限也有不可绕过的安全检查