AI 编程这么火,想训练个 SWE Agent 却没有资源怎么办?
最近,软件工程智能体(后统称 SWE Agent)由于其清晰的落地场景和巨大的应用价值受到了学术界和工业界的广泛关注。
然而,当上手训练 SWE Agent 时,却发现事情并不简单。当前 SWE Agent 的训练都是通过容器(Docker 或 Podman)来实现运行环境的隔离和复现。但是,容器的高昂开销却把很多从业者拒之门外。
那么能不能做一个不依赖容器的低成本框架,让资源不多的从业者也能训练自己的 SWE Agent 呢?SWE-MiniSandbox 正是在这样的初衷下开源了~

SWE-MiniSandbox 是一个无需容器(Container-Free)的软件工程沙盒环境。其目标是解决当前 SWE Agent 训练中依赖容器的痛点:需要构建和维护大量的容器镜像,并运行高性能的容器服务器集群,导致了高昂基础设施和运维成本。因此,当扩展批量规模或提高 rollout 数量时,容器服务器承载量成为主要性能瓶颈,造成计算资源受限情况下训练无法扩展,而缺乏容器管理权限或没有专用编排基础设施的从业人员则无法训练自己的 Agent。
与容器环境相对,SWE-MiniSandbox 在实现进程和文件系统隔离的过程中绕过了对容器或重型镜像的依赖,通过按实例划分的挂载命名空间(mount namespaces)和基于 chroot 的文件系统隔离机制,为每个实例创建隔离的终端会话和私有目录。
在此基础上,SWE-MiniSandbox 实现了一套环境预缓存流水线:构建基于轻量级 Python conda+venv 的混合环境,安装特定任务的依赖项,并在不同运行间复用压缩的缓存产物。通过将环境和代码仓库打包成缓存,利用基于 Ray 的资源控制和信号量来限制并发解压,从而实现 I/O 的精细管理。
通过直接与现有核心 SWE 工具集成 ——SWE-Rex(终端管理)、SWE-agent(任务求解)和 SkyRL(可扩展的多节点 RL),SWE-MiniSandbox 成为了 SWE Agent 任务中容器后端的一个无缝、即插即用的替代品。
在实际效果上,SWE-MiniSandbox 使环境缓存大小降低至同类基于容器方法的 5% 左右,将环境准备时间缩短至容器基线的 25%,并且消除了对额外容器服务器的需求。
而在这样低资源依赖下,该环境在同等数据和参数设置下训练出的 SWE Agent 和容器环境下训练出的 Agent 在 SWE-bench Verified 上评测效果相当,可以说,大幅降低了 SWE Agent 的入门门槛。

I. 无容器隔离机制(Container-Free Isolation)
📌 核心优化:Chroot + Mount Namespaces + Terminal Isolation
Chroot
Mount Namespaces(挂载命名空间)
Terminal Isolation(终端隔离)
✅ 优势:
II. 环境预缓存流水线(Pre-Caching Pipeline)

传统解决方案
每个任务都需要建立独立镜像,并基于 conda 安装独立 python 环境
SWE-MiniSandbox 解决方案
1. 构建轻量级 Python 环境(conda+venv)
2.I/O 瓶颈管理与并发控制
为解决任务高并发下磁盘队列拥堵问题,为并发任务总吞吐量设置上界:


SWE-MiniSandbox 通过结合信号量和 ray 资源标签机制对并发数进行控制。
III. 与现有工具链的集成

在 RL 分布式扩展方面,该框架基于 Ray 构建,支持多节点资源分配调度,适应大规模 RL 训练需求。
I. 更小体积

传统容器方法需要维护动辄 GB 级的容器镜像,而 SWE-MiniSandbox 单环境仅需维护 100MB 左右轻量化 venv 缓存。例如在 SWE-smith 数据集上,SWE-MiniSandbox 环境缓存大小仅为传统容器镜像的 5%。
II. 相同训练效果,更快的环境启动时间

实验结果显示 SWE-MiniSandbox 框架的训练质量(SWE-bench Verified)和传统 Docker 框架几乎一致,同时在环境准备时间上仅仅是 Docker 的 25% ,显著减少了 rollout 的平均时间开销。
III. 优秀的多节点可扩展性

在多节点训练中 SWE-MiniSandbox 会被平均分配到各个节点上,因此在负载合理的情况下多节点的平均环境启动速度和单节点几乎一致。
IV. 可视化

通过拆解强化学习 rollout 的时间代价并对各部分进行可视化分析,发现 SWE-MiniSandbox 在环境准备时间(蓝色)上明显短于 Docker 环境。
除此之外,使用 1600 条数据在 SWE-Agent-LM-7B 上训练 200 步后对比 SWE-MiniSandbox 和 Docker 环境的 Reward 曲线,发现二者走势基本一致,从而进一步验证了 SWE-MiniSandbox 提供的无容器环境能够实现和传统 Docker 环境一致的训练效果。

在 SWE-MiniSandbox 开源基础上,团队认为未来有几个方向可以考虑:
文章来自于“机器之心”,作者 “袁旦龙”。
【开源免费】Browser-use 是一个用户AI代理直接可以控制浏览器的工具。它能够让AI 自动执行浏览器中的各种任务,如比较价格、添加购物车、回复各种社交媒体等。
项目地址:https://github.com/browser-use/browser-use
【开源免费】字节工作流产品扣子两大核心业务:Coze Studio(扣子开发平台)和 Coze Loop(扣子罗盘)全面开源,而且采用的是 Apache 2.0 许可证,支持商用!
项目地址:https://github.com/coze-dev/coze-studio
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md