shepherd-agents/shepherd
A runtime substrate that turns an agent's execution into a reversible, Git-like trace, so meta-agents can observe, fork, replay, and revert any run. Couples agent and environments in a copy-on-write fork ~5x faster than docker commit, with ~95% KV-cache reuse on replay. Framework built for meta-agents to supervise, optimize, and train other agents
解決的問題
Shepherd 為需要高階審查、可逆性與監控的 AI 代理提供一個執行時基礎架構。解決代理對檔案系統進行不受控變更的問題,讓使用者能在實際套用至工作區之前,審查並批准所提出的變更。
工作原理
Shepherd 將代理活動記錄為持久且可檢視的執行軌跡。當代理執行任務時,其輸出會被保留為「保留輸出」(提案),而非直接寫入使用者的檔案。使用者隨後可檢視這些變更集,並選擇套用、釋放或捨棄。
為確保安全性,Shepherd 使用作業系統層級的權限強制(macOS Seatbelt 與 Linux Landlock)來隔離代理。權限直接在任務的 Python 函數簽章中定義;例如,為倉儲句柄指定 ReadOnly 或 ReadWrite,可決定代理是否能在系統呼叫層級修改檔案系統。
適用對象
專為需要安全層以防止代理意外破壞資料或進行未授權變更的開發者,建構代理工作流程而設計,也適用於研究可程式化元代理的研究人員。
主要亮點
- 可逆執行:代理執行被記錄為軌跡,允許透過三向合併審查、捨棄或合併輸出。
- 作業系統層級沙箱:在 macOS 與 Linux 上透過原生系統呼叫隔離,強制執行權限(唯讀 vs 讀寫)。
- 簽章基礎權限:權限在 Python 任務簽章中明確宣告,使安全面易於審計。
- 持久化軌跡:維護可由 CLI 檢視的機器可讀執行記錄。
相關
- 專案
- 專案
- 專案
- 專案
- 專案