LangChain と LangGraph の比較
どちらもエージェントフレームワークに分類しています。数値はGitHub APIから取得したもので、評価は本サイトによるものです。
基本情報の比較
| 基本情報の比較 | LangChain | LangGraph |
|---|---|---|
| ライセンス | MIT | MIT |
| 言語 | Python, TypeScript | Python, TypeScript |
| 提供形態 | セルフホスト / ローカル実行 | セルフホスト / マネージドクラウド |
| 成熟度 | 安定 | 安定 |
| スター | 144k | 39.8k |
| 直近7日間のスター増加数 | +23 ★ | +14 ★ |
| フォーク | 24k | 6.7k |
| オープンIssue | 410 | 695 |
| 最終コミット | 2026年8月15日 | 2026年8月16日 |
| 開発状況 | 活発 | 活発 |
それぞれの位置づけ
LangChain
本当の価値は網羅性にあります。必要なモデル、ベクトルストア、APIのアダプタはたいてい既に存在し、着想からプロトタイプまでの距離が短くなります。抽象化の階層が深いという評価は根強く、多くのチームは連携部分にこれを使い、制御フローが複雑になった段階でより明示的な実装に移行しています。
詳細を見る →LangGraph
エージェントを「中身の見えないループ」ではなく、ノードとエッジの明示的なグラフとして表現します。永続チェックポイントにより実行を人間の承認待ちで中断し、後から再開できるため、本番システムに触れるワークフローで現実的な選択肢になります。反面、単純なツール呼び出しだけのエージェントには記述量が多く、他のフレームワークより初期セットアップが重くなります。
詳細を見る →できること
LangChain
- モデル差し替えの一元化 —
init_chat_modelに「provider:model」形式の文字列を渡すだけで統一インターフェースのチャットモデルが得られ、プロバイダを変更しても呼び出し側は.invoke()のまま維持できます。 - 上位パッケージからの着手 — LangChain上に構築されたDeep Agentsでは、計画立案、サブエージェント、ファイルシステム利用といった頻出パターンが組み込み済みの機能として提供されます。
- 明示的な制御への移行 — 分岐や状態管理がchainレベルのAPIに収まらなくなった段階では、同系列の低レベルフレームワークであるLangGraphでワークフローを直接記述できます。
- TypeScriptでの同等実装 — JS/TS向けには同等のライブラリとしてLangChain.jsがあり、npmの
langchainパッケージとして配布されています。Python版と同じ構成をTypeScriptでもそのまま書けます。
LangGraph
- 障害後に途中から再開 — Durable executionが実行状態を永続化するため、長時間動くエージェントが停止しても最初からやり直さず、中断したステップから再開します。
- 人間の承認を挟んで中断 — Interruptsで任意のノードで実行を止め、人がエージェントの状態を確認・修正してから続行させられます。
- 実行の中身はLangSmithで見る — READMEがデバッグ手段として挙げるのはLangChainの別プロダクトであるLangSmithで、実行経路の可視化、状態遷移の記録、実行時メトリクスの取得を担います。どのノードで結果が崩れたかはこの画面から辿ります。
- Deep Agentsで上位から始める — LangGraph上に構築されたDeep Agentsを使うと、計画立案・サブエージェント・ファイルシステムを前提としたエージェントを、グラフを自分で組まずに作れます。
- TypeScriptでも同じ構成 — JS/TS向けにはLangGraph.jsが提供されており、NodeのサービスからPythonプロセスを別途立てる必要がありません。