实验室/microvm-sandboxes-for-tool-use

2025年9月30日 · 9 分钟阅读

用于工具调用的 MicroVM 沙箱:三张图说清楚

当智能体可以执行 shell 命令时,Firecracker、gVisor 和普通容器并不是可互换选项。

Autogent

如果你的智能体会运行 shell、打开浏览器或执行生成代码,隔离边界就是最重要的基础设施决策。主流选择有三类,但它们并不等价。

容器(Linux namespaces)

便宜、启动快,但边界会漏。内核是共享的。一次内核 CVE 就可能让你的“沙箱”变成整台宿主机。可信代码可以用,不适合刚由 LLM 写出来的代码。

gVisor(用户态内核)

通过用户态 Linux ABI 提供更强隔离,拦截每个 syscall。比容器慢,比虚拟机启动快。一些 syscall 是部分模拟的,这会让真实工作负载踩坑。适合“不可信但行为规矩”的代码。

MicroVM(Firecracker、Cloud Hypervisor)

真正的虚拟机,只是非常小:内核加最小设备集。亚秒级启动。硬件隔离,完整 Linux ABI。当代码可能有敌意,或你需要可预测性能时,这是更合适的选择。

怎么选择

把它映射到运行时分类的 L4:

  • 来自可信人类作者的代码?容器可以。
  • LLM 生成、执行一次的代码?gVisor 是甜点区。
  • LLM 生成、持有 secret,或者要运行浏览器会话的代码?MicroVM。启动成本会被整段会话摊薄。

我们正在整理一套 benchmark,让同一个智能体 harness 在三种边界上运行,并保持一致的可观测性。目标是把取舍变成可以放进表格的数字,而不是感觉。