yoheinakajima/activegraph

Event-sourced graph runtime for durable and stateful agents

解決的問題

Active Graph 專為需要高審計能力以及具備恢復、分支或差異對比能力的長期運行代理系統而設計。與依賴對話歷史的傳統聊天型代理不同,Active Graph 使用共享圖作為工作區,行為會響應狀態變化,從而使整個過程變得可追溯且可重現。

工作原理

該系統是一個事件溯源的響應式圖執行期。它維護一個只增事件日誌作為事實來源,而當前世界狀態(圖)是該日誌的一個投影。

  • Behaviors: 這是響應式程式碼的單元(函數、類別或基於 LLM),它們訂閱特定的事件類型或圖模式(使用 Cypher 子集)並產生新事件。

  • Relations: 引入了「關係行為 (relation-behavior)」原語,允許協調邏輯存在於物件之間的邊上,而不是端點上。

  • Replay and Forking: 由於採用事件溯源,任何執行都可以從日誌中重新執行。系統支持「分支與差異對比 (fork-and-diff)」,允許用戶在任何事件處分支執行,更改配置,並在不重新執行共享前綴的情況下對結果進行結構化差異對比。

  • Packs: 領域特定邏輯、物件類型和工具被打包成「packs」以實現模組化。

適用對象

構建複雜的自主代理所需的開發者,這些代理需要嚴格的審計追蹤、確定性重放以及透過分支和差異對比進行假設測試的能力。

亮點

  • 事件溯源架構:每一次變更都是一個事件,提供完整的審計追蹤。
  • Fork-and-Diff:分支執行並進行結構化結果對比,利用 LLM 呼叫快取來降低分支成本。
  • 關係行為 (Relation-Behaviors):將邏輯附加到類型化邊上,實現獨特的協調模式。
  • 模式驅動訂閱:行為可以根據圖形形狀和時間謂詞進行觸發。
  • 確定性重放:支持嚴格和寬鬆模式,以確保系統行為的可重現性。