Harbor 集成 Docker Sandboxes 实现 AI 代理隔离评估
开源代理评估框架 Harbor 现已支持 Docker Sandboxes,允许每个评估任务在独立的微虚拟机(microVM)中运行。这一集成解决了传统容器共享环境导致的性能干扰和“奖励破解”问题,通过内核级隔离和网络策略限制,确保了大规模并发评估的可重现性与安全性。目前该功能已进入稳定版,支持本地及云端部署。
报道正文
Docker 宣布,开源代理评估框架 Harbor 现已支持 Docker Sandboxes。这一变更使得每个评估任务都能在各自的微虚拟机(microVM)中运行。因此,各评估任务不再共享同一个容器,而是隔离的环境中运行,从而提升了性能。这些任务既可以在本地运行,也可以在 Docker Cloud Sandboxes 中运行。Docker 表示,他们已在云端对 Harbor 做了 64 个并发任务的测试。
评估编程代理意味着允许其安装软件包、编辑文件并执行命令,而基准测试会重复执行这些操作数千次。Docker 工程师将此描述为大规模运行由 AI 编写的不可信代码。他们还特别指出了“奖励破解”现象:代理通过篡改测试或覆盖记录其分数的文件来获得及格分数,而非真正地完成任务。Harbor 负责协调管理工作,包括运行任务、收集分数和记录日志。它还支持 Terminal-Bench 等基准测试,并且需要一个既隔离又一致的执行环境。
每个任务都在 Docker Sandbox 中运行,这是一种拥有独立内核的微虚拟机,因此,编码代理的活动仅限于虚拟机内部,不会触及主机、其他任务或任何环境外的内容。在 Docker Cloud Sandboxes 中,可配置的网络策略允许任务在设置期间拉取依赖项,并在随后的代理运行期间限制其互联网访问。然后,每个代理都会在相同的网络条件下接受评估,从而解决了通常会导致结果无法复现的问题。由于支持 Docker Compose,Harbor 可以在单个云沙箱内运行多容器任务,让服务和边车(sidecars)共享同一个微虚拟机。
该公告未包含有关启动开销、每项任务成本或评估分数波动的基准数据。唯一一个具体的规模数据是 Docker 在 Cloud Sandboxes 上测试的 64 个并发任务。如果需要更高的上限,可以通过 Docker 的官方联系渠道提出申请。对每项任务的延迟或成本较为敏感的团队需要自行进行度量。
目前,该集成功能已经在 Docker Sandboxes 的夜间构建版本中提供。Docker 表示,该功能已于 10 月 23 日进入稳定版。Harbor 可以通过 sbx 扩展进行安装,夜间构建版本固定为 0.24.1.dev202610150414。在云端运行需要一个已启用云端访问权限的 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 服务。
已经使用 Harbor 的团队可以立即在夜间构建版本上尝试这项集成,或者等到 10 月 23 日稳定版本发布。本地运行需要在 sbx login 后通过 Docker Sandboxes CLI 进行,并在 Harbor 命令中添加 --ek target=local 参数。目前,本地集成仅支持公共模式和无网络模式,具体取决于机器现有的沙箱策略。用于保障评测公平性的细粒度网络策略仅与云沙箱深度绑定,因此,需要此类控制的团队应规划采用云端方案。网络限制消除了一条作弊途径,但本文并未说明如何防止沙箱内的奖励破解行为,例如代理修改其可写入的测试文件。Harbor 和 Docker Sandboxes 的文档介绍了预集成的沙箱设置。
Docker 与 Harbor 的集成进一步丰富了该框架日益扩大的沙箱后端列表,同时也进一步拓展了 Docker Sandboxes 可集成的智能代理运行时的范围。
在 Harbor 方面,该框架展示了与云沙箱提供商的水平扩展集成,其中包括 Daytona、Modal、E2B、Runloop、Tensorlake、LangSmith、Blaxel、Novita Sandbox、EC2 和 Beam。要了解更多详细信息,可以查看其 GitHub 仓库。在 Docker 之前,最新支持的是 LangSmith 沙箱。通过安装 langsmith 扩展,你可以在 LangSmith 的生产沙箱中运行评估任务。其操作界面与 Daytona、E2B 或 Modal 完全一致。要了解更多详情,请参阅 Towards AI。Harbor 的云部署文档建议将 Daytona 作为最佳选择。Daytona 支持通过 docker-compose.yaml 文件进行多容器部署。相比之下,Modal、E2B 和 Runloop 并不支持此项功能。
除了 Harbor 之外,Docker 还一直在将沙箱部署到其他代理平台中。NanoCo 与 Docker 已经达成合作。现在,你只需要一条命令,就可以在 Docker 的 MicroVM 沙箱中部署基于 Claw 的代理平台 NanoClaw。该信息来自 DevOps Digest。2026 年 7 月,GitHub Agentic Workflows 将 Docker Sandboxes 添加到受支持的代理运行时列表中。该功能随 gh-aw 0.82.9 版本发布。Docker 的操作指南指出,该沙箱拥有独立的 Docker 守护进程。这种配置使代理能够运行基于 Testcontainers 的集成测试,而无需挂载 Host Docker Socket。Harbor 集成基于 9 月 24 日发布的 Cloud Sandboxes 功能。此次发布将本地沙箱隔离扩展到了 Docker 管理的云基础设施。现在,即使笔记本电脑关机,代理工作流也能继续运行。对于此次发布,有第三方报道称,默认会话时长为 1 小时,最长可达 24 小时,而且已暂停的沙箱不会产生计算费用。此次发布还推出了以 OCI 镜像形式打包的 Kits。而且,Docker 已承诺将 Kits 规范提交给 CNCF。NanoClaw 与 Docker Sandboxes 集成参见这里。
原文链接:https://www.infoq.com/news/2026/10/ai-agents-harbor-docker/