
LangGraphの基礎
6.3
LangGraphは LangChain をベースとするエージェントフレームワークです。LangGraphの
主な特徴は、複雑な制御構造を持つワークフローを柔軟に表現できることです。これは、
LangGraphがワークフローの表現にグラフを採用していることに起因します。ここでグラフ
とは、ノード(頂点)とエッジ(辺)からなる数学的構造で、要素間の関係性を表現するのに用
いられます。
LangChainが主に扱うチェーン構造は、直線的なワークフローの表現に適した特殊なグラフ
構造です。しかし、チェーンでは繰り返しや複雑な制御構造を表現するのは困難です。例え
ば、ある条件が満たされるまで処理を繰り返す場合、チェーン構造では適切に表現できませ
ん。
これに対しLangGraphでは、チェーンに限らず一般的なグラフ構造を用いることで複雑な
制御構造を表現できます。LangGraphが扱う一般的なグラフ構造には、ノードとエッジの接
続に制限がありません。このため、様々な構造を柔軟に表現することができます。例えば、次
のような制御構造を表現できるようになります。
繰り返し処理:エッジを使って前のノードに戻ることで、ループを表現
分岐処理:一つのノードから複数のエッジを出すことで、条件分岐を表現
LangGraphでは、エージェントやツールの処理をノードとして表現し、ノード間の接続を
エッジとして表現します。エッジは次に実行すべきノードを指定します。LangGraph はノー
ドとエッジを組み合わせて、 ...