Re Reference AI

LangChain vs LangGraph

LangChainはLLMアプリケーションの部品を組み合わせて直線的な処理(チェーン)を構築するフレームワーク、LangGraphは同じチームが開発した、状態遷移をグラフとして表現し条件分岐・ループ・マルチエージェントに対応するフレームワーク。

LangChainLangGraph

3行で違いを説明

Comparison Table

ItemLangChainLangGraph
PurposeLLMアプリケーションの部品化・連結複雑な状態遷移を伴うエージェントアプリケーションの構築
DeveloperLangChain, Inc.(Harrison Chase)LangChain, Inc.
Release2022年10月2024年
LicenseApache License 2.0MIT License
Open Sourceオープンソースオープンソース
APIPython/JavaScript SDKPython/JavaScript SDK
Programming LanguagePython、JavaScript/TypeScriptPython、JavaScript/TypeScript
Ecosystem対応LLM・データソース・ツールが非常に豊富LangChainのエコシステムをベースに、状態永続化・ヒューマンインザループ機能を追加

Architecture

LangChain

コンポーネント(プロンプトテンプレート・LLM呼び出し・ツール・パーサー等)を直線的に連結するチェーンとして処理を表現する。

LangGraph

処理単位をノード、遷移をエッジとするグラフとして定義し、条件分岐・ループ・並列実行や、各ノードの状態を永続化するチェックポイント機構を持つ。

Feature Comparison

FeatureLangChainLangGraph
直線的なチェーン構築
条件分岐・ループ限定的
マルチエージェント状態共有
状態の永続化・再開
ヒューマンインザループ実装は可能だが標準機能ではない

Advantages

LangChain

  • RAG・ツール呼び出し等、LLMアプリケーションでよく使われる処理を部品として再利用できる
  • 対応するLLMプロバイダ・データソース・ツールの種類が豊富で、エコシステムが大きい

LangGraph

  • 条件分岐・ループ・並列処理など、複雑な制御フローを明示的なグラフとして表現できる
  • 複数エージェント間で状態を共有するマルチエージェント構成を構築しやすい

Disadvantages

LangChain

  • 抽象化の層が多く、内部の挙動を細かく制御・デバッグしたい場合に複雑さを感じることがある
  • バージョンアップの頻度が高く、APIの変更に追従する保守コストがかかりやすい

LangGraph

  • 単純なタスクに対しては、グラフ構造を定義する分オーバーヘッドが大きく感じられやすい
  • LangChainのエコシステムに関する前提知識を要する場合がある

Best Use Cases

LangChain

RAGパイプラインやシンプルなツール呼び出し等、直線的な処理フローで十分なLLMアプリケーションの試作。

LangGraph

条件分岐やループ、複数エージェント間の状態共有が必要な、より本格的なエージェントシステムの構築。

Migration

LangChainのチェーンで実装した処理をLangGraphへ移行する場合、各処理ステップをノードとして再定義し、遷移条件をエッジとして明示的に記述し直す。LangChainのコンポーネント(プロンプト・ツール・LLM呼び出し等)自体はLangGraphのノード内でそのまま再利用できる。

FAQ

LangGraphを使うならLangChainは不要?

いいえ。LangGraphLangChainのコンポーネント(プロンプトテンプレートやツール等)を前提として使うことが多く、両者は代替ではなく組み合わせて使われることが一般的。

参考文献

関連する比較

CrewAI vs LangGraph

CrewAIは役割を与えた複数のAIエージェントに協調してタスクを遂行させるPythonのマルチエージェントフレームワーク。LangGraphは状態遷移をグラフとして定義し、複雑なマルチエージェントアプリケーションを構築するLangChainエコシステムのフレームワーク。

CrewAILangGraph

LangGraph vs Semantic Kernel

LangGraphはLangChainのチームが開発する、状態遷移をグラフとして定義するマルチエージェントフレームワーク。Semantic Kernelは、Microsoftが提供するLLM統合SDKで、マルチエージェントのオーケストレーション機能も備える。

LangGraphSemantic Kernel