Vercel 沙箱可用文件操作读写 Box
Box Mount 可将 Box 文件夹同步到 Vercel Sandbox 目录,让 Agent 通过标准文件操作读写,并在卸载后保留结果。同步进程与 Agent 使用不同沙箱用户以隔离凭据,目前处于私有预览。
AI 深度解读
Box Mount 把 Box 文件夹同步到 Vercel Sandbox 内的目录,让沙箱里的 Agent 通过普通文件读写操作处理 Box 文件。它提供了一条具体路径:文件从 Box 进入沙箱,Agent 完成处理后,结果再写回 Box。
接入时最需要记住的是操作顺序:先卸载挂载,再停止沙箱。原文也给出了合同审查示例,但没有提供性能、同步冲突或异常恢复的数据。目前产品处于 private preview,适合先理解工作方式,再判断是否值得试用。
Agent 可以像处理本地文件一样处理 Box 文件
Box Mount 的作用,是在一个 Box 文件夹和沙箱内的一个目录之间建立同步关系。Agent 面对的是文件系统,可以使用标准文件操作读取内容、写入结果。
对已有文件处理流程的团队,这种接入方式比较直接。如果程序原来就接收文件路径、读取文档、生成结果文件,接入 Box 后,有机会继续沿用这套处理方式。不过,原文没有说明目录结构、文件大小或文件类型方面的限制,不能据此认定所有本地文件工作流都能直接迁移。
文件系统接口降低了 Agent 接触 Box 文件的复杂度,但同步行为仍然需要单独理解。
为什么一定要先卸载,再停止沙箱
原文明确要求:在停止 Vercel Sandbox 之前,先执行卸载。按照作者描述的正常流程,完成这一步后,即使沙箱被删除,Agent 写入的内容也已经保存在 Box 中。
这里要区分两件事:Agent 已经在沙箱里写出文件,以及文件已经同步回 Box。两者不能仅凭一次写入操作就视为同一件事,结束任务时还需要完成卸载流程。
因此,清理沙箱并非随手加在最后的一步。任务编排需要把「处理文件、卸载、停止沙箱」的顺序安排好。至于卸载失败、沙箱意外退出或同步尚未完成时会发生什么,原文没有说清,也没有给出可直接使用的命令或 API。
合同审查示例展示了什么
原文的示例使用 AI Gateway,在 Vercel Sandbox 中审查一份合成合同,再把审查结果保存回 Box。合成合同是为演示准备的材料,不能据此判断它对真实合同的审查质量。
这个例子的另一个重点是凭证隔离:同步进程和 Agent 使用不同的沙箱用户运行,让 Box 凭证与 Agent 的工作区分开。
这展示了一种职责划分:同步进程负责连接 Box,Agent 负责处理文件。但原文没有交代更细的权限配置,也没有提供安全测试结果,不宜把「使用不同用户」直接理解成完整的安全保证。
我的判断
我认可它把文件访问和连接凭证分开处理的方向。对于已经围绕文件系统构建的 Agent,挂载目录比重新组织一套逐文件调用接口的流程更贴近现有代码。
代价是需要理解同步和退出时机。直接调用文件服务 API,通常会在代码里明确表达读取、上传等动作;使用挂载目录,则需要进一步确认文件何时同步完成、错误如何反馈。
作者没有给出两种方式的对照数据,也没有报告效率提升。现阶段更适合把它看成一种集成方案,而不是已经证明更快、更稳的默认选择。
能拿来做什么
- 如果你的 Node 文件处理程序已经按路径读写文档,可以先用测试文件验证挂载目录是否能承接现有流程,重点检查读取内容和回写结果是否完整。
- 编排 Agent 任务时,把卸载放在停止沙箱之前,并确认卸载失败时如何处理,再决定是否删除沙箱。
- 参考示例分开运行同步进程与 Agent,检查 Box 凭证是否与 Agent 工作区隔离,避免只验证「能读写」就结束接入。
- Box Mount 目前处于 private preview,需要先向 Box 申请访问权限,再按 Box Mount 文档配置 Vercel Sandbox;正式采用前,应补验同步冲突和异常退出行为。