LangGraphとは
状態遷移をグラフとして定義し、複雑なマルチエージェントアプリケーションを構築するフレームワーク
ひとことで言うと
AIエージェントの複雑な動きを、図(グラフ)のように設計できるフレームワーク。
概要
LangGraphとは、LangChainのチームが開発した、LLMアプリケーションの処理フローをグラフ(ノードとエッジ)として定義できるフレームワーク。 処理を直線的に連結するLangChainのチェーンと異なり、条件分岐・ループ・複数エージェント間の状態共有といった、より複雑な制御フローを明示的に表現できる点が特徴で、マルチエージェントシステムや長時間状態を保持するエージェントの構築に用いられる。 各ノードの状態を永続化する仕組みも備えており、処理の途中経過を保存して後から再開したり、人間の承認を挟んでから次のステップへ進める人間参加型のフローも構築しやすい。 エージェントの挙動が複雑化しループや条件分岐が増えるほど、LangChainのチェーンだけでは表現しづらくなるため、LangGraphはより本格的なエージェントシステムを構築する際の選択肢として使われる。
背景
自律的なエージェントの処理フローは、単純な直線的な処理の連結だけでは表現しきれない、条件分岐やループ、複数の主体間でのやり取りを伴うことが多い。 LangGraphは、こうした複雑な制御フローをグラフ構造として明示的に定義・管理できるよう開発された。
歴史
2024年: LangChainのチームがLangGraphを公開し、状態を持つ複雑なエージェントアプリケーション構築向けのフレームワークとして展開している。
アーキテクチャ
アプリケーションの各処理ステップをノードとして定義し、ノード間の遷移条件をエッジとして表現するグラフ構造でアプリケーション全体を構築する。 グラフ全体で共有される状態(State)をノード間で読み書きしながら処理を進める。
利点
欠点
- 単純なタスクに対しては、グラフ構造を定義する分オーバーヘッドが大きく感じられやすい
- LangChainのエコシステムに関する前提知識を要する場合がある
比較
関連用語
よくある質問
LangGraphはLangChainがなくても使える?
LangChainのコンポーネントと組み合わせて使うことが多いが、LangGraph単体でもグラフベースのアプリケーションを構築できる。
参考文献
- Official WebsiteLangGraph
- GitHublangchain-ai/langgraph