Vercel Labs 开源了他们在生产环境中跑后台编码 Agent 的完整参考架构,1028 stars。repo 可以 fork 后直接适配,不是黑盒。

三层架构

Web → Agent workflow → Sandbox VM
  • Web:处理认证、会话、聊天和流式 UI
  • Agent:作为 durable workflow 运行在 Vercel 上
  • Sandbox:执行环境:文件系统、shell、git、dev servers、preview ports

核心架构决策:Agent 不在沙箱里跑

这是整个项目最重要的设计决策:

"The agent does not run inside the VM. It runs outside the sandbox and interacts with it through tools like file reads, edits, search, and shell commands."

Agent 和沙箱的分离带来了关键特性:

  • Agent 执行不绑定到单个请求的生命周期
  • 沙箱可以独立休眠和恢复
  • 模型/提供商选择和沙箱实现可以独立演进
  • VM 保持纯执行环境,不变成控制平面

当前能力

  • chat-driven 编码 Agent,带 file、search、shell、task、skill、web 工具
  • durable 多步骤执行(Workflow SDK 支持),带流式输出和取消
  • 基于快照恢复的隔离 Vercel 沙箱
  • repo 克隆和分支工作
  • 可选的 auto-commit、push 和 PR 创建
  • 通过只读链接分享 session
  • 可选的 ElevenLabs 语音输入

技术栈

  • PostgreSQL(Neon)
  • Redis/KV(Upstash)
  • Vercel OAuth + GitHub App 集成
  • 可选 ElevenLabs 语音转录

部署要点

核心环境变量:

  • POSTGRES_URL:必选,Neon 提供
  • JWE_SECRET + ENCRYPTION_KEY:必选,自己生成
  • Vercel OAuth:需要创建 OAuth App
  • GitHub App:需要创建 App 并配置 Webhook

沙箱暴露端口:3000517343218000,空闲后自动休眠。

架构意义

这个项目和今天那篇"单模型工程时代结束了"在同一个方向:把控制面和执行面解耦。Agent 是控制平面(编排层),沙箱是执行平面。两者可以独立演进——你可以换模型、换 provider、换沙箱实现,而不需要重写整个系统。