要点(90字):LangGraphはAIエージェントの状態遷移をグラフで定義するLangChain系フレームワークである。State/Node/Edge/Conditional Edge/Subgraphの5要素を押さえれば、シングル〜マルチエージェントの本番運用まで段階的に実装できる。エンタープライズ採用が増えている理由は、観測・人間介入・状態管理を明示的に設計できる点にある。
この記事の対象読者
- LangChainやCrewAIを試したが本番運用に持ち込めず、フレームワーク選定を見直したい開発リーダー
- AIエージェントの内製化を進めており、本番運用に耐えるフレームワークの判断軸を求めている技術判断者
- LangGraphとLangChainの違い、Claude Agent SDKとの使い分けを整理したい情シス・経営企画
- 2026年時点のエンタープライズAI実装の標準スタックを押さえたいCTO・VP of Engineering
LangGraph実装の要点(3行)
- LangGraphは「状態機械(State Machine)の発想」でエージェントを構築するフレームワークである。会話駆動でも役割定義でもなく、状態遷移を明示的にグラフで書くのが思想の中核である。
- **5つの基本要素(State/Node/Edge/Conditional Edge/Subgraph)**を理解すれば、シングルからマルチ、人間介入、本番運用までを段階的に実装できる。学習コストは初期に集中し、習得後は設定より実装の時間を確保しやすくなる。
- エンタープライズ採用が伸びている理由は「観測・人間介入・状態管理」が最初から明示的である点にある。LangSmithとの統合、Checkpoint機能、Interrupt機能が、本番運用での品質保証を支える。
本記事は「マルチエージェント実装ガイド」で示した設計パターンを、LangGraphで実装する側面に絞った技術ノートである。
LangGraphとは何か
LangGraphはLangChainチームが2024年に発表した、エージェント・ワークフローのグラフ実装フレームワークである。LangChainの上位互換ではなく、別アーキテクチャの選択肢として位置づけられる。
LangChainとの根本的な違い
LangChainは「Chain(連鎖)」のメタファーで、処理を直列につなぐ構造を想定している。エージェントを足すと、ReActループやAgentExecutorのような構造を被せるが、複雑な制御フロー(分岐・ループ・人間介入)の表現が苦手だった。
LangGraphは「Graph(グラフ)」のメタファーで、ノード(処理)とエッジ(遷移)を明示的に書く。状態(State)を全ノードで共有し、各ノードが状態を読んで更新する。制御フローを可視化できるのが本質的な差である。
実装視点で言うと、LangChainのエージェントが「LLMに判断を委ねて何でもやる」のに対し、LangGraphは「LLMの判断もグラフのノードとして明示的に組み込む」発想である。
「状態機械(State Machine)」の発想
ソフトウェア工学では古典的な状態機械の概念がそのままエージェント設計に活用されている。
- 状態(State):今、エージェントが何を持っているか(会話履歴、収集データ、進行状況)
- 遷移(Transition):何をきっかけに、どの次の状態に移るか
- アクション(Action):その状態で何を実行するか
この3つで、エージェントの動作が完全に記述できる。複雑な振る舞いも、状態と遷移の組み合わせとして整理できる。マルチエージェントの本質も、各エージェントを「状態を持つグラフ」として捉えると見通しが立つ。
なぜ2026年にLangGraphが企業実装で選ばれるのか
エンタープライズがLangGraphを採用する理由は、技術的な優位性だけではない。本番運用に必要な機能が最初から組み込まれている点が大きい。
1. 観測・監査が最初から明示的
LangSmith(LangChainチームの観測・監査プラットフォーム)と統合され、エージェントのすべての判断ログを自動記録できる。「どのノードが何を判断したか」が後から再現可能で、本番運用での品質改善とインシデント分析が回る。
2. Human-in-the-loopが組み込み済み
任意のノードで「人間の承認を待つ」「人間に問い合わせる」をInterrupt機能で表現できる。承認を取らないと前に進まないワークフロー(経理・人事・法務系業務)を直接表現できる。
3. Checkpointで状態を永続化できる
各ノードの実行後に状態をディスク/DBに保存できる。これにより、長時間実行のエージェント(数時間〜数日かかるリサーチ)が、途中で中断しても再開できる。「失敗時に最初からやり直し」がなくなるのは、長時間・多ステップの業務で効く。
4. マルチエージェントがSubgraphで表現できる
エージェントをグラフのサブグラフとして組み込めば、複数エージェントの協調が「グラフの中のグラフ」として表現できる。マルチエージェント設計が構造的に整理しやすくなる(参考:マルチエージェント実装ガイド)。
LangGraphを理解する5つの基本要素
LangGraphのAPIはシンプルで、5つの要素を押さえれば全体像が見える。
1. State(状態)
エージェントが共有するデータ構造。PythonのTypedDictやPydanticモデルで定義する。会話履歴、収集データ、進行状況、設定値などを保持する。すべてのノードがこのStateを読み書きする。
設計のコツ:Stateは「最低限の共有データ」に絞る。何でもStateに入れると、コンテキスト膨張とデバッグ困難を招く。
2. Node(処理ノード)
Stateを受け取り、何らかの処理を実行し、Stateを更新して返す関数。LLMの呼び出し、ツールの実行、外部APIアクセス、データ変換など、あらゆる処理がノードになる。
設計のコツ:1ノード1責務。「データを取得する」「LLMで判断する」「結果を整形する」のように、責任範囲を小さく保つと、後の保守コストが下がる。
3. Edge(エッジ:遷移)
ノードから次のノードへの遷移を定義する。シンプルなエッジは「ノードAの次は必ずノードB」という固定遷移である。
4. Conditional Edge(条件付きエッジ)
ノードの実行結果に応じて、次に進むノードを動的に決める分岐エッジ。LLMの判断、データの内容、エラー状態などを条件として使う。エージェントの自律性は、Conditional Edgeで表現される。
5. Subgraph(サブグラフ)
別のグラフをノードとして組み込める仕組み。マルチエージェントの実装では、各エージェントをサブグラフとして定義し、それらを上位グラフから呼び出す構造になる。コンポーネント設計の基本単位となる。
実装の最初の1本:シングルエージェント
LangGraphを始めるなら、まずシングルエージェント(ReActパターン)から実装する。次の構造で組む。
構成要素
- State:会話履歴(messages)+ ツール呼び出し結果
- Node 1:LLMがユーザー入力に対して計画を立てる
- Node 2:必要なツールを実行する
- Conditional Edge:LLMの応答が「終了」ならEND、ツール呼び出しが必要ならNode 2へ
この3要素で、ReActループ(Reasoning + Acting)のエージェントが完成する。100行以下のPythonコードで本番運用に耐える基盤ができるのがLangGraphの特徴である。
設計のポイント
- System PromptはStateに持たせない:System Promptは固定値としてLLM呼び出しノードに直接渡す
- ツール定義は型を厳密に:ツールの入出力SchemaをPydanticで定義し、LLMが間違いなく呼び出せるようにする
- エラー時のフォールバックを最初から組む:LLMの判断ミス、ツールのタイムアウト、APIのレート制限――これらは必ず起きる前提で設計する
オーケストレーター型へのマルチエージェント拡張
シングルが安定したら、オーケストレーター型のマルチエージェントへ拡張する。LangGraphではSubgraphを使ってシンプルに表現できる。
構成要素
- オーケストレーター用のメイングラフ:入力を受け取り、どの専門エージェントに振り分けるかをConditional Edgeで判断
- 各専門エージェントをサブグラフとして実装:例「リサーチ・エージェント」「分析エージェント」「ドラフト作成エージェント」
- 統合ノード:各エージェントの出力を統合し、最終アウトプットを生成
設計のポイント
- Stateはトップグラフと各サブグラフで分離:共通項(messages等)のみを共有し、各エージェント固有の作業データはSubgraph内のローカルStateに持つ
- Subgraphの入出力スキーマを明示:Pydanticで型を切り、エージェント間のメッセージ規約を機械的に検証可能にする
- オーケストレーターには「ループ上限」を組み込む:判断が循環するのを防ぐため、最大反復回数をStateで管理する
オーケストレーター型の設計の詳細は、別記事「マルチエージェント実装ガイド」で4パターン整理している。
人間介入(Human-in-the-loop)の組み込み
エンタープライズ業務では「重要な判断は人間が最終承認する」要件がほぼ必須である。LangGraphのInterrupt機能で、追加ライブラリなしに実装できる。
Interruptの3パターン
パターン1:承認待ち 「下書きを作って人間に承認を求める」業務(営業提案、稟議書、法務文書)。Interruptを入れて、承認が降りるまで待機。承認 / 修正 / 却下のいずれかで処理を続行。
パターン2:曖昧な判断を人間に委ねる LLMの信頼度が閾値を下回った時、人間に判断を委ねる。例:顧客対応で「この問い合わせはエスカレーションすべきか」を確信が持てない時。
パターン3:実行前の最終確認 不可逆操作(送信、削除、決済)の直前で人間に確認を取る。Interruptで停止し、確認後に実行ノードへ進む。
設計のポイント
- Interruptのポイントは設計フェーズで決める:「すべてに人間介入」と「全部AIに委ねる」の間で、業務リスクに応じてバランスを取る
- Checkpointと組み合わせる:Interruptで停止したStateを永続化しておけば、人間が翌日承認しても処理が継続できる
- 通知連携を組み込む:人間が「待っていることに気づかない」を防ぐため、Slack通知やメール連携を仕込む
観測・監査基盤(LangSmith / Langfuse)の連携
LangGraphは観測基盤との連携が組みやすい。観測は後から追加すると設計の見直しが発生するため、最初から組み込む。
LangSmith統合
LangChainチーム公式のプラットフォーム。LangGraphの全実行ステップが自動記録され、Web UIで時系列・状態遷移・LLM呼び出し・ツール実行が可視化できる。本番障害の原因特定が分単位でできるようになる。
Langfuseという選択肢
オープンソースで自社ホストできる観測基盤。機密性の高いデータを扱う企業(金融、医療、政府)で採用が増えている。LangGraphのcallbackで簡単に連携できる。
設計のポイント
- タグ・メタデータを必ず付与:環境(dev / staging / prod)、ユーザーID、業務IDをタグ付けし、後から分析できる粒度を確保
- ログ粒度を業務単位で揃える:あるユーザーの1業務 = 1トレースとして見えるよう設計
- コスト監視を自動化:LangSmith / Langfuseのダッシュボードで、日次・週次でコスト推移を追う
本番運用での3つの落とし穴
LangGraphで本番運用を始めると遭遇しやすい落とし穴が3つある。設計フェーズで先に把握しておくと後の手戻りを減らせる。
1. Stateの肥大化
何でもStateに入れる設計をすると、Stateがコンテキスト窓を圧迫し、LLMの応答品質が劣化する。「Stateには共有が必要なもののみ」「ローカルな作業データはノード内で処理する」を最初から徹底する。
2. Conditional Edgeの判断ロジックをLLMに依存しすぎる
「次にどのノードに行くべきか」をLLMに毎回問い合わせると、コストと判断のばらつきが増す。ルールで決まる部分は普通のコードで判定し、LLMの判断が必要な部分にだけLLMを使う。
3. Subgraphの境界設計の不徹底
サブグラフを切る粒度が大雑把だと、結局1つの巨大なグラフと同じになる。1サブグラフ=1責任範囲を意識し、サブグラフ間のメッセージ規約を最初から定義する。
LangChain / LlamaIndex / Claude Agent SDKとの使い分け
LangGraphと並んで採用される類似フレームワーク/SDKは次の3つである。それぞれの強みを理解した上で使い分ける。
LangChain(古典的なエージェント実装)
簡単な単発タスクやプロトタイプには依然として有効。AgentExecutorの構造は、本番運用での観測・統制の組み込みがLangGraphより煩雑になりがちで、エンタープライズ採用はLangGraphに移行している。LangChainで書いていたコードをLangGraphに移植する企業が2026年時点で増えている。
LlamaIndex(RAG中心)
大量ドキュメントの検索と参照(RAG)に特化したライブラリ。エージェントの実装機能も持つが、メインユースケースは検索基盤である。LangGraph + LlamaIndexの組み合わせが現実的な選択肢で、エージェント本体はLangGraph、ナレッジ検索はLlamaIndexという棲み分けが多い。
Claude Agent SDK
Anthropic公式のClaude専用SDK。Claudeのメモリ機能、コンテキスト管理、Computer Use等の最新機能にいち早く対応する。Claudeモデルで完結する業務には最適だが、他社モデルへの乗り換えを許容しないトレードオフがある。
選び方の指針
- 本番運用・観測・統制が重要:LangGraph
- RAGが業務の中心:LangGraph + LlamaIndex
- Claudeモデルで完結・最新機能をフル活用:Claude Agent SDK
- プロトタイプを早く回したい:CrewAIも検討
迷ったら LangGraph単体から始めるのが、長期的に最も拡張性が高い。
よくある質問(FAQ)
Q1. LangGraphとLangChainは何が違うのか?
A. LangChainは処理を直列につなぐChainのメタファーで、分岐・ループ・人間介入といった複雑な制御フローの表現が苦手だった。LangGraphはノード(処理)とエッジ(遷移)を明示的に書くGraphのメタファーで、制御フローを可視化できるのが本質的な差である。上位互換ではなく、別アーキテクチャの選択肢として位置づけられる。
Q2. なぜエンタープライズでLangGraphの採用が増えているのか?
A. 観測・人間介入・状態管理が最初から明示的に設計できるためである。LangSmithとの統合で全実行ステップの判断ログを自動記録でき、Interrupt機能で人間の承認待ちを表現でき、Checkpoint機能で長時間実行の状態を永続化できる。本番運用に必要な機能がフレームワーク本体に含まれ、後付け工数が少ない。
Q3. 学習コストが高いなら、CrewAIのような簡単なフレームワークでは駄目なのか?
A. CrewAIは直感的に書けてプロトタイピングが速いが、制御フローの細かい指定が苦手で、本番運用での観測・統制の整備が手薄である。LangGraphの学習コストは初期に集中し、習得後は本番運用まで段階的に実装できる。本番運用と統制が重要ならLangGraph、試作の速さを優先するならCrewAIという使い分けになる。
Q4. LangGraphの学習は何から始めればよいか?
A. State・Node・Edge・Conditional Edge・Subgraphの5つの基本要素を押さえれば全体像が見える。最初の実装はReActパターンのシングルエージェントから始めるのが定石で、100行以下のPythonコードで本番運用に耐える基盤ができる。安定してからマルチエージェント・Interrupt・Checkpointを段階的に追加する。
Q5. 人間の承認を挟むワークフローは実装できるか?
A. できる。Interrupt機能により、承認待ち、曖昧な判断の人間への委譲、不可逆操作前の最終確認の3パターンを追加ライブラリなしで組み込める。Checkpointと組み合わせて停止時のStateを永続化しておけば、人間が翌日承認しても処理を継続できる。
Q6. Claude Agent SDKとはどう使い分けるべきか?
A. Claude Agent SDKはAnthropic公式のClaude専用SDKで、メモリ機能やComputer Use等の最新機能にいち早く対応する。Claudeモデルで完結する業務には最適だが、他社モデルへの乗り換えを許容しないトレードオフがある。本番運用・観測・統制を重視するならLangGraph、RAGが業務の中心ならLangGraphとLlamaIndexの組み合わせが指針である。
Q7. 本番運用で注意すべき落とし穴は何か?
A. Stateの肥大化、Conditional Edgeの判断ロジックのLLMへの依存しすぎ、Subgraphの境界設計の不徹底の3点である。Stateは共有が必要な最低限に絞り、ルールで決まる分岐は普通のコードで判定し、1サブグラフ=1責任範囲を徹底することで避けられる。
まとめ
- LangGraphは「状態機械の発想」でエージェント・ワークフローをグラフで定義するフレームワークで、LangChainとは別アーキテクチャの選択肢である
- 観測(LangSmith)/人間介入(Interrupt)/状態永続化(Checkpoint)/マルチエージェント(Subgraph)がフレームワーク本体に含まれており、後付け工数が少ない
- 実装はシングルエージェントの5要素から始め、安定してからマルチエージェント・Interrupt・Checkpointを段階的に追加していくのが現実的な進め方である
- 本番で詰まりやすいのは「Stateの肥大化」「Conditional EdgeのLLM依存」「Subgraph境界の不徹底」の3点で、設計フェーズで方針を決めておく
- 競合フレームワーク(LangChain / LlamaIndex / Claude Agent SDK / CrewAI)との使い分けは、業務要件と運用要件の組み合わせで判断する
FDXのLangGraph実装支援
FDX株式会社は、LangGraphを中心としたAIエージェントの設計・実装・運用引き渡しを、現場常駐型で支援する実装パートナーです。シングルエージェントのPoCから始まり、マルチエージェント化、Human-in-the-loopの組み込み、LangSmith / Langfuseによる観測基盤の構築、本番運用と内製化までを一気通貫で並走します。技術力だけでなく、業務オーナーと机を並べて「何をエージェント化すべきか」の判断から伴走するのが特徴です。
関連記事
- マルチエージェント実装ガイド|協調・分業の設計パターンと運用設計
- AIエージェント完全ガイド|2026年版 定義・構築アプローチ・企業導入の成功条件
- AI内製化の進め方|外注依存から脱却する5ステップと判断基準
- 生成AI導入の進め方|PoC止まりを越える5つのステップ
- Forward Deployed Engineer(FDE)とは?AI時代の実装パートナーを定義する
- FDEを組織に組み込む — スキルマップ・評価基準・育成ロードマップ
出典・参考文献
- LangChain公式ドキュメント「LangGraph: Stateful, Multi-Actor LLM Applications」
- LangChain公式ブログ「Building reliable agents with LangGraph」
- LangSmith公式ドキュメント
- Langfuse公式ドキュメント
- Anthropic公式ブログ「Building effective agents」
- Anthropic「Claude Agent SDK Documentation」
- LlamaIndex公式ドキュメント
- Microsoft Research「AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation」
