犀牛鸟 2026 研究笔记 estelledc.github.io

第十章 · 选型决策树——「我该用哪个?」

这章为谁设计

你已经读完了 6 个项目的介绍,现在要做选择。这章给你一棵可执行的决策树——走完 5 个问题,得到一个具体答案。


日常类比

选沙箱像选银行保险柜:

每个答案都会缩小选择范围,最终指向一种方案。


决策树

按顺序回答以下 5 个问题:

问题 1:你的 Agent 需要执行不可信代码吗?

问题 2:多租户吗?(不同用户的代码在同一台机器上执行)

问题 2b:延迟敏感吗?(交互式 Agent,用户等待每一步)

问题 3:有 KVM 支持吗?(ls /dev/kvm 是否存在)

问题 3b:需要强隔离吗?

问题 4:需要自托管吗?(数据不出境/合规要求/成本控制)

问题 5:需要 E2B SDK 兼容 或 OCI/K8s 集成?


典型场景映射

场景 答案 推荐方案
个人开发者用 Claude Code 写代码 单用户、延迟敏感 L0-L2: Claude Code 自带权限
SaaS 让用户上传代码在线执行 多租户、有 KVM、不自托管 L3: E2B 云服务
企业内部 Agent 平台,数据不出境 多租户、有 KVM、自托管、要 E2B 兼容 L4: CubeSandbox
K8s 集群里跑 Agent 工作负载 多租户、有 KVM、自托管、要 OCI L4: Kata Containers
Mac 上需要比 Docker 更强的隔离 单用户、无 KVM、要强隔离 L1: gVisor
RL 训练需要大量并行 + 快照回滚 多租户、有 KVM、自托管、要快照 L4: CubeSandbox(CubeCoW)

分水岭判断

整棵决策树最关键的分水岭是问题 2:多租户吗?


读完这章你应该能回答

  1. 什么时候不需要沙箱?(不执行代码的纯 API 调用场景)
  2. OS sandbox 够用的条件是什么?(单用户、延迟敏感、代码在同一信任域)
  3. 必须 microVM 的条件是什么?(多租户、不可信代码源、合规要求)
  4. 没有 KVM 怎么办?(gVisor 或 OS sandbox)

导读目录:README.md 上一章:第九章 · Kata Containers——容器和 VM 的「混血儿」 下一章:第十一章 · 威胁模型——AI Agent 代码执行的安全地图