深度拆解 Claude Code:五层架构如何驱动 AI 自主编程

·

第一章:不是代码补全,是自主编程智能体 #

打开终端,输入一条指令,然后看着Claude Code自己读文件、搜代码、改逻辑、跑测试——整个过程你连编辑器都不用碰。

这跟Copilot的"你打字、我补全"完全不是一回事。Claude Code是一个能自主规划、执行、验证完整开发工作流的AI智能体。

有意思的是,这个估值10亿美元的产品编译出来只有9MB。技术栈也简单:Bun做编译,CommanderJS搭CLI结构,React Ink渲染终端界面。

创始人Boris Cherny在Meta做了5年首席工程师,Claude Code几乎是他一个人鼓捣出来的。设计原则只有一句话:“先做简单的事情。“没有向量数据库,没有RAG,没有代码库索引。需要什么文件,就读什么文件。

Boris现在100%的代码由AI生成。他认为工程师正在从"代码生产者"转变为"智能体系统设计者”。

一个9MB的文件,凭什么碾压一众AI编程工具?答案藏在五层架构里。

第二章:五层架构:9MB代码里的精密设计 #

逆向工程团队对Claude Code做了深度拆解,发现了精密的五层系统架构。

最外层是用户交互层。不管CLI终端、VSCode还是Web界面,指令都统一编码成标准格式。三种界面,一套调度。第二层是Agent核心调度层,nO主循环引擎负责判断这是新任务还是旧话题、该调哪些工具、该保留还是压缩历史。第三层是工具执行与管理层,MH1工具引擎、UH1并发调度器、权限网关协同工作。第四层是18类专业工具,工具定义约11,438个token。最底层是存储与持久化层,本地文件加压缩算法加状态缓存。

逆向分析师总结得精准:“Claude Code的完整架构是本地分布式Agent操作系统。它真正的突破不在于调了几个工具,而在于让Agent之间的协作变成了实时的、稳态的、动态可控的过程。”

第三章:双引擎调度:大模型只是"工具人” #

核心调度层有个反直觉的设计:大模型不参与调度决策。

h2A异步消息队列与nO主循环构成双引擎。三大组件协作:h2A消息队列异步分发指令,先给用户流式反馈;wu会话流生成器实时拼接token;wU2压缩引擎动态瘦身上下文。

大模型只是被调度引擎点名后出场回答问题。真正的指挥棒始终握在运行时逻辑手中。

这个设计带来了实时Steering机制。传统Agent是同步模式,Claude Code通过异步队列实现"边执行边调整"。按Esc输入修正,Claude能即时调整策略,无需重启。

主循环是一个while循环:调用模型→检查是否有工具调用→执行工具、喂回结果→再次调用→纯文本则终止。典型任务经历5到50次迭代,每次经历收集上下文、采取行动、验证结果三个阶段。

第四章:工具系统:18把手术刀的精准操控 #

18种工具按六大类分工。文件操作有Read、Write、Edit。Read默认2,000行,支持图片和PDF。Edit做外科手术式字符串替换。搜索类有Glob和Grep,底层是ripgrep引擎。执行类有Bash工具,带风险分类和注入过滤。

系统提示有明确的工具路由规则:用Read而不是cat,用Grep而不是grep。专用工具总是优先于Bash等效工具,因为能给用户更好的可见性。

Bash工具的定义堪称提示工程杰作,包含8个使用示例、安全协议、Git提交规范、PR创建工作流,单个定义数千token。

运行claude命令时,系统在显示提示符前执行10步启动序列:加载管理策略→读取用户设置→加载项目设置→沿目录树寻找CLAUDE.md→加载规则→注入MEMORY.md→发现Skills→连接MCP→注入Git状态→组装系统提示。

第五章:三层记忆与智能压缩:如何记住一切 #

记忆系统分三层。短期记忆是当前对话历史,毫秒级读写。中期记忆是压缩后的结构化摘要,wU2压缩器把冗余细节蒸馏成精华,体积减半、要点不丢。长期记忆是CLAUDE.md和MEMORY.md,换项目、重启机器也不丢。

新会话初始开销约8,700个token,占200K上下文的4.5%,剩余约191,000个token供对话。

上下文使用率达92%到95%时触发三级压缩策略。第一级从深处删除原始工具输出。第二级将历史传给模型做摘要,保留架构决策和实现细节,压缩率60%到80%。第三级是用户手动compact命令。CLAUDE.md在压缩后从磁盘重新阅读,保证规则不丢失。

前缀缓存机制实现了92%的重用率,一个消耗200万token的任务只需1.15美元而非6美元。

第六章:六层安全防线:就算被攻陷也什么都干不了 #

安全架构有六层纵深防御。

权限系统的核心是三级过滤器:deny永远优先于ask,ask优先于allow。系统按顺序评估拒绝、询问、允许规则,首次匹配获胜,默认故障安全。四种权限模式覆盖不同场景。

沙箱隔离实现命令沙箱加时间沙箱双重保护。并发安全通过UH1调度器限制10工具并发。LLM安全检测用模型本身分析命令安全性。审计记录把工具执行履历实时落盘。

设计理念一句话概括:“就算Agent被prompt injection攻陷,也要让它什么都干不了。”

Hook系统提供额外保障。PreToolUse钩子可在工具执行前拦截,Stop钩子可强制Claude继续——比如跑完测试才允许结束。

第七章:子代理、MCP与Hook:可组合的扩展架构 #

子代理是Claude Code最精妙的设计。

深度探索代码库时,主代理孵化一个Explore子代理——Haiku模型,只读权限,独立上下文窗口。子代理可能读取50个文件、消耗10万token,但只向主代理返回约1,500token的摘要。关键约束是子代理不能再生成子代理,最大深度1级。

Boris把这称为"智能体拓扑学"——未来在于多个拥有新鲜上下文的代理并行工作,不是一个拥有被污染记忆的巨型代理。

MCP让Claude Code连接外部系统,支持stdio和HTTP两种传输。Skills延迟加载,启动时只预加载名称和描述约100token。Hook有12种以上事件类型,Agent类型Hook能生成子代理验证条件,最多50次工具轮次。

第八章:模型之外没有秘密武器 #

9MB的文件,凭什么?

Boris Cherny在Hacker News上亲自回答了这个问题。早期版本确实用过RAG加向量数据库,但团队发现迭代式搜索性能远超RAG。一位Claude工程师确认:“智能体搜索的表现远远超出了RAG,这令人惊讶。”

Amazon在2026年2月的论文验证了这个发现——关键词搜索通过智能体工具使用达到RAG 90%以上的性能。对于代码场景,精确匹配天然优于语义检索。

Cursor是AI原生IDE,追求流畅度。Copilot是编辑器插件,专注低延迟补全。Claude Code是终端优先的自主智能体,强在架构理解和跨文件重构。社区共识:Cursor做日常开发,Claude Code做架构和大型重构。

性能权衡有个精妙类比:Cursor的"快"像解释型语言——低前置成本、高维护成本。Claude Code的"慢"像编译型语言——高前置成本、低维护成本。复杂任务面前,后者的优势越来越明显。

Claude Code的故事告诉我们:AI编程的核心竞争力不在模型本身,而在于围绕模型构建的运行时系统。“简单的单线程主循环结合严谨的工具集,交付了可控的自主性。“理解了这套系统的工作原理,才能真正驾驭AI编程,而不是被AI编程驾驭。