让 AI 在沙盒里撒野:一场关于沙盒的夺旗游戏

Matt Brockman · E2B 工程师 · 2026-10-08
听中文精华AI 合成朗读00:00
别只让它替你写代码。
— Matt Brockman

关联

人物 Matt Brockman

公司 E2B

概念 沙箱 · 智能体 · 快照 · 模板 · 孤儿进程 · 生命周期

如果你用过 Codex 或 Claude Code,你可能已经体验过让 AI 在自己电脑上随便跑的恐怖:

它可能吃光你的处理器、删掉不该删的文件、甚至读取你的环境变量。

Matt Brockman 是 E2B 的工程师,这家公司做的事叫沙盒——一个隔离的环境,让不受信任的代码在里头随便折腾,而不伤害外面的人和系统。

在这场工作坊里,他带着现场观众玩了一场夺旗游戏:解开一关,才能进入下一关。每一关,都是运行沙盒时会真实踩到的坑。

沙盒到底是什么,为什么 AI 时代突然需要它

传统网站是静态的:用户看页面,服务器跑自己的代码,两边泾渭分明。

但现在情况变了——你有一批用户想跑自己的代码,更麻烦的是,AI 智能体也开始写代码、跑代码。

直接在本地跑?风险前面说了。放到服务器上?服务器上有你的密钥、你的环境,一样危险。

沙盒的思路是:给这些代码一个一次性的、隔离的小房间,跑完就丢,怎么折腾都出不了门。

E2B 的核心指标是速度:他们的目标是不到 100 毫秒就能启动一个沙盒。这个数字很关键,因为你可能需要同时跑几十上百个。

沙盒的秘诀:先启动,再拍快照

和 Docker 的思路不同。Docker 镜像启动时才执行启动命令,一步步搭环境;

E2B 则是反过来——先把所有进程跑起来,然后把内存和文件系统整体拍成快照存下来,之后随时从这个状态恢复。

这带来一个很实用的能力:暂停和恢复。

智能体出去干别的活,回来时房间还是它离开时的样子,它甚至不知道时间过去了,出错率自然就低。

这个快照就是 E2B 说的模板。Matt 之前把整个工作坊环境跑起来、存成模板,现场直接复制出大约 200 份给观众用。

同理,做数据科学的人可以把一个装好数据的状态分叉成 5 份,并行跑 5 个实验。

AI 写的代码,最喜欢干的三件坏事

工作坊的前几关不需要写代码,全是排查真实故障。

第一件:吃光处理器。AI 写出的程序经常出现一个进程占着 99.7% 的处理器不放,你得学会找到它、杀掉它。

第二件:撑爆内存。沙盒的处理器和内存都是有限额的,尤其当你管理成百上千个沙盒时,配额就是钱。

第三件:塞满磁盘。同样是找到那个占了几百兆的文件,删掉,腾出空间。

这三件事听起来简单,但 Matt 说,准备这个工作坊时他们自己就反复踩坑——AI 写的代码总是「做出你意料之外的事」。

管一千个沙盒,麻烦才刚刚开始

一个沙盒很好管。几百上千个,问题就换了模样。

最典型的是生命周期:沙盒开多久?给太久,资源浪费钱;关太快,用户回来还得重跑一遍。

Matt 给出的策略是分两段——任务运行期间给足时间(比如一小时),任务一结束就把超时缩到一分钟:

用户可能还会发下一条命令,稍等片刻;没有就自动关掉,把资源让给别人。

另一个高频问题是孤儿进程。

因为沙盒会暂停再恢复,而不是每次换新环境,那些忘了清理的进程会一直躺在那儿,越积越多,拖垮性能。

Matt 的原话很直白:很多沙盒管理工作,归根结底就是杀孤儿进程。

还有路由问题:最天真的做法是来一个用户发一个新沙盒,结果没人用的沙盒堆成山。

正确做法是记好哪个用户配哪个沙盒,重复利用。

现场观众都在拿沙盒干什么

提问环节很能说明行业现状。有人在生产环境跑智能体工作负载;

有人想把本地代码分发到一堆 GPU 上并行处理再把结果传回来——Matt 坦承 E2B 目前不支持 GPU;有人问 Kubernetes,他透露 E2B 基于 Firecracker,目前跑在 Nomad 上,迁移到 Kubernetes 还有技术问题没解决。

被问到沙盒生态会不会像 Docker 那样形成标准,他的回答很诚实:

AI 智能体才两岁,没人知道生态会长成什么样,但模板这种做好一份、大家复用的机制,指了一个方向。

本集带走

  • 沙盒是隔离环境,让 AI 和用户跑的代码不伤害宿主系统,E2B 能在 100 毫秒内启动一个。
  • E2B 的思路是先把进程全部跑起来再整体拍快照,恢复时一切如旧,智能体出错更少;快照可以直接复制给上百人使用。
  • AI 写的代码最常见的三种事故:吃光处理器、撑爆内存、塞满磁盘——前几关闯关内容全是这个。
  • 管理大量沙盒的核心权衡是生命周期:任务期间给足时间,任务结束就设短超时自动回收。
  • 沙盒会暂停恢复而非每次重建,所以孤儿进程会积累,日常运维的很大一部分就是找到并清理它们。
全部金句 1 条

别只让它替你写代码。
Don’t just let it code for you.
—— Matt Brockman · [18:29]

接着看

顺着「智能体」挖下去

换个口味