【らんぐぐらふ】
LangGraph(ランググラフ) とは?
最終更新:
💡 状態を持つ処理の流れを組み立てる
状態を持つエージェントやワークフローの実行を制御するフレームワーク。処理と遷移、状態の更新、保存・再開を組み合わせ、分岐や繰り返しを設計できます。
📌 このページのポイント
LangGraphは、LangChainの追加機能?
グラフでは、何を決める?
Graph APIでは、状態、処理を行うノード、次の処理を決めるエッジを定義する。たとえば検索した結果を状態に残し、その結果に応じて回答へ進むか再検索するかを決められる。図を描くだけで、自動的に正しい処理が完成するわけではないんだ。
状態は、いつも書き換えるだけ?
ノードからの更新を、項目ごとにどう反映するか決めるよ。標準では上書きする項目もあれば、reducerで一覧を追加するなどの動きを指定する項目もある。複数の処理が同じ状態を更新する場合は、まとめ方や競合を確認しよう。
途中で停止しても、必ず続きから動く?
再検索を続ければ、正しい回答になる?
繰り返すだけでは保証されない。終了の条件、回数や費用の上限、失敗したときの扱いを設計し、回答やツール実行の結果を評価する。人による確認を挟むこともできる。どこを固定の処理にし、どこをモデルに任せるかを考えよう。
もっと詳しく知りたい人へ
チェックポイントと、長期記憶は同じ?
役割が違います。checkpointerは、一つのthreadに属するグラフの状態を保存します。storeは、threadをまたいで使うアプリ独自の情報などを保存します。必要な情報と保持期間、保存先を分けて設計します。
空の一覧を返せば、以前の内容は消える?
更新の規則によります。リストを追加するreducerでは、空のリストを追加しても以前の内容は残ります。上書きや蓄積など、項目の更新方法を確認します。再試行の記録やメッセージを、意図せずため続けないようにします。
まとめ:ざっくりこれだけ覚えればOK!
「LangGraph」って出てきたら「状態を持つエージェントの処理の流れを制御する仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「LangGraph」 = エージェントやワークフローの実行を制御するフレームワーク名
💬 LangChain Inc.が開発しています。ここでのグラフは、処理と遷移の関係を表すもので、データの棒グラフを指すわけではありません。