Skip to main content

可以

  1. 可以。这个 DSec 值得**认真啃一遍**,因为它表面上是“Sandbox 基础设施”,但真正重要的是:**DeepSeek 已经把 Agentic RL 的执行环境,从一个训练脚本里的附属组件,做成了一个独立的、可弹性调度的分布式计算系统。**

    我已经把你给的知乎文章作为入口,并进一步对照了 DSec 原始论文 arXiv:2609.22978 的 31 页正文、架构、机制和实验部分。知乎原文目前无法稳定抓取,所以后续我会以论文原文为主,辅以相关资料;论文明确给出的生产规模是:约 **160 个 CPU 节点、30K cores、250 TB DRAM、380K+ 并发 sandbox、5000+ sandbox/s、约 300 万 sandbox/day**。([arXiv][1])

    我建议我们不要一次把 31 页“讲完”。我会把它变成一套 **DSEC Master Guide**,每一层你真正搞懂以后,再往下一层。

    ---

    # 先给你一张地图

    如果只记住一张图,我希望你脑子里是这个:

    
                        Agentic RL
                            │
                            ▼
                  ┌──────────────────┐
                  │   RL Framework   │
                  │  Policy / Reward │
                  └────────┬─────────┘
                           │
                     rollout request
                           │
                           ▼
                  ┌──────────────────┐
                  │      DSec        │
                  │ Elastic Compute  │
                  └────────┬─────────┘
                           │
            ┌──────────────┼──────────────┐
            ▼              ▼              ▼
         Placement       Lifecycle       Security
            │              │              │
            ▼              ▼              ▼
          Edge          Aether          eBPF
            │              │           AppArmor
            ▼              ▼
       ┌───────────────────────────────┐
       │       Sandbox Runtime         │
       ├────────┬────────┬─────────────┤
       │ FnCall │Container│ MicroVM │VM │
       └────────┴────────┴─────────────┘
                     │
                     ▼
              ┌──────────────┐
              │  Image/Data  │
              │     3FS      │
              └──────────────┘
    


    但是这张图还**不够深**。

    真正理解 DSec,要同时理解下面 **6 个问题**:

    
    ① 为什么 Agent RL 必须要 Sandbox?
    ② 为什么普通 Kubernetes / Docker 不够?
    ③ DSec 怎么做到几十万 Sandbox?
    ④ 一个 Sandbox 到底是怎么被创建出来的?
    ⑤ 为什么 EROFS + 3FS 是 DSec 最关键的技术之一?
    ⑥ RL 被抢占的时候,Sandbox 为什么还能继续?
    


    其中我认为 **④⑤⑥才是 DSec 的灵魂**。

    ---

    # 第一课:先彻底理解 DSec 到底解决什么问题

    先不要看 Rust、Firecracker、EROFS、OverlayFS。

    我们先站在一个训练 DeepSeek Agent 的研究员角度。

    假设你训练一个 Coding Agent。

    任务:

    > 修复 GitHub repository repo-A 中的一个 bug。

    Agent 不是直接输出答案。

    而是:

    
    LLM
     │
     │ "我要查看 README"
     ▼
    Sandbox
     │
     └── cat README.md
           │
           ▼
        stdout
           │
           ▼
    LLM
     │
     │ "我要 grep error"
     ▼
    Sandbox
     │
     └── grep -R "error" .
           │
           ▼
    LLM
     │
     │ "我要修改 foo.py"
     ▼
    Sandbox
     │
     └── edit foo.py
           │
           ▼
    LLM
     │
     │ "运行测试"
     ▼
    Sandbox
     │
     └── pytest
           │
           ▼
       reward = 1
    


    这就是 Agentic RL。

    论文把它概括成:

    > rollout → reward → policy update

    即:

    
                      ┌──────────────┐
                      │ Current LLM  │
                      └──────┬───────┘
                             │
                        generate action
                             │
                             ▼
                    ┌─────────────────┐
                    │     Sandbox     │
                    │                 │
                    │ repo            │
                    │ files           │
                    │ dependencies    │
                    │ processes       │
                    │ services        │
                    └────────┬────────┘
                             │
                           result
                             │
                             ▼
                      next LLM action
                             │
                            ...
                             │
                             ▼
                         trajectory
                             │
                             ▼
                          reward
                             │
                             ▼
                       policy update
    


    论文明确指出,Agentic RL 的 rollout 和 evaluation 对 sandbox 平台压力最大,因为它们是**大规模并发、状态保持、和训练循环紧密耦合**的。([arXiv][1])

    ---

    # 第二课:为什么普通 Docker 不够?

    这里是理解 DSec 最关键的转折。

    假设一次 RL batch:

    
    32,000 个 task
    


    那么:

    
    task 1 → sandbox 1
    task 2 → sandbox 2
    task 3 → sandbox 3
    ...
    task 32000 → sandbox 32000
    


    论文说,最大的 production job 可以一次请求 **32K sandbox**。([arXiv][1])

    如果普通 Docker:

    
    docker run image-A
    docker run image-B
    docker run image-C
    ...
    


    问题来了。

    ---

    ## 问题一:创建是“爆发式”的

    不是:

    
    1
    1
    1
    1
    1
    


    而是:

    
    ████████████████████████████████  32K
    


    所以: