每个会写代码的代理,迟早都得运行它。这正是这类代理存在的意义,也正是让人不安的地方。模型刚生成了一段自己从未执行过的脚本:它安装没人审查过的包,碰没人列出来的文件。把它放在你的 SSH 密钥和生产环境 .env 旁边运行,是你每天要押上好几次的赌注。
沙箱让这个赌注变得很便宜。代码获得一台属于自己的 Linux 机器,用上几秒或几分钟,然后这台机器就消失了。
代理能拿到什么
每个沙箱都是一台 Firecracker microVM:独立的内核、独立的文件系统、独立的网络命名空间。它不是和你共享内核的容器,也不是你服务器上的某个目录。启动大约一秒,这一点在代理每个任务都开一个沙箱、而不是一天开一个时很重要。
里面有带 pip 的 Python 3.12、带 npm 的 Node.js 22、bash、git 和 curl。出站网络可用——代理可以 pip install pandas,也可以克隆仓库。入站不行:没有开放端口,没有 SSH。命令、文件和输出都经过我们的 API,这是唯一的门。
三种接入方式:
- MCP —— 如果你的代理运行在 Claude、Cursor、Cline 或其他支持 MCP 的客户端里,它会在 VPS 工具旁边看到沙箱工具。你这边不用写代码。
- Python 或 TypeScript SDK ——
pip install eqvps或npm i @eqvps/sdk,然后创建、运行、删除。 - 纯 REST —— 见 沙箱文档 和 OpenAPI 规范。
Python 里最简单的循环如下:
from eqvps import Sandbox
with Sandbox.create(tariff="small") as sb:
sb.upload("/root/task.py", agent_generated_code)
result = sb.exec("python3 /root/task.py", timeout=55)
print(result.exit_code, result.stdout[-2000:])
# the sandbox is deleted here, also if anything above raised
非零退出码会作为普通结果返回,而不是抛出异常。当代理需要读 traceback 再试一次时,这正是你想要的。
危险情况,以及它们的结局
恶意的或者只是坏掉的包。 它运行在一台不存放任何你的东西的 VM 里。删掉沙箱,它也就没了。
密钥。 不要把你的主 API 密钥写进代理生成的代码里。如果某个任务确实需要密钥,就通过沙箱环境变量传入:值加密存储,从不写入日志,API 只返回变量名。
死循环。 每条命令在 55 秒后停止,除非你把它作为后台任务启动。空闲的临时沙箱会在空闲超时(默认 5 分钟)后自行删除。每日或每月的消费上限会在代理当天花够之后阻止创建新沙箱。
数据外泄。 这里必须说清楚:出站网络是开放的,因为没有它 pip install 就无法工作。沙箱保护的是你的机器;它不会阻止代码把它在沙箱内能读到的任何东西发到互联网上。所以规则很简单:只把丢了也无所谓的东西放进沙箱。
选择套餐
| 套餐 | vCPU / 内存 | 每小时 | 适合 |
|---|---|---|---|
| micro | 0.25 / 512 MB | $0.0165 | 一次性脚本、数据检查 |
| small | 0.5 / 1 GB | $0.033 | 大多数代理代码、pip install |
| standard | 1 / 2 GB | $0.066 | pandas、测试套件 |
| plus | 2 / 4 GB | $0.132 | 重型安装(torch)、构建 |
按秒计费,最少 60 秒,与我们的 VPS 共用同一个预付余额。一个典型的代理任务——创建、装两个包、运行、删除——在 small 上不到一分钟,所以按 60 秒的最低值计费:约 $0.0006。说实话,对一个每天运行几百次代码的代理来说,沙箱账单是预算里最小的一行;LLM 的 token 要贵得多。
什么时候沙箱不是合适的工具
如果代理需要对外提供服务——一个 Web 应用、一个 webhook 接收器、一个监听消息的机器人——沙箱就不行,因为外部无法访问它。需要连续运行几个月的服务也一样。这是 VPS 的活:参见 AI 代理专用 VPS。常见的分工是:代理住在一台小 VPS 上,每遇到一段没见过的代码,就开一个沙箱来跑。
另一个限制是持续的重度计算。CPU 满载超过 15 分钟的沙箱会被视为滥用,所以长时间的计算任务应该放在按月租用的服务器上。
开始使用
注册账户、拿到 token、运行第一个沙箱——连接指南 会带你走完每一步,新账户还有 $1 沙箱时长可以试用。然后把代理指向 沙箱页面 或 MCP 工具,让它在弄坏东西不花钱的地方尽情折腾。
分步教程:在沙箱中完成第一个智能体任务。相关:隔离的 CI 测试、LLM 评测和代码审查与 PR 检查。
评论
暂无评论。来做第一个吧。