Modal Sandboxes 正式发布
Modal Sandboxes are generally available
Modal 宣布 Sandboxes 结束一年 beta 正式可用,用于安全隔离运行来自 LLM、用户或第三方的不可信代码。Sandboxes 提供 exec API,可在运行时配置执行环境,并支持文件系统快照与端口转发、网络访问限制等能力,与 Functions 共用底层基础设施。
官方给出 Sandbox 正式版的能力边界与客户案例,可据此判断隔离执行环境在智能体场景中的落地方式。
Sandbox 是 Modal 中用于安全运行不受信任代码的原语,无论这些代码来自 LLM、用户还是其他第三方来源。过去一年我们一直在 beta 阶段打磨 Sandbox,今天我们很高兴地宣布它正式全面可用!
我们为什么构建 Sandbox
我们构建 Modal Functions 是为了运行由你——用户——编写的代码。你的 Function 可以与你的 Modal 工作区交互——它们可以挂载 Secret、创建 Volume、调用其他 Function 等等。这个模型之所以可行,是因为你知道你可以信任自己直接部署的代码。
但智能体系统需要在没有人类监督的情况下执行代码。你的智能体可能会犯下破坏性的错误,或者恶意用户可能会以危险的方向提示你的智能体!无论哪种情况,你都不能像信任自己那样信任 LLM 来使用你的资源。LLM 生成的代码应该运行在隔离环境中,使其影响范围受到限制。
这些担忧同样适用于你的用户。在执行用户编写的代码时,你需要确保攻击者无法破坏你的环境或窃取敏感数据。
我们构建 Sandbox 正是为了解决这些担忧。Sandbox 为你提供了一个动态环境,可以用任意语言运行代码,并与你的其他 Modal 资源安全隔离。
话不多说,来看代码
Sandbox 提供了一个简单的 exec API 来执行代码:
LLM 可能会指定依赖项,或者需要用其他语言执行代码。Sandbox 让你可以在运行时配置执行环境,使用与 Function 相同的 Image API 和基础设施:
你甚至可以 对文件系统进行快照,以实现持久化,并在多个 Sandbox 之间展开搜索:
这只是 Sandbox 功能集的一小部分。查看 Sandbox 文档了解如何转发端口、限制网络访问、访问文件等更多内容。
为什么使用 Modal Sandbox
Sandbox 运行在与 Function 相同的底层基础设施上,这意味着你可以获得使用 Modal Function 时所习惯的所有优势。这意味着极快的冷启动、对最新 GPU 的访问、全球区域选择等,在 Sandbox 中都可以使用。随着我们让核心平台更强大、更可靠,这些改进将同时体现在 Function 和 Sandbox 中。
我们平台中的紧密集成也意味着,快速构建同时使用 Sandbox 和 Function 的功能变得非常简单!
客户故事
我们为我们的客户在各种需要安全且可扩展代码执行的用例中构建的应用感到自豪。
用 SWE-bench 加速智能体基准测试
SWE-bench 是测试编码智能体最受关注的基准测试。它让 LLM 生成的代码针对真实的 GitHub pull request 运行,以衡量模型在修复 bug、实现功能等方面的表现。
我们已将 Modal 支持上游贡献到 SWE-bench 中,以实现极快的评估。通过在其运行命令中添加一个简单的 --modal 标志,研究人员现在可以:
- 完全在云端运行评估,无需任何基础设施设置
- 跨数百个容器并行执行测试
- 仅在 7 分钟内运行 Verified 基准测试(500 个任务)
Modal 内置的镜像缓存采用与 SWE-bench 现有 Docker 镜像相同的分层方法,从而实现简单的集成过程。这些评估运行以前可能需要数小时;Modal 集成实现了更紧密的反馈循环。
Quora 的安全代码执行
Quora 使用 Modal Sandboxes 为其 AI 聊天平台 Poe 中的代码执行提供支持。当你要求 Poe 的 AI 机器人编写并运行代码时,该代码会在 Modal Sandboxes 中安全执行。它们完全隔离,这意味着代码与 Quora 主基础设施以及任何其他用户的代码都保持分离。
这种集成使 Poe 能够提供交互式编码功能,同时仍保持严格的安全性。你可以试验 AI 建议的代码,而不必担心损坏平台或泄露任何敏感数据。
我们进行了广泛的性能测试,以确保我们能够在 Quora 可能突发达到的任何规模下都具备未来适应性。我们已经测试了高达每秒 1000 个 Sandbox 的 Sandbox 创建吞吐量——如果你需要快速扩展代码执行,请告诉我们!
使用 Codegen 进行大规模重构
Codegen 正在构建一个用于执行大规模代码库重构的 AI 系统。他们的方法包括为目标代码库构建一个庞大的内存索引,并让 AI 模型能够执行“codemods”——实现所需更改的自动化代码转换。例如,我们自己的 modal-client 仓库在 Codegen 中看起来是这样的:
Modal Sandboxes 为 Codegen 提供了两项关键能力:
- 用于构建和维护其内存代码库表示形式的可靠环境
- 用于在严格隔离下运行 AI 生成的 codemods 的安全执行环境
性能与安全性的结合使 Codegen 能够自信地大规模应用 AI 驱动的重构。
使用 Relevance AI 实现 AI 劳动力自动化
Relevance AI 正在构建一个 AI 劳动力平台,使用代理来自动化复杂任务。他们通过两种关键方式利用 Modal Sandboxes:
- 为其 AI 代理运行动态生成的代码提供安全环境
- 为其 notebook/builder 功能提供支持,用户可以在无服务器环境中编写和执行代码
Modal Sandboxes 非常适合 Relevance AI,因为它们提供:
- 按需安装任何包的灵活性
- 运行时命令的完全自定义
- 快速冷启动时间,实现响应式执行
- 支持其代理所需的任何编程语言
这种结合使 Relevance AI 的代理能够处理广泛的自动化任务,同时在执行之间保持严格的安全边界。
立即开始
Modal Sandboxes 对所有用户可用。无论你是在构建 AI 编码助手、运行不受信任的用户代码,还是只需要一个安全的代码执行环境,Sandboxes 都能提供你所需的工具。
开始使用:
- 安装 Modal:
pip install modal - 创建账户:
python -m modal setup - 查看我们的 Sandbox 文档
我们迫不及待想看到你构建的内容!
来源:Modal Blog · modal.com