Claude Code背后的秘密:Firecracker微虚拟机正在重塑AI托管
Claude Code 背后那套没人聊的基础设施
用过 Claude Code 的开发者都有个感觉:这玩意儿跑起来贼快。快到有点不正常。会话秒开,文件系统干干净净,整个体验全在浏览器里的 terminal 里跑。但你有没有想过——连接的时候,底层到底在跑什么?
结果呢,大多数人压根没想过这事儿——直到最近。
有人搞了一波 reverse engineering 深挖,把 Claude Code 运行时的实现扒了个底朝天。这一扒不要紧,发现的东西暗示 Anthropic 不仅仅是做 AI 模型的。他们在悄悄搭一套基础设施层,说不定能跟 Vercel、Railway、Render 这些平台正面刚。
底层全是 Firecracker
Claude Code 执行环境用到的核心技术是 Firecracker——对,就是 AWS Lambda 和 Fargate 用的那个开源 microVM 技术。如果你做云基础设施的,这玩意儿值得你多看两眼。
每个 Claude Code 会话里跑的配置是这样的:
- 4 个 vCPU(Intel Xeon Cascade Lake,2.80GHz)
- 16GB 内存
- 252GB 磁盘
- Linux 6.18.5 内核
而且没有嵌套虚拟化。Firecracker 故意把 VMX/SVM 这些 flags 给剥离掉,不让 guest 再起自己的虚拟机——这是出于安全考虑的设计,把 workloads 隔离开。
但有意思的来了:没有 systemd。没有 SSH daemon。没有 cron。没有日志基础设施。整个进程树长这样:
PID 1: /process_api --firecracker-init --addr 0.0.0.0:2024
└─ PID 517: /usr/local/bin/environment-manager task-run --session cse_...
└─ PID 532: claude(CLI 本身)
就三个进程,没了。第一个进程是个自定义二进制,同时充当 init 系统和 WebSocket API 网关。监听 2024 端口接收 WebSocket 连接,2025 端口是备用端点。
这是相当优雅的基础设施设计——把所有不必要的东西都砍掉,最大程度减少攻击面,提升性能。
Snapshot 架构:魔法发生的地方
最让人惊讶的发现不是 microVM 本身,而是会话是怎么初始化出来的。
会话不是从零开始启动的,而是从冻结的 snapshot 恢复出来的。
研究者检查启动日志的时候,发现模板 VM 创建时间和会话恢复时间之间差了 48.5 个小时:
[ 30.731516] Run /process_api as init process
~~~ 48.5 小时的时间差 —— VM 被冻成 snapshot 了 ~~~
[174695.927758] virtio_blk: [vdc] new size: ...
这本质上就是 AWS Lambda 首创的 SnapStart 概念。模板启动一次,初始化到就绪状态,然后冻成 snapshot。你开启新会话的时候,系统直接毫秒级恢复 snapshot,不用等完整启动流程。
恢复期间的设备热插拔做得特别巧妙:
| 设备 | 模板状态 | 恢复后 | 内容 | |--------|----------|---------------|---------| | vda | 占位符 | 256 GiB ext4 | 会话 rootfs(Ubuntu 24.04)| | vdb | 占位符 | 63.7 MB squashfs | /opt/claude-code | | vdc | 占位符 | 12.1 MB squashfs | /opt/env-runner |
root 文件系统是个动态注入的块设备。Ubuntu 环境挂在 ext4 卷上,恢复时直接 swap 进去,Claude Code 工具链和 environment runner 则作为 squashfs overlay 挂载。
这种分层方案意味着每个会话都能拿到干净、隔离的环境,还不用重建整个文件系统。
"Antspace" 对 AI 基础设施赛道意味着什么
这里有个猜测让故事变得有意思了:reverse engineering 发现了线索,暗示 Anthropic 内部可能在搭一个叫 "Antspace" 的平台。
如果这是真的,那 Anthropic 就成了个 PaaS 竞争者——一个面向 AI 原生应用的 Vercel。
想想他们在搭的东西:
- 处理认证、进程管理、WebSocket 通信的运行时环境
- 基于 microVM 的隔离执行,强安全边界
- 基于 snapshot 的秒级部署和扩缩容
- 面向程序化控制的 API-first 架构
这套东西不光能支撑 Claude Code,完整的 AI 驱动开发工具链、部署流水线、托管平台都能罩得住。
安全架构值得说说
团队在安全上显然下了功夫。几个值得注意的措施:
init_on_free=1 —— 内存页释放时清零,防止会话间数据泄露。
CRNG 重新播种 —— VM 恢复后加密随机数生成器会重新播种。这点很关键,因为 snapshot 理论上可能共享同一份熵状态,那可就成加密漏洞了。
capability dropping —— 初始化完成后,PID 1 会丢弃 CAP_SYS_RESOURCE,即使被攻陷,能做的事也有限。
--block-local-connections —— 禁止 localhost 访问 WebSocket,防止会话直接连接管理接口。
JWT 认证 —— WebSocket 连接需要验证 token,密钥用过之后从配置里清除。
这些不是安全表演——是实打实的加固措施,说明这套基础设施是按生产级 workload 来设计的。
对开发者的意义
不管你是做 AI 工具、coding agents 还是云原生应用,Claude Code 基础设施里体现出来的模式都值得研究:
Firecracker 正在成为隔离型 workload 的默认选择。如果你在评估容器 vs microVM,Firecracker 提供了 VM 级的安全性,容器级的速度。
基于 snapshot 的初始化是所有需要亚秒级启动的场景的未来。这个模式正从 Lambda 扩散到开发环境。
自定义 init 系统正在卷土重来。当你不需要完整 systemd 栈的时候,最小化的自定义 supervisor 可以更快、更安全、更有针对性。
AI 公司在搭的基础设施最终可能跟传统云厂商正面竞争。Anthropic 的内部平台如果是真的,代表着在托管领域的一次大押注。
下次你启动 Claude Code 的时候,你用的不只是一个 CLI 工具——你看到的是 AI 原生云基础设施的一角,这玩意儿可能定义未来智能应用的构建和部署方式。
大局
这次发现最让人震惊的不是哪个单独的技术细节。而是证据表明 AI 公司在认真思考全栈——不只是模型,还有让模型发挥作用的整套基础设施。
Anthropic 不只是在做 Claude。他们在搭的平台层,将来可能支撑一整代 AI 原生应用。
而如果"Antspace"是真的?AI 托管领域的竞争,可就要热闹起来了。
对 AI 基础设施有啥想法,或者自己也有 reverse engineering 的发现想分享?开发者社区就爱聊这个。有时候最有价值的 insight,就是从掀开引擎盖的那一刻开始的。