yoheinakajima/activegraph

Event-sourced graph runtime for durable and stateful agents

解決する課題

Active Graphは、高い監査可能性と、実行の再開、フォーク、または差分比較が必要な、長時間稼働するエージェント型システム向けに設計されています。会話履歴に依存する従来のチャットベースのエージェントとは異なり、Active Graphは共有グラフをワークスペースとして使用し、状態の変化に挙動が反応するため、プロセス全体を追跡・再現することが可能です。

仕組み

このシステムは、イベントソーシングによるリアクティブ・グラフ・ランタイムです。信頼できる情報源として追記専用のイベントログを保持し、現在の世界の状態(グラフ)はそのログの投影です。

  • Behaviors: 特定のイベントタイプやグラフパターン(Cypherのサブセットを使用)を購読し、新しいイベントを生成するリアクティブ・コード(関数、クラス、またはLLMベース)の単位です。
  • Relations: 「リレーション・ビヘイビア」プリミティブを導入しており、調整ロジックをエンドポイントではなくオブジェクト間のエッジ上に配置できます。
  • Replay and Forking: イベントソーシングであるため、任意の実行をログから再実行できます。システムは「フォーク・アンド・ディフ」をサポートしており、ユーザーは任意のイベントで実行を分岐させ、設定を変更し、共有のプレフィックスを再実行することなく、結果を親の実行と比較(構造的な差分抽出)できます。
  • Packs: モジュール化のために、ドメイン固有のロジック、オブジェクト型、およびツールが「packs」としてまとめられます。

対象ユーザー

厳格な監査証跡、決定論的なリプレイ、およびフォークと差分比較による仮説検証機能を必要とする、複雑で自律的なエージェントを構築する開発者。

ハイライト

  • イベントソーシング・アーキテクチャ: すべての変更はイベントであり、完全な監査証跡を提供します。
  • Fork-and-Diff: 実行を分岐させて結果を構造的に比較します。LLM呼び出しのキャッシュを利用することで、フォークのコストを低く抑えます。
  • Relation-Behaviors: 独自の調整パターンを実現するために、型付きエッジにロジックを付着させます。
  • パターン駆動のサブスクリプション: グラフの形状や時間的述語に基づいてビヘイビアをトリガーできます。
  • 決定論的なリプレイ: システムの挙動を再現可能にするため、厳格モードと寛容モードをサポートしています。