Modal 正式发布 VM Sandboxes,为智能体提供完整 Linux 虚拟机
VM Sandboxes: Full computers for agents
Modal 宣布 VM Sandboxes 正式可用,用户通过一个 runtime="vm" 标志即可获得完整 Linux 虚拟机,沿用原有 API、modal.Image、亚秒级冷启动和 CPU/内存突发能力,并支持数十万并发 Sandbox。
原文给出 VM Sandbox 的开放方式与早期客户落地场景,可据此判断智能体运行环境从容器转向完整虚拟机的取舍。
今天,我们正式在 Modal 上全面推出 VM Sandboxes,专为那些需要赋予其 agent 完整计算机能力的人而构建。
只需一个标志,你就能获得一个功能完备的 Linux VM,拥有你期望从传统 modal.Sandbox 中获得的所有便利,而且它开箱即用™。这带来了与以往相同的 API、modal.Image、亚秒级冷启动以及 CPU/内存突发能力,同时支持我们的用户所习惯的 数十万个并发 Sandbox。
为什么是现在?
Modal 最初是为了实现 无服务器 GPU 的圣杯 而构建的,我们基于 gVisor 的运行时使我们能够快速扩展轻量级 GPU 容器,并为我们提供了创建诸如 快速 GPU 快照 等超能力所需的能力。
我们的 Sandbox 产品同样构建在 gVisor 之上,它一直为我们服务得很好。但今年早些时候,我们看到 Ramp 构建了一个内部 agent 来驱动 Modal Sandboxes 上的整个软件开发生命周期,agent 的发展方向变得显而易见。
无论是在工作中还是在评估中,agent 越来越希望生活在一个看起来像真实机器的东西里:运行 Docker 栈、本地数据库和开发服务器、图形环境和移动模拟器,甚至摆弄 Linux 内核本身。简而言之,agent 只想要一台计算机。
与此同时,我们的容器形态运行时提供的易用性,例如 exec/FS API 或 突发资源模型,是 Modal 体验的核心。当我们着手将 VM Sandboxes 变为现实时,我们知道必须开箱即用地支持如此广泛的使用场景。
我们做了大量深度工程工作,以延续支持我们 gVisor Sandboxes 的相同 API,包括构建自定义运行时。从基于 Rust 的 Cloud Hypervisor 项目开始,我们在主机文件系统、惰性镜像加载、内存突发和快照技术方面叠加了半打创新。我们很高兴能在未来几周内分享深入探讨,介绍我们为使这一切成为可能所做的工作。
随着 VM Sandboxes 现已正式发布,任何人都可以为其 agent 提供带有本地数据库或 Docker 栈的 Sandboxes,准备好构建复杂的生产系统。
VM Sandboxes 在实际应用中的表现
在过去几个月里,我们将 VM Sandboxes 交到了早期客户手中,他们已经启动了超过 2000 万台 VM!以下是他们构建的内容。
Linear:在你的真实开发环境中工作的编码 agent
Linear 的 Coding Sessions 让你无需离开 Linear 就能将问题交给 agent。在幕后,Linear 在 Modal VM Sandbox 中启动用户的完整开发环境。
拥有一台完整的 Linux 机器让 Linear 团队能够更精细地控制每个 Session 内的资源分区和网络,使用 cgroups 和网络命名空间来防止编码 agent、用户的开发服务器和 Linear 自己的宿主进程争夺资源。如今,每个 Linear Coding Session 都运行在 VM Sandbox 上。
“在我们的 sandbox 中使用 Docker 对我们的客户来说是开创性的,因为他们可以在我们的基础设施上启动完整的实时开发环境,而无需像自带基础镜像这样复杂的事情。切换只需一个标志,一切就都正常工作了。”
Legora:长周期法律 agent 评估
Legora 构建法律智能体,可在涉及数千份文档的法律项目中连续工作数小时。他们使用 VM Sandboxes 为其 evals 提供支持,在每个 Sandbox 中构建完整的 Legora 应用,包括 Postgres、DOCX 编辑器和智能体自己的代码沙箱。
“我们的应用以一组 Docker 服务的形式运行。以前,这意味着我们必须在每一层引入网络和 FUSE 变通方案,才能在沙箱中获得完整的 Docker 功能,从使用自有 DNS 解析的主机模式网络,到因为 FUSE 无法挂载而将代码沙箱作为裸进程运行。有了 VM Sandboxes,一切都变得顺畅无阻:Docker 的行为就像在普通 Linux 主机上一样,我们删掉了所有这些变通方案。”
Snorkel:模拟真实世界
Snorkel 是一家前沿 AI 数据实验室,负责开发和验证复杂数据集,用于在真实任务上训练和评估前沿 AI 系统。他们每月使用 Harbor 运行数百万次智能体模拟,在零停机数据库迁移、负载下热切换服务以及调试由多个服务支撑的应用等场景中测试智能体。
“要让智能体模拟有意义,环境必须代表智能体将要运行的真实世界。许多软件工程任务需要多个容器:例如,要调试一个由 PostgreSQL 数据库支撑的应用,智能体可能在一个容器中运行,而应用和数据库在其他容器中运行。Modal 的 VM Sandboxes 正好提供了这一点:每次模拟都有一台完整的机器,这些设置就像在真实世界中一样运行。”
那么,我应该把所有东西都切换过来吗?
简短回答:视情况而定!如果你的工作负载目前在 Modal Sandboxes 上运行良好,它将继续在 gVisor 上运行良好,后者目前仍是我们的默认运行时。
当你撞上用户空间的墙壁时,就选择 runtime="vm":Docker、FUSE 文件系统或小众的 Linux 内核特性。我们让切换变得像翻转一个标志一样简单,两种运行时共享相同的 API、Images 和基于用量的定价。
下一步是什么?
如今的 VM Sandboxes 有意保持容器形态,这使我们能够将其作为即插即用的运行时提供,与你的现有代码完全兼容。展望未来,我们很兴奋能够构建新的原语,充分利用 VM 所提供的扩展能力和编程模型。与此同时,我们正在努力让 VM 更加弹性和轻量。
智能体只想要一台计算机。从今天起,VM Sandboxes 已在 Modal 上正式可用,准备好支持下一个万亿个 Sandboxes。
来源:Modal Blog · modal.com