Vercel Eve 从入门到精通 §05 ← 目录
Part 2 · 核心能力

§05 Sandbox:给 Agent 一台隔离的电脑

05.1 真实计算能扩大能力,也扩大风险

很多复杂任务无法提前备好所有工具。让 Agent 分析陌生日志,它可能临时写段 Python;处理 CSV,它可能生成聚合脚本。

模型生成的命令和代码,应被视为不可信输入。直接放进应用运行时执行,一次错误路径判断就可能把 Agent 问题变成生产事故。

05.2 默认就有的隔离

Eve 给每个 Agent 提供隔离沙箱。本地开发可用 Docker、microsandbox 等适配器;部署到 Vercel 后可切到 Vercel Sandbox,不改业务逻辑。

注意一个关键区别:你在 tools/ 里写的工具跑在应用进程(带 process.env);而文件读写、Shell 执行、代码运行,默认进沙箱。

配置沙箱很简单:

// agent/sandbox/sandbox.ts
import { defineSandbox, vercelSandboxBackend } from "eve/sandbox";

export default defineSandbox({
  backend: vercelSandboxBackend({ runtime: "node24" }), // 选运行时
});

05.3 安全观:默认不信任

我很喜欢这个设计背后的态度:不是禁止 Agent 写代码,而是默认它写出的代码不值得信任。

核心建议

文件产物别污染源码。Agent 在 /workspace 下写的研究笔记、草稿、临时文件,是沙箱工作区,不是你的项目源码。把运行产物和 Agent 定义代码分清楚。

维度直接跑应用进程进沙箱标叔的结论
文件删除风险隔离沙箱赢
依赖污染可能干净沙箱赢
执行延迟略高进程略赢
配置成本一个文件平手
→ 沙箱解决了"乱跑"的问题。可有些事,不该让它自己跑。下一章讲 Approvals。