langgraph4j/langgraph4j
🚀 LangGraph for Java. A library for develop AI Agentic Architectures in the Java ecosystem. Designed to work seamlessly with both Langchain4j and Spring AI.
What it solves
LangGraph4j は、Java で複雑かつステートフルなマルチエージェント AI アプリケーションを構築する手段を提供します。従来の線形ワークフローの制限を解消し、エージェント、ツール、カスタムロジックがループバックしたり、タスクをリトライしたり、協調したりできる循環グラフを作成でき、プロセス全体で共有メモリ(状態)を維持します。
How it works
このライブラリはグラフベースのアーキテクチャを採用し、アプリケーションロジックを以下に分割します:
- StateGraph:ノードとエッジを定義する主要構造。
- AgentState:ノード間を行き来する共有マップ型オブジェクト。"reducers" を使って新しいデータ(例:チャットメッセージ)を既存の状態にマージする方法を決定します。
- Nodes:現在の状態を受け取り、アクション(例:LLM の呼び出し)を実行し、状態への更新を返す個別の作業単位(関数またはクラス)。
- Edges:フローを定義するコネクタ。"Normal edges" は無条件遷移、"Conditional edges" は現在の状態に基づき次に訪問すべきノードを動的に決定します。
- Compilation:グラフは検証され、実行用に不変の
CompiledGraphにコンパイルされます。
Who it’s for
Java で AI エージェントやマルチエージェントシステムを構築し、状態管理と制御フローを体系的に扱いたい開発者向けです。特に LangChain4j や Spring AI などのフレームワークを既に利用している方に適しています。
Highlights
- Cyclical Workflows:ループをサポートし、自己修正や反復的改善といったエージェント行動に必須です。
- Ckeckpointing:任意の時点でグラフの状態を保存・復元でき、デバッグや長時間実行プロセスの再開に役立ちます。
- Persistence:MySQL、PostgreSQL、Redis、OracleDB、DynamoDB、CockroachDB、Hazelcast 用の組み込みセーバーを提供。
- Visual Debugging:"LangGraph4j Studio" という Web UI が同梱されており、グラフを視覚的に検査・実行できます。
- Framework Integration:LangChain4j と Spring AI へのネイティブサポート。