Rath-Team/OpenRath
An open-source, PyTorch-like runtime for dynamic multi-agent and multi-session workflows.
它解決了什麼問題
OpenRath 解決了管理大規模智能體叢集的複雜性,其中多個智能體必須在多個可分支的對話狀態中協作。它擺脫了簡單的智能體循環,轉向以資料流為中心的模型,透過將對話上下文視為結構化、可重複使用的塊而非重複的字串,來防止「prompt spaghetti」並降低 token 消耗。
它是如何運作的
受到 PyTorch 模組化設計的啟發,OpenRath 將智能體運行狀態視為一種稱為 Session 的流動值。
- Session:核心資料物件,包含對話歷史、血統和沙盒放置。它可以被分叉、合併或分離,以創建複雜的執行圖。
- Agent:一個可重複使用的轉換層(類似於神經網路層),它接受一個 Session 並使用提示和提供者返回一個修改過的 Session。
- Workflow:一個可組合的容器,將智能體、工具和其他工作流鏈接在一起。
- Sandbox:一個執行環境(本地或透過 OpenSandbox 容器化),工具在此實際運行。
- Memory:一個持久狀態層,使智能體能夠在不同運行中回憶並提交事實。
- Selector:一個由 LLM 支援的路由器,根據當前 session 狀態動態選擇下一個要執行的工作流。
適合對象
正在構建需要持久記憶、可追蹤執行血統,以及能夠管理多個協作智能體而不會遺失對話狀態的複雜多智能體系統的開發者。
特色
- Session-Centric Dataflow:上下文被處理為結構化塊,使得對話分支的高效分叉與合併成為可能。
- Traceable Lineage:維護一個圖形狀的來源層,以追蹤具體輸出是由哪個角色或工具產生的。
- Modular Composition:工作流可以嵌套和重複使用,使得管理數百個智能體變得可行。
- Decoupled Backends:支援彈性插件,用於執行(Sandboxes)和持久化(記憶體後端如 OpenViking)。
- Dynamic Routing:使用
Selector來以純 Python 實現 LLM 驅動的控制流(if/while)。