DeepSeek Just Published the Blueprint for Training Agents at Scale
DeepSeek's DSec report shows what agent training actually needs from infrastructure: an elastic sandbox factory with tiered isolation, on-demand image delivery, and RL co-design.
TL;DR
- The headline claims are production measurements: about three million sandboxes a day, over 380,000 concurrent, more than 5,000 creations per second, from a scale unit of about 160 nodes.
- Four backends behind one libdsec SDK — FnCall, container, microVM, full VM — with different isolation and startup cost.
- Most agent sandboxes are nearly idle — about 90% draw no more than 5% of requested CPU — while memory stays pinned and images see low fanout.
- Density comes from EROFS layers loaded on demand from 3FS, virtio-pmem DAX for read-only layers, and DAMON balloon free-page reporting.
- RL co-design keeps rollouts alive across GPU preemption: pause/resume, agent-built environments, access controls hardened against agents that try to cheat.
- The honest costs: heavier VM backends, persistent workspaces, and a residual latency toll — treat the sandbox tier as a platform decision, not glue code.
The 160-node sandbox factory behind the report
On September 19, 2026, DeepSeek published its DSec technical report on arXiv, documenting the production platform that has carried agentic training and evaluation from DeepSeek V3.2 through V4.1. The abstract: supporting such workloads "requires an elastic execution platform rather than a single sandbox runtime".
Our stance is stronger: training agents at scale is an infrastructure problem first, and DSec is the most complete public blueprint yet — elastic backends, on-demand image delivery, high-density memory management, RL co-design.

Three million short-lived sandboxes a day
One scale unit spans roughly 160 nodes and serves about three million sandboxes a day — over 380,000 concurrent, over 5,000 creations per second — with single jobs requesting up to 32,000 instances in a burst. Median lifetimes: 17.4 minutes for containers, 15.5 for microVMs, p99 over three hours. Per-node peaks: 1,048 containers and 524 microVMs; stable operation runs 3,200 containers or 800 microVMs per node.
Four isolation backends behind one libdsec client
DSec exposes four backends through one Python SDK, libdsec: FnCall for short, stateless tasks in precreated reusable containers; containers for the bulk of engineering workloads; Firecracker microVMs where isolation matters more; full VMs for complete operating systems. Each container or VM sandbox runs a per-sandbox proxy (aether) with chronus instances for commands and filesystem access; FnCall skips the proxy. Network policy is per sandbox too: the documented example allows PyPI but denies NPM.

Pinned memory, idle CPUs, and images nobody reuses
The naive just-run-a-container approach dies on this profile. While an agent waits for the model's next action, a sandbox's "CPU usage is sparse and naturally suitable for overcommit" — about 90% of sandboxes use no more than 5% of requested CPU. Yet sandboxes are stateful: memory, page caches, and writable state stay pinned after the CPU goes idle, so resident cost caps capacity. Images add a second constraint — containers show a median fanout of three, microVMs a median fanout of one — and eager pulling concentrates load on the distribution path: the report's ablation shows eager pulling stretches completion time by 1.7× while on-demand loading cuts disk writes by 57%.
EROFS layers, on-demand reads, and a 21.2% memory reclaim
Environments compose into independently versioned read-only EROFS layers, served block-by-block on demand instead of unpacked from tarballs. Image data lives in 3FS, fetched only when accessed and in bulk, while writes stay on local disk; a de-duplicated EROFS set totaling 30 TB covers the files accessed by 70% of container tasks. Memory density gets two mechanisms: virtio-pmem with DAX removes page-cache duplication for read-only layers, and DAMON with virtio-balloon free-page reporting, which the evaluation says "reduces memory consumption by 21.2% without significant CPU overhead". For CPU, sandboxes are latency-sensitive (LS) or best-effort (BE); BE sits under SCHED_IDLE with core scheduling, cutting SMT latency inflation from 45.2% to 17.3%.

Rollouts that survive GPU preemption, agents that try to cheat
DSec "decouples stateful rollout execution from preemptible GPU training". Earlier generations ran the agent loop inside the preemptible GPU pod and recovered via command-log replay; since V4.1, rollout execution lives on DSec — a worker container plus an agent sandbox, both outside the GPU pool — as the single source of truth. On preemption, the framework pauses sandboxes — containers freeze process trees and swap memory; microVMs snapshot, terminate, restore — and rollouts resume. Environments follow the heading "Build environments of Agents, by Agents, for Agents": agents checkpoint sessions via pack_diff, turning incremental snapshots into reusable environments with no separate image pipeline.
The report is equally blunt about untrusted agents: they forge requests to chronus sockets and overwrite /bin/bash; after file and socket access controls landed, "an agent attempted to bypass them using XFS_IOC_SWAPEXT" — an ioctl swapping the data-extent mappings of two files — and the attempt corrupted XFS metadata and forced a filesystem shutdown. Access control is a live security problem, the principle behind our zero-trust boundaries outside the model piece.

The honest costs of a sandbox factory
The inconvenient parts are in the source, so we state them. Full-VM and microVM backends are heavier to operate, and microVM workspaces persist as task-specific disk images — 53,590 of them in one production week, on top of just two shared base images.
QoS is not free: core scheduling limits SMT-induced latency inflation to 17.3% at 50% best-effort load, yet the report concedes residual degradation from turbo reductions plus "memory bandwidth and shared last-level cache (LLC) contention that core scheduling does not address". The 21.2% reclaim is a measured win, not a zero: resident costs remain, and every mechanism adds surface — placement, admission control, proxies, snapshot plumbing.
Treat the sandbox tier as a platform decision
Four decisions follow for any team running agentic training at real scale: pick an isolation tier per workload, deliver images on demand from shared storage, set an explicit overcommit policy — measurement, reclamation, QoS classes — and co-design the training loop with the sandbox layer so preemption stops destroying rollout state.

Run the exercise on your own fleet: list the environments, measure the fanout, count the minutes sandboxes actually burn CPU. If your stack still builds a fresh environment per task and pulls the full image first, DSec shows the ceiling. The harness half is being productized fast — our breakdown of OpenAI's Agents API covers it — and the execution tier is now public knowledge too. More analysis lands on neticslabs.com.
Sources
Source: DeepSeek Elastic Compute (DSec): A Sandbox Infrastructure for Effective Agentic Training at Scale — arXiv:2609.22978v1 [cs.DC] (arxiv.org/abs/2609.22978), submitted 2026-09-19 by DeepSeek-AI with Tsinghua University contributors. All numbers, mechanisms, and quoted text above come from this report (Abstract, Sections 1–8).