跑一次AI编程智能体的评测,意味着让它装包、改文件、敲命令,一套基准测试要重复上千次。Docker的工程师把这形容为"大规模运行不可信的、AI写出来的代码"。这句话本身就说明了问题:你放出去的不是一段脚本,是一个会自己动手的实习生。

打开网易新闻 查看精彩图片

Harbor是开源的智能体评测框架,负责编排——跑任务、收分数、记日志,支持Terminal-Bench这类基准。它缺的是一套既隔离又一致的执行环境。Docker Sandboxes补上的正是这一块:每个评测任务跑在自己的微型虚拟机里,有独立内核,智能体的动作被关在虚拟机内部,碰不到宿主机,也碰不到别的任务。

为什么非要隔离到这个程度?因为评测里有个绕不开的坑,Docker工程师称之为"奖励黑客"——智能体不是把题做对,而是去改测试文件,或者覆盖掉记录分数的那个文件,照样拿到及格分。网络限制能堵掉一条作弊路径,但官方并没有声称能防住沙箱内部的这类操作,比如智能体去改它有权写入的测试文件。

一致性是另一半。在Docker Cloud Sandboxes里,网络策略可以配置:任务在准备阶段拉依赖,智能体开始干活时再收紧网络访问。这样每个智能体都在同样的网络条件下被评测,正好对应结果不可复现的一个常见来源。Docker Compose也支持,Harbor能在单个云沙箱里跑多容器任务,服务和边车共享同一台微型虚拟机。

规模上,Docker给出的具体数字只有一个:在Cloud Sandboxes上测试过64个并发任务。更高的上限可以通过Docker的联系渠道申请。至于启动开销、单任务成本、评测分数的方差,这次发布没有给出基准数据——对延迟和成本敏感的团队,得自己去测。

现在能用的是Docker Sandboxes的nightly版本,稳定版定在10月23日。Harbor通过sbx扩展安装,nightly构建锁定在版本0.24.1.dev202610150414。云端运行需要开通Cloud访问权限的Docker账号,还需要一个带Cloud Sandboxes权限的个人访问令牌,Harbor从SBX_DOCKER_USERNAME和SBX_DOCKER_PAT两个环境变量里读取。跑的时候用-e sbx选沙箱环境,例如harbor run -t hello-world/hello-world -a oracle -e sbx。

本地路径是免费的,云端扩容则取决于Docker的Cloud Sandboxes服务。本地运行先执行sbx login走Docker Sandboxes命令行,再在Harbor命令后加--ek target=local。不过本地集成目前只支持公开网络和无网络两种模式,受机器现有沙箱策略约束。前面说的那套细粒度网络策略只挂在Cloud Sandboxes上,需要这种控制力的团队,得按云端方案来规划。

Harbor这边的沙箱后端名单已经不短,包括Daytona、Modal、E2B、Runloop、Tensorlake、LangSmith、Blaxel、Novita Sandbox、EC2和Beam,细节在其GitHub仓库。Docker之前最近的一个是LangSmith,装langsmith扩展就能在LangSmith生产沙箱里跑评测,走的是和Daytona、E2B、Modal同一套接口。Harbor的云部署文档把Daytona列为最佳选择,理由是它支持用docker-compose.yaml做多容器部署,而Modal、E2B、Runloop不具备这个能力。

Docker把Sandboxes铺到别的智能体平台上的动作也在继续。NanoCo和Docker合作后,一条命令就能把基于爪手的智能体平台NanoClaw部署进Docker的微型虚拟机沙箱。2026年7月,GitHub Agentic Workflows把Docker Sandboxes列为支持的智能体运行时,随gh-aw 0.82.9版本发布。Docker的说明里提到,沙箱有自己的Docker守护进程,智能体因此能跑基于Testcontainers的集成测试,不必挂载宿主机的Docker套接字。

这次集成建立在9月24日Cloud Sandboxes发布的基础上,那次发布把本地沙箱隔离延伸到了Docker托管的云基础设施,笔记本关机也不影响智能体工作流继续跑。第三方对那次发布的报道提到,默认会话时长一小时、最长24小时,暂停的沙箱不计计算费用;同场还推出了打包成OCI镜像的Kits,Docker已承诺把Kits规范提交给CNCF。