看到 Docker Sandboxes 默认开着 YOLO 模式那条消息时,我愣了两秒。不是因为它激进——是因为它老实。把"代理可以不经过任何审批直接动手"写进默认配置,白纸黑字。
市面上多的是嘴上说"AI 代理要谨慎使用"、转头就让它随便折腾的。谁也没捅破这层窗户纸。Docker 捅了。行,够坦诚。
我第一次跑 Claude Code 让它动一个老项目的测试配置时,"是否允许写入这个文件""是否运行此命令"弹了七八个。画外音:每个弹窗我都没细看,直接回车。弹窗的意义就是让我看一眼,我一次都没看。
--dangerously-skip-permissions
这参数名连装都不装。我欣赏。
沙箱确实是在认真解决放权问题。代理在 microVM 里装包、改配置、起容器,折腾乱了扔了重建就是,宿主毫发无伤。对"我想知道它到底能信几分"的场景,这就是个观察室。
但我盯着默认值看了很久,总觉得哪里不对。后来想明白了:它兜底的东西,和我真正怕的东西,不是一个。
microVM 隔离的是系统边界。代理把环境弄烂一百次,你的机器一根汗毛都不会掉,这是它该领功的地方。可 AI 代写的代码真正坑我的,绝大多数不是"它把系统弄烂了",而是"它把代码改成了看起来对、跑起来对,却绕过我原本意图的东西"。边界情况没处理,新旧逻辑混在一起,一个只影响两条路径的行为被它顺手改成了全局的。沙箱对这些连感知都没有——它的边界,画在代码外面。
上回让一个 agent 重构一个老函数,它没弄坏任何东西,跑得干干净净。就是因为跑得太干净了,我才差点没发现,它对一个边界情况的理解和我的不一样。这种"对但不对"的翻车,沙箱永远不会替你拦住。
我不担心这产品会让 AI 代理更危险。隔离兜底让尝试变便宜,这本身是好事。我担心的是那个默认值带来的暗示:YOLO 默认开着,等于官方在替你做"要不要审"的决定,答案永远是"不用"。审查是最不该被跳过的东西,现在它是默认跳过的。
老实说,这个分寸我自己也没完全想明白。也许是我被弹窗烦过,知道人一旦尝过"不审"的甜头就回不去了。但至少留条规则给自己:
沙箱保护的是我的机器,不是我的代码。代码对不对,责任照旧在我这边——隔离只是给了我一个可以放心不信任它的地方。
