langgraph4j/langgraph4j

🚀 LangGraph for Java is a library for Graph Engineering, designed to build sophisticated AI agentic architectures within the Java ecosystem. It works seamlessly with both Langchain4j and Spring AI.

何を解決するか

LangGraph4j は Java で状態付きのマルチエージェント AI アプリケーションを構築する方法を提供します。従来の有向非巡回グラフ(DAG)の制限を克服し、AI が以前のステップに戻ったり、タスクを再試行したり、説明を求めたりする必要があるエージェントワークフローに不可欠な循環グラフをサポートしています。

動作方法

このライブラリはグラフベースのアプローチで AI ワークフローを定義します:

  • StateGraph:開発者がノード(アクション)とエッジ(遷移)を定義する主要な構造です。
  • AgentState:ノード間で共有される状態(基本的にマップ)です。リデューサーは新しいデータがこの状態にどのようにマージされるかを決定します(例:上書きやリストへの追加)。
  • ノード:現在の状態を受け取り、計算(LLM の呼び出しなど)を実行し、状態の更新を返す個々の論理単位です。
  • エッジ:フローを制御します。通常のエッジは無条件ですが、条件付きエッジは現在の状態に基づいて次のノードを動的に決定するロジックを使用します。
  • 永続化CheckpointSaver を通じて、グラフの状態をさまざまなデータベース(MySQL、PostgreSQL、Redis など)に保存でき、長時間実行されるプロセスやワークフローの再開・デバッグが可能になります。

対象ユーザー

LangChain4j や Spring AI を既に使用している Java 開発者で、エージェントの協調、メモリ、制御フローを構造的に管理したい方を対象としています。

特徴

  • 循環グラフのサポート:ループや反復的なエージェント推論を可能にします。
  • 状態管理:ノード間で共有され、リデューサーに基づく状態により、コンテキスト認識が可能になります。
  • 永続化:複数のデータベースバックエンドを内蔵サポートし、グラフ状態の保存と再開が可能です。
  • ビジュアルデバッグ:グラフの可視化と実行が可能な Studio Web UI を含んでいます。
  • フレームワーク統合:LangChain4j および Spring AI とシームレスに連携します。
  • 非同期/ストリーミング:非ブロッキング操作と LLM からのストリーミング結果をサポートします。

関連

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