AI・機械学習
上級

LangGraph(ラングラフ)

LangGraphはLangChainが開発したグラフベースのエージェントワークフローフレームワークで、ノードとエッジで構成される有向グラフとして複雑なLLMアプリケーションの制御フローと状態管理を実現する。

0 回閲覧
0 いいね
2026/5/31 更新

LangGraphは、LLMエージェントの制御フローを有向グラフとして定義するPythonフレームワークである。LangChain社が2024年に公開し、2026年時点でバージョン0.2系に到達。GitHub Starは38,000超で、マルチエージェントワークフローの構築基盤として広く採用されている。

概要

従来のLangChainはチェーン(直列処理)とエージェント(ReAct)が主なパターンだったが、条件分岐・ループ・並列実行・人間の承認待ちといった複雑なフロー制御には不向きだった。LangGraphはこの課題を、有向グラフ(DAG + サイクル許容)のノード=処理ステップ、エッジ=遷移条件として表現することで解決した。

2026年のLangGraph 0.2では、StateGraph(状態付きグラフ)・MessageGraph(チャット履歴ベース)の2種類が提供されている。StateGraphが最も汎用的で、TypedDictまたはPydanticモデルで状態スキーマを定義し、各ノードが状態を読み書きしながら処理を進める。LangGraph Cloudは商用SaaSとして、永続化・リプレイ・ヒューマンインザループ・モニタリングを提供している。

主な特徴・仕組み

  • グラフベース制御: ノード(関数/LLM呼び出し)とエッジ(遷移条件)で任意のフローを表現。サイクル(ループ)も可能で、自己修正パターンを自然に実装できる
  • ファーストクラスの状態管理: TypedDict/Pydanticで型安全な状態を定義。Annotated型でリデューサー(状態マージ戦略)を指定可能
  • チェックポイント: SQLite/PostgreSQL/Redisバックエンドに各ステップの状態を自動保存。障害時のリプレイや「タイムトラベル」デバッグが可能
  • ヒューマンインザループ: interrupt_before/interrupt_afterでノード実行前後に人間の承認を挟める。LangGraph Studioで視覚的に操作可能
  • ストリーミング: ノード実行中のトークンストリーミング、ノード完了通知、状態変更イベントの3レベルのストリーミングを提供
  • サブグラフ: グラフ内にグラフを埋め込み、モジュール化と再利用を実現。親グラフの状態と子グラフの状態はマッピングで接続
  • 条件付きエッジ: Python関数で遷移先を動的に決定。LLMの出力に応じて分岐パターンを実装
  • 並列実行: 同一ノードから複数エッジを引くことで、並列ファンアウト→ファンイン処理を実現

StateGraph構築の基本フロー

1. 状態スキーマ定義(TypedDict)
2. StateGraph(schema) インスタンス作成
3. add_node() でノード追加
4. add_edge() / add_conditional_edges() で遷移定義
5. set_entry_point() で開始ノード指定
6. set_finish_point() で終了ノード指定
7. compile() でRunnableに変換
8. invoke() / stream() で実行

代替フレームワークとの比較

項目LangGraphAutoGenCrewAIPrefect/Airflow
制御モデルグラフ(ノード+エッジ)会話(メッセージパッシング)役割+プロセスDAGタスク
状態管理TypedDict/PydanticConversableAgent内部Task結果チェーンXCom/変数
サイクル可能可能不可(sequential/hierarchical)不可(DAG制約)
ヒューマンインザループネイティブサポートUserProxyAgent手動介入ポイント手動承認タスク
ストリーミング3レベル対応基本対応基本対応非対応
学習曲線高い中程度低い中程度
商用サポートLangGraph CloudなしCrewAI EnterprisePrefect Cloud

よくある質問(FAQ)

Q1: LangGraphとLangChainの関係は? A: LangGraphはLangChain社が開発した別パッケージ。LangChainのLLM抽象化・ツール定義・プロンプトテンプレートを利用しつつ、制御フローをグラフとして表現する上位レイヤー。LangChainなしでも動作するが、実用上はセットで使うケースが大半。

Q2: LangGraph StudioとCloudの違いは? A: Studioはローカルで動作するビジュアルデバッガ(Mac/Web)。グラフ構造の可視化・ステップ実行・状態インスペクションが可能。Cloudは本番環境向けSaaSで、永続化・スケーリング・モニタリング・APIエンドポイント自動生成を提供。

Q3: LangGraphの本番運用でよくあるハマりポイントは? A: 状態スキーマ変更時の後方互換性(チェックポイントが読めなくなる)、ノード内例外のハンドリング(デフォルトではグラフ全体が停止)、条件付きエッジの戻り値typo(存在しないノード名を返すとランタイムエラー)の3点が頻出。

まとめ

  • LangGraphはLLMエージェントのワークフローをグラフとして定義・実行するフレームワーク
  • StateGraphで型安全な状態管理、チェックポイントで障害回復、ヒューマンインザループで人間承認を実現
  • サイクル(ループ)対応により自己修正パターンを自然に実装可能
  • 学習コストは高いが、複雑なマルチエージェント制御では最も柔軟な選択肢
この記事について
カテゴリーAI・機械学習
難易度上級
作成日2026/5/31