a-agmon/rs-graph-llm

High-performance framework for building interactive workflow systems in Rust. Designed for complex workflows and multi-agent systems

解決する問題

複雑な AI エージェントワークフローの構築は、多くの場合、複数の LLM 呼び出し、分岐ロジック、ユーザー割り込み、進行状況の保存を同時に処理することを意味します。このプロジェクトは、開発者がステートフルで再開可能なエージェントワークフローをグラフとして設計できるようにする Rust ネイティブフレームワークを提供します。LangGraph に似ていますが、Rust のパフォーマンスと型安全性を備えています。タスクオーケストレーション、条件付きルーティング、ヒューマンインザループの一時停止、セッション永続化をすぐに処理します。

仕組み

中核となるアイデアはタスクのグラフです。各タスクは単純な Task トレイトを実装し、Context オブジェクトを介して共有状態を読み書きし、エンジンに次に何をするかを伝える NextAction を返します(ステップバイステップで続行、連続実行、入力待ち、特定のタスクへのジャンプ、または終了)。GraphBuilder はタスクとエッジを組み立て、オプションでコンテキストデータに基づく条件分岐を追加します。セッションはワークフローの状態を保存し、FlowRunner はセッションをロードし、1 つのステップを実行し、保存し直します。これにより、ワークフローは一時停止し、ユーザー入力を待ち、後で再開できます。プロセスの再起動をまたいでも可能です。このフレームワークは、チャット履歴変換のために Rig LLM エコシステムと統合され、インメモリまたは PostgreSQL ストレージバックエンドも同梱されています。

対象読者

構造化され、信頼性が高く、再開可能な LLM 駆動ワークフローを必要とするエージェントアプリケーションを構築する開発者。たとえば、会話サービス、請求処理パイプライン、レコメンデーションシステム、または分岐と人間によるレビューを伴うマルチステップ自動化などです。Python ベースの代替手段よりも型安全性とパフォーマンスを求める Rust ユーザー、および LangGraph に着想を得たクリーンな API を高く評価するユーザーに適しています。

ハイライト

  • ステートフルで再開可能:セッションは任意のタスクで一時停止し、ユーザー入力を待ち、後で再開できます。オプションで PostgreSQL 永続化を使用できます。
  • 柔軟な実行モデル:同じグラフ内で、ステップバイステップの対話型制御と、fire-and-forget の連続実行を混在させます。
  • 条件付きルーティング:コンテキストデータに基づいて分岐します。たとえば、LLM の感情分類に基づいてルーティングします。
  • ヒューマンインザループサポート:タスクは WaitForInput を返して、人間が応答するまでワークフローを一時停止できます。
  • 並列ファンアウト:1 つのグラフノード内で子タスクを並行して実行し、その出力を集約します。
  • 本番ガードレール:タスクごとのタイムアウト、最大実行ステップ制限、セッション書き込み競合を防ぐための楽観的ロック。
  • Rig 統合:コンテキストに保存されたチャット履歴を LLM 呼び出し用の Rig メッセージに直接変換します。
  • 実世界の例:LLM 分類、承認ワークフロー、HTTP API を備えた完全な保険請求サービス。さらに RAG レコメンデーションサービス。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト