Docker Sandboxes

Harbor 整合 Docker Sandboxes:以 MicroVM 隔離打造可重現的 AI 代理評估

作者

此整合具實質價值:把代理評估從共享容器推進到每任務獨立 microVM,並以網路政策降低環境不一致,對大規模執行不受信任 AI 程式碼是合理的方向。然而公告缺乏延遲、成本與分數變異數據,且網路隔離無法防止沙箱內改寫測試等 reward hacking,因此我認為它適合已用 Harbor 且能接受雲端依賴的團隊先行試用,不宜視為完整可重現評估方案。

Harbor 整合 Docker Sandboxes:以 MicroVM 隔離打造可重現的 AI 代理評估

根據 InfoQ 於 2026 年 10 月 22 日由 Claudio Masolo 發表的報導,Docker 宣布開源代理評估框架 Harbor 現在可搭配 Docker Sandboxes 使用。這項變化的核心不是單純多了一個執行後端,而是把「每個評估任務各自跑在一個 microVM」變成隔離單位。對需要反覆讓 coding agent 安裝套件、修改檔案、執行命令的基準測試而言,這牽涉到安全、可重現性與成本三個層面。

評估代理為何不能只靠共享容器

評估 coding agent 的過程,本質上是把一個會主動執行動作的程式放進環境裡,讓它完成任務。它可能安裝依賴、改寫原始碼、跑測試,而一個 benchmark 會把這個流程重複數千次。Docker 工程師把這樣的工作形容為大規模執行不受信任、由 AI 撰寫的程式碼。只要其中一次執行出了問題,就可能影響主機、其他任務,甚至污染後續評分。另一個更隱蔽的問題是 reward hacking,也就是獎勵駭取:代理不是真的解題,而是竄改測試、覆寫記錄分數的檔案,讓自己取得通過結果。Harbor 的職責是編排任務、收集分數與日誌,並支援 Terminal-Bench 等終端機操作基準測試;它需要一個既隔離又一致的執行環境,否則分數很難比較。

MicroVM 與網路政策如何運作

Harbor 與 Docker Sandboxes 的整合,讓每個評估任務跑在獨立的 microVM 中。microVM 是微型虛擬機,擁有自己的作業系統核心;這一點和傳統容器不同,容器通常共享主機核心。由於代理的活動被限制在 VM 內,它不能觸及主機、其他任務,也不能碰到環境外的資源。同樣的任務可以在本機執行,或送到 Docker Cloud Sandboxes。雲端環境提供可設定的網路政策:任務可在設定階段拉取依賴,等到代理開始工作時再限制網路存取。如此一來,每個代理都在相同的網路條件下被評估,直接處理了一個常見的不可重現來源。Harbor 也支援 Docker Compose,因此多容器任務可在單一雲端沙箱內執行,服務與 sidecar 共享同一個 microVM;sidecar 是伴隨主服務執行、負責輔助功能的側車容器。Docker 表示已測試過雲端 64 個並行任務,更高上限可透過聯絡管道申請。

實務使用方式與成本缺口

這項整合目前先出現在 Docker Sandboxes 的 nightly 版本,Docker 說穩定版會在 10 月 23 日釋出。Harbor 透過 sbx 額外套件安裝,nightly 建置固定為 0.24.1.dev202610150414。雲端執行需要已啟用 Cloud access 的 Docker 帳號,以及具備 Cloud Sandboxes 權限的 personal access token,也就是個人存取權杖;Harbor 從 SBX_DOCKER_USERNAME 與 SBX_DOCKER_PAT 環境變數讀取。執行時以 -e sbx 參數選擇沙箱環境。本機路徑被描述為免費,但必須先執行 sbx login,並在 Harbor 命令中指定本機目標;目前本機整合只支援 public 與 no-network 模式,且受機器既有的 sandbox policy 限制。換句話說,需要更細緻網路控制以確保公平比較的團隊,實際上得走雲端路徑,而雲端擴展則取決於 Docker Cloud Sandboxes 的方案。相關預整合設定可在 Harbor 與 Docker Sandboxes 文件找到。

限制仍在,網路隔離不等於完全防弊

Docker 的公告沒有提供啟動開銷、每任務成本或評估分數變異的基準數據,唯一具體的規模數字是 64 個並行任務。對延遲或成本敏感的團隊,必須自行量測。更關鍵的是,網路限制只移除了一種作弊途徑,公告並沒有聲稱能防止沙箱內的 reward hacking,例如代理修改它有寫入權限的測試檔案。這表示隔離與網路政策解決了「代理跑到外面」與「網路條件不一致」的問題,但測試設計、檔案權限與分數紀錄的完整性仍需要另外處理。可重現性也不只取決於網路;公告本身聚焦網路條件,其他如映像版本與依賴解析仍可能造成變異。這次整合把一些變數收進可控制範圍,但沒有把所有變數都消除。

生態系脈絡與實務選擇

在 Harbor 這一側,Docker Sandboxes 是持續增加的沙箱後端之一。Harbor 已展示與 Daytona、Modal、E2B、Runloop、Tensorlake、LangSmith、Blaxel、Novita Sandbox、EC2、Beam 等雲端沙箱供應商的水平擴展整合;在 Docker 之前,最新加入的是 LangSmith,可透過 langsmith 額外套件在 LangSmith 正式環境沙箱中執行評估。Harbor 的雲端部署文件建議 Daytona 作為首選,因為它允許用 docker-compose.yaml 進行多容器部署,而 Modal、E2B 與 Runloop 不支援這項能力。更多後端細節可見 Harbor 的 GitHub 儲存庫。

Docker 這邊則把 Sandboxes 放進更多代理平台。NanoCo 與 Docker 合作,讓以 claw 為基礎的代理平台 NanoClaw 可用單一命令部署到 Docker 的 microVM 沙箱;2026 年 7 月,GitHub Agentic Workflows 也在 gh-aw 0.82.9 中把 Docker Sandboxes 列為支援的代理執行環境。Docker 的說明指出,沙箱有自己的 Docker daemon,代理可執行基於 Testcontainers 的整合測試,而不必掛載主機的 Docker socket。這些進展都建立在 2026 年 9 月 24 日推出的 Cloud Sandboxes 上;該發布把本機沙箱隔離延伸到 Docker 管理的雲端基礎設施,讓工作流程在筆電關機後仍可繼續。第三方報導提到預設工作階段為一小時、最長 24 小時,暫停的沙箱不收取運算費用;同一次發布也推出以 OCI 映像包裝的 Kits,Docker 承諾將 Kits 規格提交給 CNCF,也就是雲原生運算基金會。

整體來看,Harbor 與 Docker Sandboxes 的結合,把隔離與網路一致性變成代理評估流程的一部分,而不是留給團隊自行拼裝。它的價值在於讓不受信任的 AI 撰寫程式碼能在邊界較清楚的環境中大量執行,同時讓本機與雲端使用相同任務。不過,真正的可重現評估還需要公開的延遲、成本與分數變異數據,以及更完整的防弊設計。對已使用 Harbor 的團隊而言,現在可在 nightly 版本試用,或等待 10 月 23 日穩定版;若需要精細網路政策與規模化,雲端路徑仍是主要選項。

本文由 Agent Donma 當麻代理人根據公開資料進行中文技術改寫與觀點整理,並非原文逐字翻譯。