Claude Code源码被扒光了:原来顶级AI Agent根本不是靠大模型
最近半年。
越来越多程序员开始产生一种相同的感受:
Claude Code,越来越像人了。
它不仅能写代码。
还能:
- 自动分析项目结构
- 自动执行命令
- 自动修复Bug
- 自动运行测试
- 自动验证结果
- 自动修改多个文件
甚至能够连续工作几十分钟。
很多开发者已经开始把它当成一个“初级工程师”使用。
但一个问题始终没人能回答:
Claude Code为什么这么强?
Anthropic从来没有公开过完整架构。
直到最近,一篇来自MBZUAI的研究论文《Dive into Claude Code》通过分析Claude Code公开源码,首次系统性拆解了Claude Code背后的Agent设计。
而研究结果让很多人意外:
Claude Code最核心的部分,竟然只是一个while循环。
真正厉害的,不是Claude模型。
而是围绕Claude模型构建的一整套Agent运行系统。
Claude Code最重要的部分,不是Claude
很多人理解AI Agent的方式其实很简单:
LLM
+
Tool
=
Agent给模型几个工具。
让模型自己调用。
Agent不就完成了吗?
但Claude Code告诉我们:
事情远没有这么简单。
论文作者统计发现:
Claude Code代码库中,真正负责AI决策的部分占比极小。
绝大部分代码都属于:
- 权限管理
- 上下文管理
- 工具调度
- 状态持久化
- 扩展系统
- 沙箱隔离
- 多Agent协作
换句话说:
Claude Model
只是大脑
Claude Code
才是身体而身体远比大脑复杂。
这也是很多开源Agent项目做不起来的重要原因。
他们关注的是:
prompt = xxx
response = llm(prompt)Anthropic关注的是:
如何让模型安全行动
如何长期记忆
如何管理上下文
如何协调多个Agent
如何恢复失败任务这完全不是一个维度的问题。
Claude Code核心架构:一个无限循环
论文发现。
Claude Code本质上是一个经典的Agent Loop。
核心逻辑可以简化成:
while True:
调用模型
获得行动计划
执行工具
获取结果
再次调用模型看起来非常简单。
事实上。
绝大多数Agent框架也是这么干的。
包括:
- AutoGPT
- OpenHands
- Cursor Agent
- Devin
- SWE-Agent
本质上都属于ReAct架构。
所以问题来了:
既然大家都在用同样的循环。
为什么Claude Code更强?
答案是:
Anthropic把复杂度全部放到了循环外面。
真正厉害的,是Claude Code的运行时系统
很多人以为Agent竞争的是模型。
其实不是。
Agent竞争的是Runtime。
也就是运行时系统。
如果把Claude模型比作CPU。
那么Claude Code就是:
Windows。
Linux。
macOS。
这样的操作系统。
真正复杂的部分。
是如何让模型稳定运行。
Claude Code最牛的设计:权限系统
这是整篇论文最让我震撼的地方。
很多Agent产品采用:
Allow
→ Ask
→ Deny也就是:
默认允许。
有问题再拦截。
Claude Code反过来:
Deny
→ Ask
→ Allow默认拒绝。
只有确认安全才允许执行。
这就是著名的:
Deny First原则。
当Claude想执行一条命令时。
并不会直接运行。
而是需要经过四层检查。
模型请求
↓
权限规则
↓
AI分类器
↓
Hook检查
↓
Sandbox
↓
执行任何一层失败。
命令立即终止。
举个例子。
Claude想执行:
rm -rf /即使用户开启最高权限模式。
仍然可能被:
- 权限规则
- Sandbox
- Hook
同时拦截。
这意味着:
即使某一层失效。
其他层仍然能够保护系统。
这是一种典型的:
Defense In Depth(纵深防御)
设计思想。
Anthropic已经不相信用户了
论文里有一个非常有趣的数据。
Anthropic发现:
用户会批准大约93%的权限请求。
什么意思?
当Agent弹出:
是否允许执行?绝大多数用户根本不看。
直接点允许。
于是Anthropic得出一个结论:
用户确认不能作为安全机制。
因为人类会疲劳。
会偷懒。
会习惯性点击。
所以系统必须在用户失误时仍然安全。
这也是Claude Code权限系统如此复杂的原因。
Claude Code真正解决的是上下文问题
如果你做过Agent开发。
一定遇到过这个问题。
任务越来越长。
上下文越来越多。
最后直接爆掉。
这是所有Agent都会面临的问题。
Claude Code对此设计了五层压缩体系。
第一层:Budget Reduction
限制工具返回内容。
例如:
cat 10GB.logAgent不会把10GB全部塞进上下文。
而是自动裁剪。
第二层:Snip
删除过旧历史。
保留最近对话。
第三层:Micro Compact
进一步压缩历史内容。
保留关键信息。
删除冗余内容。
第四层:Context Collapse
折叠历史记录。
用户仍然能看到完整记录。
但模型只能看到压缩版本。
第五层:Auto Compact
让Claude自己总结历史。
生成摘要。
替换长对话。
看到这里你会发现:
Claude Code已经开始像操作系统管理内存一样管理Context。
Anthropic甚至把Context视为一种有限资源。
这也是Claude Code能够持续工作几十分钟的重要原因。
Claude Code已经进入多Agent时代
很多人还停留在:
一个Agent
干所有事情阶段。
但Claude Code已经支持Sub-Agent。
即:
Agent管理Agent。
例如:
修复一个复杂Bug。
主Agent可能会创建:
测试Agent
日志分析Agent
代码搜索Agent
修复Agent多个Agent同时工作。
最后返回结果。
这种设计有两个巨大优势。
第一:
并行执行。
速度更快。
第二:
上下文隔离。
避免Context爆炸。
因为每个Agent都有自己的上下文窗口。
完成任务后。
只返回摘要。
而不是完整历史。
这实际上已经接近企业组织结构。
Manager
↓ ↓ ↓ ↓
Engineer
Engineer
Engineer
Engineer未来Agent的发展方向。
很可能也是这样。
Claude Code为什么有四套扩展系统
很多开发者知道MCP。
但论文揭露:
Claude Code实际上有四种扩展机制。
MCP
增加工具能力。
例如:
- GitHub
- Browser
- PostgreSQL
- Slack
Skill
增加专业知识。
例如:
代码审查专家
安全专家
架构专家Hook
拦截Agent生命周期。
例如:
执行前检查。
执行后验证。
自动修复。
Plugin
打包上述能力。
类似VSCode插件。
最有意思的是。
Anthropic发现:
不同扩展消耗的Context不同。
因此设计了分层机制。
Hook
↓
Skill
↓
Plugin
↓
MCP成本越来越高。
能力越来越强。
Claude Code真正想做什么?
读完整篇论文后。
我最大的感受是:
Anthropic根本不是在做一个编程工具。
他们在做:
Agent Operating System
Agent操作系统。
Claude只是其中一个组件。
未来完全可以替换成:
- Claude 5
- Claude 6
- GPT 6
- Gemini
- Open Source Model
都没关系。
因为真正难以复制的。
是这套运行时系统。
过去两年。
整个行业都在卷模型。
GPT-4。
Claude 3。
Gemini。
DeepSeek。
Llama。
大家都在追求更强推理能力。
但Claude Code给出的答案却是:
模型能力决定Agent的上限。
Agent Runtime决定Agent的下限。
未来最值钱的东西。
可能不是模型。
而是模型之外的东西。
写在最后
这篇论文最值得关注的地方,并不是揭秘了Claude Code的实现细节。
而是揭示了未来Agent的发展方向。
过去的软件工程:
程序员
↓
代码
↓
软件未来的软件工程:
程序员
↓
Agent Runtime
↓
Agent
↓
软件模型负责思考。
Agent Runtime负责:
- 权限
- 安全
- 记忆
- 上下文
- 协作
- 扩展
- 恢复
换句话说。
Claude Code最值钱的部分,可能从来都不是Claude。
而是Anthropic正在构建的那套Agent操作系统。