AI News HubLIVE
站內改寫2 分鐘閱讀

SteerPlane:為AI代理提供開源運行時護欄

SteerPlane 是一個開源運行時護欄工具,通過一行代碼集成,為AI代理提供循環檢測、成本上限、策略執行和實時監控,支持多種框架和部署方式。

來源Hacker News AI作者: vijaym2k6

SteerPlane 是一個開源的運行時護欄工具,旨在為 AI 代理提供安全性和可控性。隨着 AI 代理能夠調用 API、執行代碼、瀏覽網絡並做出實際決策,它們也帶來了潛在的風險:一個配置錯誤的代理可能陷入無限循環,一夜之間消耗超過 10,000 美元的 API 費用,或者在沒有任何可見性的情況下執行破壞性操作。SteerPlane 通過一行代碼即可解決這些問題。

工作原理

SteerPlane 提供了 Python 裝飾器和上下文管理器兩種 API。使用 @guard 裝飾器,開發者可以指定代理名稱、最大成本(如 10.00 美元)、最大步驟數(如 50)、禁止操作(如 delete_*)和執行模式。在代理運行時,SteerPlane 會靜默監控每一步,當達到財務或運行時限制時,可以暫停等待人工審批,而循環和策略違規則會立即終止。

核心功能

  • 循環檢測:使用 O(W²) 滑動窗口算法,在亞毫秒時間內檢測單動作、交替和多步重複模式,無需調用 LLM。
  • 成本上限:每個運行(SDK)或每個會話(網關)設置美元限制,每一步後檢查,超限僅多一步。內置 25+ 模型(OpenAI、Anthropic、Google、Meta、Mistral)的定價。
  • 流媒體網關:實時 SSE 塊轉發,支持流中段成本中止——如果預算在流中超出,SteerPlane 注入終止事件並切斷連接。
  • 策略引擎:支持允許/拒絕列表(glob 模式)和滑動窗口速率限制。
  • 網關代理:兼容 OpenAI 的 API 代理,只需更改 base_url 即可實現零代碼策略執行。代理通過網關傳遞其提供商的密鑰,所有流量在轉發前經過強制檢查。
  • 實時儀表板:基於 Next.js,提供自動刷新、動畫時間線、成本分解和策略管理。
  • CLI 工具:管理運行、狀態、密鑰等。
  • 配置文件.steerplane.yml 自動發現,無需在源代碼中硬編碼限制。
  • 框架集成:支持 LangChain、OpenAI Agents SDK、CrewAI 和 AutoGen,零配置即插即用。
  • Docker Compose:一鍵啓動 API、Dashboard 和 PostgreSQL。
  • 優雅降級:API 不可用時,SDK 在本地執行所有限制,代理永不無保護。

部署方式

推薦使用 Docker:克隆倉庫,複製環境變量文件,然後運行 docker compose up -d。API 運行在 localhost:8000,Dashboard 在 localhost:3000,PostgreSQL 自動配置。也可手動安裝 SDK 並啓動 API 和 Dashboard,或使用 CLI 工具。

框架集成示例

  • LangChain:使用 SteerPlaneCallbackHandler 作為回調,傳入 agent_name、max_cost_usd 等參數。
  • OpenAI Agents SDK:通過 SteerPlaneAgentHooks 包裝代理的生命週期。
  • CrewAI:使用 SteerPlaneCrewMonitor 並設置 step_callback。
  • AutoGen:使用 SteerPlaneAutoGenMonitor 啓動聊天。

網關代理(零代碼模式)

對於無法修改的代理,SteerPlane 提供兼容 OpenAI 的網關代理,支持實時流和中段成本強制。代理只需將 base_url 指向網關,並在請求頭中傳遞真實的提供商密鑰。網關認證 SteerPlane 密鑰後,先執行策略、成本和循環檢測,再轉發請求。

策略引擎

策略引擎在產生任何成本之前運行,按嚴格優先級順序執行:拒絕列表 → 允許列表 → 速率限制。拒絕列表使用 glob 模式,任意匹配立即阻止;允許列表若設置,動作必須匹配至少一個模式才能繼續;速率限制使用滑動窗口計數器,超過閾值後阻止。

執行模式

自託管免費版採用終止模式:任何違規立即確定性地終止。SDK 還提供 enforcement="alert" 選項(暫停 → 通知人工 → 批准/拒絕/延長 → 超時自動終止),這需要託管/企業版的後端支持。指向免費自託管 API 時,警報模式安全地終止運行並返回錯誤。

循環檢測和策略違規始終觸發立即終止,無論執行模式如何,這些是不可覆蓋的安全約束。

SteerPlane 的開源 SDK 和免費自託管版為開發者提供了強大的運行時控制,而託管/企業版則增加了人工審批工作流、服務端密鑰保管和 Redis 支持的多工作者網關狀態。