LangChain vs LangGraph
LangChainはLLMアプリケーションの部品を組み合わせて直線的な処理(チェーン)を構築するフレームワーク、LangGraphは同じチームが開発した、状態遷移をグラフとして表現し条件分岐・ループ・マルチエージェントに対応するフレームワーク。
3行で違いを説明
Comparison Table
| Item | LangChain | LangGraph |
|---|---|---|
| Purpose | LLMアプリケーションの部品化・連結 | 複雑な状態遷移を伴うエージェントアプリケーションの構築 |
| Developer | LangChain, Inc.(Harrison Chase) | LangChain, Inc. |
| Release | 2022年10月 | 2024年 |
| License | Apache License 2.0 | MIT License |
| Open Source | オープンソース | オープンソース |
| API | Python/JavaScript SDK | Python/JavaScript SDK |
| Programming Language | Python、JavaScript/TypeScript | Python、JavaScript/TypeScript |
| Ecosystem | 対応LLM・データソース・ツールが非常に豊富 | LangChainのエコシステムをベースに、状態永続化・ヒューマンインザループ機能を追加 |
Architecture
LangChain
コンポーネント(プロンプトテンプレート・LLM呼び出し・ツール・パーサー等)を直線的に連結するチェーンとして処理を表現する。
LangGraph
処理単位をノード、遷移をエッジとするグラフとして定義し、条件分岐・ループ・並列実行や、各ノードの状態を永続化するチェックポイント機構を持つ。
Feature Comparison
| Feature | LangChain | LangGraph |
|---|---|---|
| 直線的なチェーン構築 | ○ | ○ |
| 条件分岐・ループ | 限定的 | ○ |
| マルチエージェント状態共有 | — | ○ |
| 状態の永続化・再開 | — | ○ |
| ヒューマンインザループ | 実装は可能だが標準機能ではない | ○ |
Advantages
Disadvantages
LangChain
- 抽象化の層が多く、内部の挙動を細かく制御・デバッグしたい場合に複雑さを感じることがある
- バージョンアップの頻度が高く、APIの変更に追従する保守コストがかかりやすい
LangGraph
- 単純なタスクに対しては、グラフ構造を定義する分オーバーヘッドが大きく感じられやすい
- LangChainのエコシステムに関する前提知識を要する場合がある
Best Use Cases
Migration
LangChainのチェーンで実装した処理をLangGraphへ移行する場合、各処理ステップをノードとして再定義し、遷移条件をエッジとして明示的に記述し直す。LangChainのコンポーネント(プロンプト・ツール・LLM呼び出し等)自体はLangGraphのノード内でそのまま再利用できる。
FAQ
参考文献
関連する比較
CrewAI vs LangGraph
CrewAIは役割を与えた複数のAIエージェントに協調してタスクを遂行させるPythonのマルチエージェントフレームワーク。LangGraphは状態遷移をグラフとして定義し、複雑なマルチエージェントアプリケーションを構築するLangChainエコシステムのフレームワーク。
CrewAILangGraph
LangGraph vs Semantic Kernel
LangGraphはLangChainのチームが開発する、状態遷移をグラフとして定義するマルチエージェントフレームワーク。Semantic Kernelは、Microsoftが提供するLLM統合SDKで、マルチエージェントのオーケストレーション機能も備える。
LangGraphSemantic Kernel