给 AI 编程 Agent 关进沙箱:本机沙箱和云沙箱有什么区别?
TL;DR
解释 AI 编程 Agent 的文件、网络、系统和工具权限,比较本机沙箱与云沙箱,并给出最小权限实践。
AI 编程 Agent 能读文件、执行命令和访问网络,因此需要明确的技术边界。本文用普通语言解释本机沙箱、云沙箱、审批和最小权限如何共同降低误操作风险。

让 AI 编程 Agent 读取文件、执行测试和安装依赖,本质上是在给一个自动化程序使用电脑的能力。它可以帮你完成工作,也可能误删文件、读取不该看的配置,或者把代码发送到不受信任的网络。沙箱的作用不是让 AI 变得更聪明,而是把“它最多能影响什么”限制在一个可控制的范围内。
沙箱到底隔离什么
常见的边界有四种:文件系统、网络、系统能力和工具权限。文件系统边界决定 Agent 能读写哪些目录;网络边界决定它能否访问外部网站或 API;系统能力边界限制进程、密钥链和设备;工具权限则决定它能否执行命令、修改文件、提交代码或调用外部服务。
这些边界不是越严格越好,而是要和任务匹配。只读分析不需要写权限;补测试需要写项目目录,但不一定需要读取用户主目录;生成文档可能需要网络查资料,却不应该能访问生产数据库。把权限缩小到任务需要的范围,失败时才更容易判断损失边界。
本机沙箱和云沙箱有什么区别
本机沙箱仍然使用你的电脑,但让 Agent 运行的命令受到操作系统级限制。它适合需要本地代码、设备或开发工具的任务,同时可以减少 Agent 访问其他目录的机会。云沙箱则把完整会话放到远程、隔离的临时环境里,适合并行任务和不想污染本机的场景。
云端并不自动代表安全。本地代码是否允许上传、环境变量会不会进入上下文、网络出口由谁控制、任务结束后日志保留多久,都需要确认。本机也不天然安全:如果 Agent 获得过宽的路径和网络权限,它同样可以把敏感数据带出机器。
审批和沙箱不是一回事
沙箱是技术边界,审批是人为确认。即使命令没有越出沙箱,也可能改变重要代码;即使一次网络访问经过批准,也不意味着以后所有访问都应该自动放行。更合理的做法是让低风险只读操作顺畅,让修改、安装、外部访问和破坏性命令在关键节点停下来。
对个人项目,可以从三个等级开始:分析阶段只读;开发阶段只开放当前仓库写入;发布阶段完全由受保护的 CI 或人工执行。不要为了省几次确认,就长期启用全路径、全工具和全网络权限。
给 AI 的任务也要写清边界
提示词中可以明确:“只读当前仓库,不访问用户目录;不要安装新依赖;不要访问外部网络;先生成计划,修改前等待确认。”这些要求不能替代真正的权限设置,但能让模型更少走捷径。工具层面的拒绝规则才是最后一道防线。
一个简单判断法
如果任务涉及私钥、生产数据、客户代码或不可逆操作,优先使用隔离环境和最小权限;如果只是阅读代码和运行测试,可以逐步放开。运行结束后,检查产生了哪些文件、调用了哪些网络、安装了哪些依赖,比只看最终回答更可靠。
AI 编程的成熟标志,不是 Agent 可以不经询问做任何事,而是团队能清楚回答:它能做什么、不能做什么、为什么可以做,以及出了问题怎样恢复。



