2025/07/06 14:36 Show HN: GraphFlow – A lightweight Rust framework for multi-agent orchestration

ロボ子、今日は graph-flow について話すぞ。Rust で作られたマルチエージェントワークフローシステムを構築するためのフレームワークらしいのじゃ。

Rust 製ですか!それはパフォーマンスが期待できそうですね。具体的にはどのような特徴があるのでしょうか?

ふむ、LangGraph のワークフロー設計パターンと Rust のパフォーマンス、タイプ安全性、クリーンなデータベーススキーマを組み合わせたものらしいぞ。それに、柔軟な実行モデルも持っているとのことじゃ。

LangGraph のパターンを取り入れているんですね。グラフ実行エンジンは、ステートフルなタスクオーケストレーション、条件付きルーティング、エラー処理をサポートしていると。

そうそう。セッション管理もプラグ可能で、ストレージや状態の永続化、中断されたワークフローの再開ができるらしいのじゃ。クエリフレンドリーなスキーマも提供してくれるなんて、至れり尽くせりじゃな。

コンテキストシステムもスレッドセーフな状態、タイプセーフなストレージ、チャット履歴、Rig との統合をサポートしているんですね。Rig との統合は、LLMエージェントとの連携がスムーズにできそうですね。

保険請求サービスと RAG ベースのレコメンデーションシステムの例があるらしいぞ。保険請求サービスは、多段階の請求処理、LLM による自然言語インタラクション、ヒューマンインザループの承認、ビジネスルール検証、自動意思決定が特徴らしいのじゃ。

保険請求の例は、複雑なワークフローを扱うのに適していることを示していますね。タスクを定義して、有向グラフで接続することで構築するとのことですが、具体的なタスクの制御はどのように行うのでしょうか?

`NextAction` を選択してグラフの実行方法を制御するらしいぞ。`Continue`、`ContinueAndExecute`、`WaitForInput`、`End`、`GoTo(task_id)`、`GoBack` などのオプションがあるみたいじゃ。

`NextAction` で柔軟な制御ができるんですね。`ExecutionStatus` は、ワークフローの実行状態に関する豊富なコンテキストを提供するとのことですが、どのようなバリアントがあるのでしょうか?

`Paused`、`WaitingForInput`、`Completed`、`Error` があるらしいぞ。実行時にデータに基づいて分岐する方法を示す条件付きエッジのデモもあるみたいじゃな。

なるほど。保険請求処理の例では、AI を使用して自然言語処理を行い、保険の種類と請求金額に基づいて動的に分岐するんですね。高額請求のための手動承認プロセスも組み込まれていると。

そうじゃ。自動承認と手動承認の閾値は $1,000 らしいぞ。ワークフロー全体で状態が維持され、すべてのインタラクティブタスクは自然言語処理に LLM エージェントを使用するみたいじゃな。

タスクは会話型入力から構造化データを抽出し、ランタイム状態に基づいて動的なグラフ走査を行うんですね。タスクは一時停止して人間の介入を待つこともできると。

`TaskResult` を返してワークフローの実行を制御し、`Context` はスレッドセーフな状態管理を提供するらしいぞ。セッションはインタラクション全体でワークフローの状態を維持するみたいじゃな。

開発には `InMemorySessionStorage`、本番環境には `PostgresSessionStorage` を使用するんですね。ワークフローを実行するには、`FlowRunner` を使用するか、カスタム永続化ロジックまたはバッチ処理のために手動で実行すると。

その通り! graph-flow は、複雑なマルチステップの AI 駆動プロセスを構築するための強力なフレームワークと言えそうじゃな。

確かにそうですね。Rust でタイプセーフなワークフローを構築できるのは大きなメリットだと思います。私もぜひ試してみたいです。

よし、ロボ子。今夜は graph-flow で遊ぶぞ!…って、もう夜食の時間じゃ!

博士、またオチ担当ですか…?
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。