沙箱是智能体在其中运行的隔离环境,可以是容器、虚拟机、临时文件系统,也可以是权限受限的 shell。它限制智能体操作的影响范围:即使智能体执行了破坏性命令,或获取到恶意内容,损害也会被控制在边界之内。正是这层安全基础,让 AFK 式运行真正可行。
沙箱与权限模式从两个方向解决同一个问题。权限机制在操作执行前询问;沙箱则限制操作执行后能够触达的范围。权限机制要求你始终参与其中——每次询问都是一次打断,持续请求确认的会话几乎谈不上自主。沙箱用基础设施换取人的注意力:隔离越强,需要询问的问题就越少。
隔离也有不同等级:
| 等级 | 实现方式 | 能够限制的影响 |
|---|---|---|
| 受限 shell | 在操作系统层面对每条命令进行约束 | 项目目录外的写入和网络访问 |
| 容器 | 全新文件系统,不挂载凭据,用后即弃 | 智能体对自身运行环境所做的一切 |
| 虚拟机 / 云环境 | 完全独立的机器,通常由运行框架提供 | 几乎所有影响,包括内核级逃逸 |
任何沙箱都无法约束那些被合法放行、越过边界的操作。拥有你的 git 凭据,智能体就能推送代码;拥有网络访问权限,它就能调用生产 API。先决定允许什么穿过边界,再决定隔离层要做多厚。
用法:
“我想让它整夜以 bypass-permissions 模式运行,但还不敢直接这么做。”
“把它放进沙箱:使用全新容器,不挂载任何凭据,也不允许访问外部网络。最坏的结果不过是它毁掉自己的文件系统,之后丢弃容器即可。”