展示 HN:AgentNest —— AI 代理的自託管沙箱
AgentNest 是一個開源執行時,用於在安全、可丟棄的沙箱中執行 AI 代理程式碼。它支援 Python、shell 命令、檔案、包、瀏覽器、GPU 和 Git,具有精細的網路策略、有狀態的會話和可分支狀態。自託管且可擴充套件,與 LangChain、MCP 等整合。
AgentNest 是一個全新的開源專案,旨在為 AI 代理提供安全、可控的執行環境。該專案由開發者 Mihir Ahuja 建立,目前在 GitHub 上託管,採用 Apache 2.0 許可證。AgentNest 的核心概念是“可丟棄的沙箱”——每個代理程式碼執行在一個臨時的、策略控制的環境中,執行完畢後自動清理。
AgentNest 的主要特點包括:安全預設設定(非 root 使用者、只讀根檔案系統、無能力、禁止網路、自動清理)、出口白名單(僅允許代理訪問特定域名,如 pypi.org,所有連線均被記錄)、狀態化 Python 會話(跨呼叫保持變數和匯入)、可分支沙箱(複製執行中的狀態,進行並行探索)、非破壞性超時(慢速命令被單獨終止,沙箱狀態保留)、以及崩潰安全(每個資源都有截止時間標籤,自動回收孤兒資源)。
與現有的解決方案(如 E2B、Modal Sandboxes)相比,AgentNest 是自託管的,無需賬戶,並且提供了獨特的出口白名單和分支狀態功能。它還支援外掛式隔離後端(Docker、gVisor、Kata、Kubernetes 等),並且程式碼庫僅有約 4000 行,易於審計。
AgentNest 可以輕鬆整合到現有的 AI 代理框架中,例如 LangChain、smolagents,以及透過模型上下文協議(MCP)與 Claude Code、Cursor 等工具整合。安裝非常簡單,只需 pip install agentnest 即可。
專案路線圖包括開發一個可選的沙箱管理器服務,用於團隊大規模執行沙箱,提供佇列、使用者限制、自動清理、gVisor 支援、集中日誌和健康檢查等功能。但該服務將是可選的,開發者仍可直接使用當前的 Sandbox API。
總之,AgentNest 為 AI 代理的安全執行提供了一個靈活、可審計且自託管的解決方案,非常適合需要精細控制執行環境的研究人員和開發者。