Claude Code 源码解析主题
主题定义
Claude Code 源码解析涵盖 2026 年上半年社区对 Anthropic 官方 AI 编程助手 Claude Code 的源码级深度分析。这些文章从不同角度拆解了 Claude Code 的 TypeScript 实现,揭示了其作为 Harness Engineering 集大成者的工程设计哲学——从 System Prompt 动态组装、CLAUDE.md 四级注入、三层渐进式上下文压缩,到 Hooks 机制、工具调度系统和多 Agent 扩展层,构成了一个完整的 AI Coding Agent 工程体系。
核心要点
-
三层架构分离关注点:Claude Code 的核心架构从内到外分为 Prompt 层(解决”如何让模型理解角色”)、Context 层(解决”如何在有限窗口内保留关键信息”)、Harness 层(解决”如何让 Agent 在生产环境中稳定运行”)。这三层分别对应 Prompt Engineering、Context Engineering 和 Harness Engineering 三次范式进化,仅靠 Prompt Engineering 只能达到约 70 分,Context Engineering 提升到 80-85 分,Harness Engineering 将其带到 90-95 分
-
System Prompt 动态组装而非静态文本:System Prompt 由
QueryEngine.ts的ask()函数入口触发,通过fetchSystemPromptParts()并行获取 defaultSystemPrompt、systemContext(Git 状态信息)、userContext(CLAUDE.md 内容 + 当前日期),再按优先级决策(overrideSystemPrompt > Coordinator > Agent > customSystemPrompt > defaultSystemPrompt)组装最终 Prompt,最后通过splitSysPromptPrefix()拆分为适合 KV Cache 前缀的分块 -
CLAUDE.md 四级注入成为行业标准:个人通用偏好(
~/.claude/CLAUDE.md)、项目共享规范(项目根目录/CLAUDE.md)、个人私有指令(项目根目录/CLAUDE.local.md)、文件类型特定规则(.claude/rules/*.md)四级文件注入机制,后来被 OpenClaw、Cursor 等竞品广泛借鉴,成为 AI Coding Agent 领域的事实标准 -
三层渐进式上下文压缩体系解决长任务失忆:MicroCompact(规则驱动微压缩,不调用 LLM,仅压缩 Bash/Read/Grep/Glob 的大型输出)、Session Memory Compact(利用之前生成的会话记忆替换冗长原始历史,无额外 LLM 调用)、Full LLM Compact(通过 LLM 生成结构化 9 段摘要,隐式 CoT 优化,
NO_TOOLS_PREAMBLE禁止压缩期间调用工具),AutoCompact 触发机制设置 13,000 token 安全缓冲水位线 -
Hooks 机制将确定性行为从 LLM 记忆迁移到工程流程:Hooks 在每次工具调用前后确定性地执行,用于注入规范、验证输出、触发自动化流程,不依赖模型判断。这是 Harness Engineering 的核心实践——把确定性的工作交给脚本和 lint,让 AI 只做理解和决策
-
长任务执行的六大核心机制:任务编排元数据文件化(将计划、进度、决策写入文件系统而非依赖脆弱的对话上下文)、TODO 驱动开发(将 TODO 直接插入代码文件)、接力赛式子代理调度(避免并行处理导致的文件冲突)、三步循环(生成任务 → 生成计划 → 实现代码,成功率从 50% 提升到 95%+)、消费约 9 亿 token 的长时连续操作能力、结构化 Memdir 记忆系统
-
四层工程模型有助于组件选型:记忆层提供项目事实,扩展层放 commands、Skills、Subagents、Hooks,集成层用 headless 与 MCP 接到外部系统,编程层由 SDK 构造工作流;需要确定性拦截的高风险工具操作必须放到 Hook,而不是寄望 Skill 或 prompt 自觉遵守。
-
Skill 的“按需加载”可追到具体运行链路:标准目录是
<skill-name>/SKILL.md,多个来源合并后先以描述形成可发现索引,调用期才展开正文、参数和 supporting files;MCP 来源不运行内嵌 shell,说明扩展机制同时承担上下文管理与安全隔离。 -
51.2 万行源码揭示的工程规模:Claude Code 泄露的约 51.2 万行 TypeScript 代码展现了其作为工业级 AI 编程系统的完整度——从
QueryEngine.ts主入口到services/compact/三层压缩、services/tools/工具注册与执行、constants/prompts.tsSystem Prompt 构建、utils/systemPrompt.ts优先级决策、context.tsGit 状态 + CLAUDE.md 加载、memdir/结构化记忆系统,每一个模块都经过精心设计 -
Claude Code 的优势也可能来自训练与产品飞轮:除了源码中的 Harness,Claude 代码能力还可以从训练侧理解:代码任务有可验证奖励,Constitutional AI 给安全和可读性加辅助约束,Claude 产品端的复制、修改、追问、重生成等行为形成高质量偏好反馈。这个视角不能替代源码分析,但能解释为什么工具外壳与模型能力会相互强化。
-
Claude Code 生态正在形成外围工程层:oh-my-claudecode 把 Claude Code 会话扩展成 Team、skills、HUD、通知、tmux workers 和多模型 advisor 的工作流发行版;oh-my-pi 则从独立 coding agent 方向验证 LSP/DAP、Hashline、subagent、advisor、collab 和 filesystem-shaped internal schemes 的工具协议化路线。
涉及实体
- Claude-Code —— 被深度解析的 AI 编程助手主体
- Harness-Engineering —— Claude Code 是 Harness Engineering 理念最完整的工程实现
- Anthropic —— Claude Code 的开发方,也提供 Constitutional AI、模型卡和产品反馈飞轮的训练侧线索
- oh-my-claudecode —— Claude Code 外围编排与技能扩展层
- oh-my-pi —— 与 Claude Code 同类的开放式终端 AI Coding Agent 对照样本
对比矩阵
| 维度 | Prompt 层 | Context 层 | Harness 层 |
|---|---|---|---|
| 解决问题 | 如何让模型理解角色 | 如何在有限窗口内保留关键信息 | 如何让 Agent 稳定运行 |
| 典型产物 | System Prompt 动态组装 | 三层渐进式压缩 | Hooks + CLAUDE.md + 权限管道 |
| 得分上限 | ~70 分 | 80-85 分 | 90-95 分 |
| 工程复杂度 | 低 | 中 | 高 |
关键来源
- 逆向深扒Claude-Code源码我发现了什么 —— 源码级架构全景,揭示 Agent 循环、工具调度、System Prompt 动态组装等核心实现
- 深度解析Claude-Code在Prompt-Context-Harness的设计与实践 —— 三层架构分离关注点的详细拆解
- Claude-Code-长任务为什么不容易跑偏 —— 长任务执行可靠性的六大核心机制和从 50% 到 95% 的成功率演化路径
- Claude-Code-源码拆解-从启动到多Agent扩展层 —— 从启动流程到多 Agent 扩展层的架构设计
- Claude-Code-顶级开发团队设计的Harness工程项目源码什么样 —— 顶级开发团队的 Harness 工程源码组织方式
- Claude-Code源码泄露深度解析-51.2万行代码里藏着怎样的AI编程系统 —— 51.2 万行代码的系统性解析
- Claude-Code-源码架构解析-从启动Prompt到权限管道 —— 从启动 Prompt 到权限校验管道的完整链路
- 万字长文推演Claude的代码统治力从何而来 —— 从可验证奖励 RL、Constitutional AI、安全护栏、用户反馈飞轮和合成数据角度补充 Claude 代码能力来源推演
- oh-my-pi-GitHub —— 终端 coding agent 的 LSP/DAP、Hashline、subagent、advisor 和内部 scheme 工具体系
- oh-my-claudecode-GitHub —— Claude Code 插件/CLI 编排层,覆盖 Team、skills、tmux workers、HUD 和通知