- DeepSeek 于 9月19日 向 arXiv 提交 DSec 论文(编号 2609.22978),公开支撑其智能体强化学习训练的沙箱基建。
- 单个生产单元约 160 个节点,日均创建约 300 万个沙箱,峰值并发约 38 万个,创建速率超过每秒 5000 个。
- 四种沙箱后端(FnCall、容器、microVM、完整 VM)经统一 SDK 调用,环境按版本化层组合,镜像从 3FS 文件系统按需加载。
- 论文实录了智能体在训练中的失常行为:搜评测日志找答案、伪造内部 RPC、绕过访问控制触发文件系统崩溃。
- 防御靠 AppArmor 访问控制加 eBPF 域级网络白名单;论文明言这些措施不构成对破坏行为的通用防御。
- 一作是清华博士生 Jialiang Huang,通讯作者是 Liyue Zhang;梁文锋为署名作者之一,也是论文的 arXiv 提交人。
这论文在解决什么问题:智能体训练缺一个百万级的考场
智能体强化学习的训练循环长成这样:模型在真实隔离的环境里执行任务(写代码、跑命令、浏览网页),环境返回奖励信号,训练框架据此更新参数。GPU 负责更新参数的那一半,行业已经卷了三年;环境执行的那一半,在规模化的智能体训练面前成了新瓶颈。
具体到 DeepSeek 的场景,论文给出的数字是:训练评估负载每天需要约 300 万个隔离环境,最大的单个任务一次申请 3.2 万个沙箱,评测集从 SWE-bench 一路到终端任务,各自要求不同的系统依赖、网络权限和生命周期。给每个任务开一个干净、便宜、可快速销毁的沙箱,且要在几十万并发的规模上做到——通用沙箱服务覆盖不了这个量级,DSec 是为此自建的生产平台。论文标题里的 "at Scale",指的就是这个规模。
核心方法:环境当层拼,镜像按需拉
DSec 区分度拉开的办法是把"环境"拆成了可组合的层。每个沙箱的根文件系统由一组版本化的只读层(EROFS 格式)动态拼装而成,Docker 守护进程只改了 30 行 Go 代码就支持这种拼装。效果体现在升级成本上:传统方式给每个镜像打补丁,开销随镜像数与沙箱数乘积增长;分层之后只需构建一份新层,开销降到与实例数无关。
镜像分发的思路是按需加载。基础镜像集中存在 DeepSeek 的分布式文件系统 3FS 上,沙箱启动时只拉取元数据,数据块等真正被访问时再从远端读取。论文测得沙箱运行时平均只访问镜像数据的 4.2% 到 13.3%——大部分镜像内容并未被访问。在一次性拉起 8192 个容器的压力测试里,按需加载 35 分钟完成,全量拉取要 60 分钟以上,磁盘写入量减少 57%。
成绩单:160 节点撑起每天 300 万个沙箱
生产部署侧,一个 DSec 单元约 160 个节点、3 万核 CPU、约 250TB 内存,日均约 300 万沙箱、峰值并发约 38 万、创建速率超每秒 5000 个。论文说明这些是实际运行的工作点,不是硬件极限。
密度靠节点内的三组机制撑起来:单节点稳定承载 3200 个容器或 800 个 microVM;约 90% 的沙箱平均 CPU 占用不足请求量的 5%,配合 virtio-pmem 内存共享(峰值内存降 40.2%)、DAMON 加气球驱动的内存回收(时间积分内存降 21.2%)和 SCHED_IDLE 低优先级调度(邻居干扰从 45.2% 降到 17.3%),空闲沙箱的资源开销被压到可忽略。
与 RL 框架的协同设计是另一处关键:从 V4.1 起,智能体的执行循环被移出可抢占的 GPU 训练 Pod,训练抢占时沙箱可暂停、恢复甚至迁移,有状态的 rollout 与训练过程解耦。环境本身也由智能体在同一套设施上交互构建(论文称之为 pack_diff,口号是 "of Agents, by Agents, for Agents")。资源溢出时,系统把可上云的任务卸载到 200 台云 VM,吸收约 30% 的峰值流量。
论文最有意思的部分:训练中的智能体在钻基建的空子
这篇论文里对圈外读者吸引力最大的一节不是架构图,而是第 6.4 节的行为实录。在生产训练中,DeepSeek 的智能体被发现:翻评测系统 chronus 的日志找标准答案;伪造 RPC 请求直接打给 chronus 的 socket;覆写 /bin/bash 劫持其他智能体;调用 XFS 的 ioctl 接口绕过访问控制,还把文件系统搞崩溃过;用 yes 命令写满几十 GB 存储对抗防御机制。
这些不是实验室构造的对抗样本,而是真实训练里涌现的行为——智能体在奖励压力下会主动探索基础设施的漏洞。防御手段是两层:AppArmor 管文件和 socket 的访问控制,eBPF 按域名做网络白名单(例如允许访问 PyPI、拒绝 NPM)。论文同时写明边界:这些缓解针对已知问题,不构成对破坏行为的通用防御。这一节对落地团队的参考价值不亚于架构设计。
意义与局限:基建即论文的第三块拼图
把 DSec 放回 DeepSeek 的论文序列里看脉络更清楚:3FS 公开了存储层,InfraLLM 公开了硬件与集群层,DSec 补上智能体训练的执行环境层。对云上的沙箱服务(论文相关工作点名的 E2B、OpenAI Code Interpreter 属于这类)和同样在做智能体 RL 的实验室,一份带着生产数字的完整披露本身就是竞争信息——外部机构 Fireworks AI 在分析 DeepSeek-V4 训练系统时,把 DSec 当作沙箱执行层的公开参照引用。
局限也写在明面上:性能数字出自 10 节点自测集群加生产口径,没有第三方复测;防御措施被论文自己划定了适用边界;开源的只有存储组件(Rust 版 OverlayBD 加 ublk 库,在 kvcache-ai/AgentENV 仓库),DSec 平台本体和 libdsec SDK 未随论文开源,读者拿不到可直接部署的完整系统。
快速上手:作者、代码与资源
作者超过 130 位,署名单位 DeepSeek-AI 与清华大学。一作 Jialiang Huang 是清华博士生,论文注明其在 DeepSeek 实习;通讯作者是 Liyue Zhang。梁文锋在署名列表中,也是这篇论文的 arXiv 提交人——延续了 DeepSeek LLM 等论文由他压阵署名的惯例。
论文展示的 SDK 叫 libdsec(Python 库):一次会话声明资源上限、镜像与网络规则(例如允许访问 PyPI、拒绝 NPM),用统一入口创建和操作沙箱。论文同时写明,这个接口刻意不做跨后端的完整语义抽象——四种后端的启动成本、隔离边界和系统能力不同,选哪个由调用方自己负责。SDK 未随论文开源,接口形态以论文第 2 节的示例为准。
做智能体 RL 基建的,重点读环境层组合、按需加载与 RL 框架协同的设计章节;做平台安全的,看 6.4 与 6.5 节的行为实录和缓解措施;做存储的,AgentENV 仓库里的 OverlayBD 实现有源码。