【らんぐぐらふ】

LangGraph(ランググラフ) とは?

最終更新:
💡 状態を持つ処理の流れを組み立てる

状態を持つエージェントやワークフローの実行を制御するフレームワーク。処理と遷移、状態の更新、保存・再開を組み合わせ、分岐や繰り返しを設計できます。

📌 このページのポイント
LangGraph:状態に応じて処理を選ぶ状態:質問・検索結果など項目ごとの更新規則を定義検索するノード結果を状態へ反映結果を確認次の処理を選ぶ回答を作る終了へ回答へ追加検索なら状態を更新し再び条件を評価終了条件・回数や費用の上限・保存先も設計
検索と条件分岐を持つ架空のワークフローです。分岐先は条件に応じて選びます。状態の保存・再開には設定と保存先が関わり、繰り返すだけで回答の正しさを保証するものではありません。
ひよこ ひよこ
LangGraphは、LangChainの追加機能?
ペンギン先生 ペンギン先生
同じ開発元だけれど、LangChainを使わずにLangGraphを利用することもできる。LangGraphは状態を持つ処理の実行を制御する土台で、LangChainはモデル連携やエージェントの構成などを提供する。LangChainのエージェントもLangGraphを土台にしているよ。
ひよこ ひよこ
グラフでは、何を決める?
ペンギン先生 ペンギン先生
Graph APIでは、状態、処理を行うノード、次の処理を決めるエッジを定義する。たとえば検索した結果を状態に残し、その結果に応じて回答へ進むか再検索するかを決められる。図を描くだけで、自動的に正しい処理が完成するわけではないんだ。
ひよこ ひよこ
状態は、いつも書き換えるだけ?
ペンギン先生 ペンギン先生
ノードからの更新を、項目ごとにどう反映するか決めるよ。標準では上書きする項目もあれば、reducerで一覧を追加するなどの動きを指定する項目もある。複数の処理が同じ状態を更新する場合は、まとめ方や競合を確認しよう。
ひよこ ひよこ
途中で停止しても、必ず続きから動く?
ペンギン先生 ペンギン先生
チェックポイントを使う構成では、状態を保存して再開できる。ただし保存先や実行を識別する設定が必要だ。メモリ内だけの保存では、プロセスを再起動すると内容が失われる。外部への処理を二重に実行しないかなども、アプリ側で確認するんだ。
ひよこ ひよこ
再検索を続ければ、正しい回答になる?
ペンギン先生 ペンギン先生
繰り返すだけでは保証されない。終了の条件、回数や費用の上限、失敗したときの扱いを設計し、回答やツール実行の結果を評価する。人による確認を挟むこともできる。どこを固定の処理にし、どこをモデルに任せるかを考えよう。
もっと詳しく知りたい人へ

チェックポイントと、長期記憶は同じ?

役割が違います。checkpointerは、一つのthreadに属するグラフの状態を保存します。storeは、threadをまたいで使うアプリ独自の情報などを保存します。必要な情報と保持期間、保存先を分けて設計します。

空の一覧を返せば、以前の内容は消える?

更新の規則によります。リストを追加するreducerでは、空のリストを追加しても以前の内容は残ります。上書きや蓄積など、項目の更新方法を確認します。再試行の記録やメッセージを、意図せずため続けないようにします。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「LangGraph」って出てきたら「状態を持つエージェントの処理の流れを制御する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「LangGraph」 = エージェントやワークフローの実行を制御するフレームワーク名
💬 LangChain Inc.が開発しています。ここでのグラフは、処理と遷移の関係を表すもので、データの棒グラフを指すわけではありません。

参考資料

← 用語集にもどる