a-agmon/rs-graph-llm
High-performance framework for building interactive workflow systems in Rust. Designed for complex workflows and multi-agent systems
What it solves
graph-flow は、Rust で複雑で状態管理可能な AI エージェント・ワークフローを構築する方法を提供します。人間による入力が必要な一時停止、 LLM の決定に基づく分岐、 または システム再起動後の再開、 これらをすべて型安全かつ高パフォーマンスで実現しながら、 長期実行されるエージェント・プロセスを管理する困難さを解決します。
How it works
このフレームワークは、ワークフローを Tasks(ノード)と Edges(エッジ)で構成するグラフベースの実行エンジンを使用します。
- State Management: スレッドセーフな
Contextが、型付けされた key-value データとチャット履歴を保存します。これらはSessionにシリアライズ化され永続化されます。 - Execution Control: Tasks は、フローを決定するために
NextActionを返します。これにより、「ステップバイステップ」の実行(タスクごとに呼び出し元に制御を戻す)または「fire-and-forget」の実行(一時停止に当たるまで、複数のタスクをチェーン状に実行する)が可能になります。 - Routing: エンジンは、標準的なエッジ、条件付きエッジ(コンテキストデータに基づいた分岐)、および複数の子タスクを並列実行するための
FanOutTaskをサポートします。 - Persistence: プロセス再起動後のセッション状態の維持を ensure 確保するため、ストレージ・バックエンド(In-memory と PostgreSQL)が含まれています。
- LLM Integration:
Rigライブラリとのオプションの統合により、チャット履歴の管理と LLM プロバイダーとのやり取りを簡学化します。
Who it’s for
LangGraph のような構造化された再開可能なワークフロー・エンジンを、 Rust のパフォーマンスと型保証を組み合わせて実現したい、 Rust でプロダクション級の AI エージェントを構築する開発者です。
Highlights
Human-in-the-loop: 内蔵の
WaitForInputアクションにより、外部入力が提供されるまでワークフローを一時停止(park)できます。Flexible Execution: インタラクティブなステップバイステップ実行と、自動化された連続的なチェーン実行を組み合わせることができます。
State Persistence: セッション状態の保存のための PostgreSQL サポートと、レースコンディションを防ぐための楽観的ロック(optimistic locking)をサポートします。
Parallelism:
FanOutTaskにより、単一ノード内で子タスクを並列実行することが可能です。Type-Safe Context: 非同期タスクや同期エッジ条件を跨いで動作する、シリアライズ可能な型付き状態ストアです。