我們今天宣布與 Docker 合作,實現只需一條指令即可在 Docker 沙盒中運行 NanoClaw。你可以在 Docker 的官方部落格閱讀相關介紹。
這項功能自動處理程式碼複製、設定與 Docker 沙盒配置。當然,你也可以從原始碼手動安裝。
注意:目前 Docker 沙盒支援 macOS(Apple Silicon)與 Windows(x86),Linux 支援將於未來幾週陸續推出。
運行後,每個代理都會在微型虛擬機(micro VM)內的獨立容器中執行,無需專用硬體,也不需複雜設定。
Docker 沙盒讓代理在輕量級微型虛擬機中運行,每個微型虛擬機擁有自己的核心、Docker 守護程序,且無法存取主機系統。這不僅是容器隔離,更是超越容器的虛擬機層級隔離,啟動時間僅需毫秒。
NanoClaw 天然適合這種架構:
每個 NanoClaw 代理在自己的容器中運行,擁有獨立的檔案系統、執行環境、工具與會話。你的銷售代理看不到你的私人訊息,客服代理也無法存取你的 CRM 資料。這些都是由作業系統強制執行的嚴格邊界,而非代理本身的限制。
微型虛擬機層提供第二道防線。即使代理意外突破容器隔離,也會被虛擬機牆阻擋。你的主機、檔案、憑證與其他應用程式都在嚴格隔離的另一側。
我在《不要信任 AI 代理》中提到:當你使用 AI 代理時,應視其為不可信且可能惡意的。可能發生提示注入、模型異常行為,甚至是尚未預見的問題。正確的做法是設計架構時假設代理會出錯,並在出錯時限制損害。
這個原則貫穿 NanoClaw 的每個設計決策。不要將秘密或憑證放在代理環境中。只給代理執行工作所需的資料和工具,其他一律隔離。
有了 Docker 沙盒,隔離層變成兩層。每個代理在自己的容器中運行(無法看到其他代理資料),所有容器又在微型虛擬機中運行(無法觸及主機)。如果幻覺或異常代理造成安全問題,代表安全模型失效。安全必須在代理表面之外強制執行,不能依賴代理本身的行為正確。
OpenClaw 在主機上運行,擁有完整存取權限。即使有選擇性沙盒模式,所有代理仍共用同一環境,彼此間沒有嚴格隔離。你的個人助理可以看到工作代理的資料。
正確的心態是:把代理當作你想合作的同事,但安全設計要當作對待惡意攻擊者。這兩者並不矛盾,這是良好的安全工程。
Dario Amodei 談到「資料中心裡的天才國度」。要實現這個願景,需要打造專為大規模代理運作設計的新基礎設施、協調層與執行環境。
目前,團隊可以將 NanoClaw 連接至多個 Slack 頻道,讓不同代理處理不同工作,彼此隔離並擁有獨立上下文與資料。但我們的目標更遠大。
未來每位員工都會有個人 AI 助理,每個團隊管理一組代理,高效團隊甚至管理數百個代理。要達成這目標,我們需要:
受控的上下文共享。隔離是基礎,但合作代理需要共享資訊。難點在於中間地帶:團隊內代理可自由共享上下文,團隊間則需選擇性共享。必須能完全鎖定、控制進出資料,並有意識地開放共享。這必須是執行環境的原生功能,而非事後加裝。
代理能創建持久代理。非短暫子代理,而是像招聘新成員般新增代理。新代理擁有獨立身份、持久環境與資料,能記住過去並累積經驗。這需要全新身份、生命週期管理與權限繼承原語,目前尚未存在。
細緻的權限與政策。不僅是代理可用哪些工具,更是能對工具做什麼。可讀郵件但不可發送,能存取某個程式庫但不能另一個,花費有上限等。
人類介入的審核。對不可逆操作,必須有人類批准。代理提出方案,人類審核,代理執行。
NanoClaw 是為代理團隊打造的安全且可定制的執行與協調層,Docker 沙盒則是其企業級基礎設施。隨著代理從單人工具轉變為企業規模的團隊成員,執行環境必須預設強制隔離,支持受控協作,並提供組織所需的可視化與治理功能。這正是我們正在打造的。
NanoClaw 是開源的安全執行與協調層,歡迎在 GitHub 上關注。