内容提要
Vercel Drives 已面向 Vercel Sandbox 全面开放,支持 Hobby、Pro 和 Enterprise。Drive 是可挂载为目录的持久存储,沙箱停止后文件仍保留,可供后续运行及其他沙箱访问。它可用于保存智能体工作区或文件记忆、共享数据集、模型和构建产物,并支持将 Drive 分叉为独立可写副本,让并行任务从相同文件出发且互不影响。
延伸解读
持久化存储如何改变沙箱工作流
Vercel Drives 为沙箱提供了挂载为目录的持久存储,文件在沙箱停止后依然保留,后续运行或其他沙箱可通过挂载同一 Drive 访问。这解决了传统沙箱临时性导致的数据丢失问题,适合需要跨会话保持状态的场景,如智能体工作区或文件记忆。
分叉机制:并行任务的数据隔离方案
Drive 可分叉为独立可写副本,继承源 Drive 的数据、区域和最大大小,但后续更改互不影响。并行 worker 可从相同文件出发,各自修改而不干扰原始数据或其他副本。代码示例展示了为每个 worker 创建分叉并在使用后删除的流程。
适用场景与版本支持
Drives 适用于保存智能体工作区、文件记忆、共享数据集、模型、依赖和构建产物。该功能已面向 Hobby、Pro 和 Enterprise 全面开放,不同计划的用户均可使用。开发者可通过 @vercel/sandbox 包中的 Drive 和 Sandbox API 进行集成。
Q&A
Vercel Drives 现在对哪些用户开放?
Vercel Drives 现已全面开放,支持 Hobby、Pro 和 Enterprise 计划。
Vercel Drives 是什么?
Vercel Drives 是一种持久存储,可以挂载为 Vercel Sandbox 中的目录。沙箱停止后,文件仍然保留,后续运行和其他沙箱可以通过挂载同一个 Drive 来访问这些文件。
Vercel Drives 有哪些主要用途?
Vercel Drives 可用于跨运行保存智能体的工作区或基于文件的记忆,也可以让数据集、模型、依赖项和构建产物在多个沙箱之间共享。
如何让多个并行任务从相同文件开始且互不影响?
可以将一个 Drive 分叉(fork)成独立的可写 Drive。分叉会继承源 Drive 的数据、区域和最大大小,然后存储自己的更改。这样并行工作进程可以从相同的文件开始,各自修改而不会影响原始 Drive 或其他分叉。
分叉一个 Drive 会继承哪些属性?
分叉会继承源 Drive 的数据、区域和最大大小,之后分叉会存储自己的更改。
如何在代码中使用 Vercel Drives 进行分叉和挂载?
可以使用 @vercel/sandbox 包中的 Sandbox 和 Drive。例如:先通过 Drive.get({ name: 'base-drive' }) 获取 Drive,然后循环调用 drive.fork({ name: `worker-${i}` }) 创建分叉,再通过 Sandbox.create({ mounts: { '/data': fork } }) 将分叉挂载到沙箱的 /data 目录。运行会话后,可以删除分叉。