Shackle:AI代理的預執行ALLOW/DENY/HITL門控(開源)
SHACKLE是一個開源的運行時治理層,實時仲裁每個代理工具調用,給出ALLOW/DENY/HITL判決。它包含SP/1.0一致性標準,提供15個哈希可驗證的測試向量,並設有認證級別。與LiteLLM和AutoGen集成,防止失控循環和預算超支。
SHACKLE是一個輕量級、零依賴的運行時治理層,通過動態Python shim嵌入運行時,攔截LLM調用和工具執行,確定性地監控執行狀態。當代理違反邊界時,SHACKLE觸發斷路器,暫停執行並進入交互式終端控制台。
核心方面,SHACKLE實現了SP/1.0(SHACKLE協議1.0)一致性標準,該標準定義了運行時仲裁自主AI代理行動的精確規範。每個代理行動都經過ALLOW(允許)、DENY(拒絕)或HITL(人工介入)裁決,沒有第四種狀態,每個裁決都附帶確定性、可檢查的原因。SP/1.0的數學基礎要求:一個轉換有效當且僅當其所需的所有內容都在系統可證明支持的範圍內。關鍵不變性是:歷史可見 ≠ 運行時可執行——記錄的行動絕不意味着它曾被授權。
SHACKLE的參考實現通過了15個哈希可驗證的一致性向量測試(fixtures/conformance.json),包括10個核心決策案例和5個人工介入轉換案例。任何運行時都可以通過運行相同的測試來證明其一致性,從而獲得SHACKLE認證。認證級別包括:SP/1.0-Core(核心一致性)、SP/1.0-HITL(轉換完備)和SP/1.0-Sovereign(企業運行時)。認證過程公開透明,基於重現性,而非信任聲明。
集成方面,SHACKLE為LiteLLM和AutoGen提供了開箱即用的支持。通過LiteLLM防護欄,可以強制所有基於LiteLLM的代理(如CrewAI、AutoGen、LangGraph)遵守SP/1.0。AutoGen包裝器通過裝飾器工廠實現工具調用的治理。由於LiteLLM位於大多數代理框架之下,單一集成點即可覆蓋整個供應鏈。
SHACKLE旨在解決AI代理的“死亡循環”問題:當工具調用失敗時,代理不斷重試相同的操作,消耗上下文窗口併產生鉅額API費用。SHACKLE作為斷路器,在預算或重複檢測觸發時停止循環,並允許開發者通過控制台干預。它非常適合本地開發和調試、CLI代理和監督工作流、跨框架覆蓋以及預算執行。
SHACKLE由獨立開發者Dante Bullock創建,無風險投資或公司孵化。它使用社區情感分析和實時網絡抓取來識別CrewAI、AutoGen和LangGraph生產中影響開發者的系統故障,然後構建即插即用的解決方案。這是一個為開發者構建的基礎設施,主權、精簡且無冗餘。