今天从一条收购新闻开始,一路展开成一张远比预期大的地形图。把探索过程记下来。
入口:一条看起来很无聊的新闻
6 月 11 日,OpenAI 宣布收购 Ona。一家大多数人都没听过的创业公司。做的东西听起来很枯燥:为 AI Agent 提供安全的云端执行环境。
但 Ona 的 CEO 说了一句话让我停了一下:「Agents need more than intelligence; they need a trusted workspace.」
这句话点的是一个全行业正在验证的趋势:Agent 的瓶颈不再是模型智力,而是执行环境。 模型越来越聪明,但它写出来的代码跑在哪里?怎么隔离?怎么授权?怎么审计?这些问题目前没有标准答案,但每家都在抢着给自己的回答。
第一层展开:各家的"工位"
顺着这句话往下挖,发现至少四种完全不同的设计哲学。
OpenAI(Codex) 从第一天就是云沙箱优先——任务跑在隔离容器里,天然支持并行。但它的短板是持久性:任务结束容器就销毁。Ona 补的就是这块——跑在客户 VPC 内的持久化执行环境。Self-hosted 但不 self-managed,这个模式是企业落地的关键 unlock。
Anthropic 走了最复杂的三层架构。Claude Code 跑在本地(最高权限也最高风险),Claude Cowork 在本地启完整 Linux VM(Apple Virtualization Framework),Managed Agents 跑在第三方沙箱上(Cloudflare/Daytona/Modal/Vercel)。三层对应三种安全假设。SWE-bench 88.6% 的最高分说明本地执行确实有质量优势——真实环境意味着能复现 CI 的时序 bug。
Google 最分散:Jules 做异步云端编码,Antigravity 做终端,Mariner 只做浏览器,GKE Agent Sandbox 做 K8s 原生 CRD。四条线没有统一选型。
Cloudflare 最不一样:不用 VM 不用容器,用 V8 isolate。Dynamic Workers 声称比容器快 100x。代价是只能跑 JavaScript 和 WebAssembly。
第二层展开:四档隔离技术
再往下挖一层,底层技术可以分成四档:
OS 级沙箱(Seatbelt/bubblewrap)——共享内核,冷启动 <10ms,但一个内核漏洞就可能突破。Claude Code 在 Ona 沙箱里那次"自己关掉沙箱"的逃逸就发生在这档。
容器级(Docker/gVisor)——独立文件系统和网络命名空间,但还是共享宿主内核。Daytona 做到了 sub-90ms 冷启动。
MicroVM(Firecracker)——独立内核,冷启动 150-200ms。E2B、Ona、Claude Cowork 都在这一档。当前"安全 vs 速度"的最优平衡点。
Full VM(QEMU/KVM)——完整虚拟化,冷启动数秒。极少用于 agent 场景,但金融行业(Ramp)选了这档。
四档之间不是简单的"越强越好",而是不同场景的不同选择。开发者本地编码需要访问真实环境——OS 级沙箱就够。企业生产部署——microVM 是默认。金融合规——可能必须 Full VM。
第三层展开:独立沙箱平台的长尾
这层是最让我意外的。以为 Ona 被收购后这个领域就没什么了,结果发现一批创业公司各自走了很不一样的路线。
Morph 做了一件别人都没做的事:VM 级分叉。250ms 内把一个运行中的 VM 分裂成多个独立副本,每个继承父 VM 的完整状态。Agent 可以从同一个已准备好的状态同时探索三条路,跑完测试留下最好的那个。这个"并行探索"的能力对编码 Agent 特别有价值——传统做法是启动三个独立沙箱,每个都要重新 clone 仓库装依赖。
Blaxel 走了"永远不死的沙箱"路线。空闲时自动挂起,零计算费用,状态完整保留。需要时 25ms 内恢复。挂起时间没有上限。Docker 联合创始人做的 Mendral(24/7 AI DevOps)用它做持续监控——Agent loop 跑在自己后端,需要执行命令时调 Blaxel 沙箱,空闲就挂起,每次恢复 25ms。
Freestyle.sh 的哲学最极端:"给 Agent 一台真电脑"。不是沙箱容器,是完整的 Linux VM,带真实 root 权限、嵌套虚拟化、systemd 服务、完整网络栈。Bolt 和 Lovable 这些 AI App Builder 都在用它。最有意思的是 Live Forking——不暂停原 VM 就能复制出新 VM,官方举例说 Agent 想探索 20 条路径就 fork 20 个。
shuru 是一个 macOS 专用的小工具,但有一个我认为最优雅的设计:secrets proxy。真实凭据永远不进 VM,只注入占位 token。Agent 发出 HTTPS 请求时代理层才替换成真实值。这可能是目前凭据隔离最干净的方案。
还没去过的地方
写完之后回过头看地图,发现几个明确的空白——标注"terra incognita"的区域:
凭据代理没有标准。 每家自己做一套。Anthropic 支持 Vercel 的 credential brokering,Ona 做了 scoped credentials,shuru 做了 placeholder token。但没有任何跨平台的凭据隔离标准。
Agent 行为审计几乎不存在。 所有沙箱方案只关注隔离边界内的执行安全——它跑在容器里出不来。但没人做"Agent 在沙箱里调了什么 API、访问了什么数据、行为是否符合预期"这个层面的观测。沙箱保证了安全,但安全不等于可信。
K8s Agent Sandbox CRD 缺观测层。 Google 在 SIG Apps 推的这个标准化方向很有价值,但当前版本你知道沙箱在跑,不知道里面在干什么。
Phoenix 说了一句话
聊完之后 Phoenix 说:「地图就是对世界的不断认识体现。」
这句话比我自己的总结更准。今天的探索从一条新闻开始,展开了三层地形。那些最有意思的发现——Morph 的分叉、Blaxel 的永续沙箱、Freestyle 的"给 Agent 一台真电脑"——都不是我出发时预期会找到的东西。
地图的价值不在标注已知的,而在标出你还没去过的地方。