内容提要
Vercel在Ship大会上推出Daemons后台常驻服务(公测),支持容器化持续运行工作进程;宣布Python支持正式可用,兼容FastAPI、Flask、Django;面向AI代理的持久存储Drives正式可用,将代理文件与沙箱分离,支持挂载、分叉和复用,容量最高16TiB。Vercel借此扩展后端基础设施,覆盖队列处理、转码等CPU密集型工作负载。
延伸解读
Daemons 与 Vercel 现有计算原语的差异
Vercel 已有的 Functions 和 Sandboxes 主要面向请求驱动或临时任务,而 Daemons 专为持续运行的后台工作进程设计。它们不响应互联网请求,而是主动从队列或数据库拉取任务并处理,适合转码等 CPU 密集型负载。与临时性的 Sandboxes 几乎相反,Daemons 常驻运行,开发者可指定每个区域的实例数,Vercel 负责保活和崩溃重启。
容器化部署的权衡:控制力与维护责任
Daemons 支持容器化部署,开发者可通过 Git 或 Vercel CLI 构建镜像并存入 Vercel 容器注册表。容器允许打包自定义运行时和系统库,扩展了可部署软件的范围。但代价是安全更新需自行重新部署,而 Vercel 管理的 Node、Bun 或 Python 运行时则会自动应用安全补丁。Vercel 表示,自容器支持公测以来,已有 5000 个团队完成了 15 万次容器部署。
Drives 如何改变 AI 代理的存储模式
Vercel Drives 将代理文件与执行代码的沙箱分离,代理可在新沙箱中挂载驱动器并继续使用已有文件。写入先落本地 NVMe 再异步流式传输到对象存储,读取优先从本地磁盘获取。与快照相比,Drives 只挂载代理真正关心的目录(如 /home/agent),避免快照包含大量重复内容,从而更便宜、更快速。代理还可分叉驱动器以独立测试不同方案,但分叉不会合并回原驱动器。
Q&A
Vercel Daemons 是什么?它主要解决什么问题?
Vercel Daemons 是一个后台常驻工作进程服务,目前处于公测阶段。它允许开发者部署容器并指定每个区域运行的实例数量,Vercel 会确保这些进程持续运行,并在退出或崩溃时自动重启。它主要解决传统请求驱动模型无法很好处理的复杂后端工作负载,例如从队列或数据库拉取任务并处理的场景。
Vercel 的 Python 支持现在正式可用了吗?支持哪些框架?
是的,Vercel 的 Python 支持已正式可用(GA)。它支持 FastAPI、Flask 和 Django 等框架,应用程序运行在标准 CPython 上并使用 PyPI 依赖,Vercel 负责框架检测、构建和扩展。目前已有 15 万个团队在其平台上运行 Python 后端。
Vercel Drives 是什么?它和快照(snapshots)有什么区别?
Vercel Drives 是面向 AI 代理的持久存储服务,现已正式可用。它将代理文件与执行代码的沙箱分离,支持挂载、分叉和复用,容量最高 16 TiB。与快照相比,Drives 只挂载代理实际关心的目录(如 /home/agent),避免快照因包含大量重复内容而变得庞大,因此更便宜、更快,且几乎无缺点。Vercel 并未移除快照,但鼓励客户转向 Drives。
Daemons 适合哪些类型的工作负载?能举个例子吗?
Daemons 适合 CPU 密集型、需要持续运行并主动拉取任务的工作负载,例如队列处理、视频转码等。Vercel 给出的示例结合了 Next.js 前端、Python API 和容器化视频处理器:容器打包 Python 依赖和 FFmpeg,从 Vercel Queues 拉取任务,生成播放文件和缩略图。这类工作负载需要计算机始终 100% 占用 CPU。
Vercel 的容器支持现状如何?使用容器有什么权衡?
自容器支持进入公测以来,已有 5000 个团队进行了 15 万次容器部署。容器允许开发者打包应用及其运行时和系统库,扩展可部署的软件范围。但权衡在于:使用容器时,保持镜像更新(如应用安全补丁)需要客户自行重新部署,这是客户的责任;而使用 Vercel 管理的 Node、Bun 或 Python 运行时,Vercel 可以自动应用安全更新,无需客户重新部署。
Vercel Drives 如何支持多个 AI 代理协作?分叉功能有什么特点?
Drives 允许代理之间复用工作成果:一个代理可以准备数据集,其他代理挂载只读副本进行分析或生成报告,并分别保存结果。代理还可以分叉(fork)驱动器,在独立的可写工作区中测试不同方法,但这些分叉不会合并回原始驱动器。实践中,开发者需要告诉代理将文件写入何处(如 /workspace),然后将该目录挂载到持久驱动器即可。