Shikata Ga Nai

Private? There is no such things.

第52回|LangGraphってなに?より複雑な構成を作るツール

Hello there, ('ω')ノ

🧠 LangGraphとは?

LangGraphとは、「AIを使ったフロー処理」を、分岐・ループなども含めて柔軟に構築できるツールキットです。

LangChainと同じ開発チームが提供しており、内部的にもLangChainと連携しながら動かせます。

LangChainが「線形(直列)」の処理に強いのに対し、 LangGraphは「グラフ構造(分岐・循環・再帰)」の処理に対応しているのが大きな違いです。


🔁 LangGraphの特徴まとめ

機能 説明
フロー制御が可能 分岐(if)、ループ(while)、エラー処理など複雑な流れを構築できる
状態遷移が管理できる 各ステップでの“状態”を保存・更新しながら進行可能
マルチエージェントに対応 複数のAIキャラクター(エージェント)が協力・交渉・対話できる構成が可能
再実行やロールバック対応 一部のステップだけを再実行したり、前の状態に戻したりといった柔軟な実行制御ができる

📌 つまり、LangGraphを使うと「フローチャートのようなAIアプリ」が作れるということです!


🗺 仕組み:ノードとステートの設計

LangGraphでは、次のような構成でアプリを作ります:

【ノード】= 各ステップ(例:入力/AI応答/検証/確認など)
【エッジ】= ノード間の流れ(条件による分岐)
【ステート】= 各時点でのデータや会話履歴、進捗などの情報

この考え方は、業務フローやチャットボットの設計にもぴったりフィットします。


📘 LangGraphの開発例(イメージ)

🎯 シナリオ:「社内議事録の自動チェックと共有」

フロー例:

  1. ✅ 音声認識 →
  2. 📝 自動要約 →
  3. ✅ 文法チェック →
  4. 🧠 内容確認(人がレビュー or AIに任せる) →
  5. 📩 Slackに自動投稿

▶ 各ステップを「ノード」として設計し、

▶ 状況に応じて「Slack送信はスキップ」「再要約させる」などの分岐処理も可能に。


💼 実務での活用シーン

活用シーン LangGraphが向いている理由
複雑な申請フローの自動化 入力不備→差し戻し/承認者分岐など、柔軟なルート分岐が必要
チャットボットの状態管理 質問内容に応じて応答を変える、過去のやりとりを反映して判断するなどが必要
AIワークフローの自動監視 エラー検知時に通知、途中停止、再実行などを組み込める
マルチエージェント協働タスク 複数のAIキャラが交代で担当する処理(例:要約→校正→翻訳)などが可能になる

🤖 LangChainとの関係

LangGraphは「LangChainの拡張」です。 LangChainで作ったChainやTool、AgentはLangGraphの中でもそのまま使えます

  • LangChain = 機能の部品
  • LangGraph = 部品を並べてフロー全体を組み立てる“設計図”

のような関係です。


🛠 LangGraphを使うには?

  • Pythonライブラリとして提供(インストールも簡単)
  • 開発にはLangChainの基本知識があればOK
  • @graph.nodeなどの関数デコレータを使ってステップを定義

ざっくりコード例(初心者向け):

from langgraph.graph import StateGraph

graph = StateGraph()

@graph.node()
def 要約する(state):
    # LLMによる要約処理
    return 更新されたstate

@graph.node()
def 校正する(state):
    # 文法チェックの処理
    return state

graph.set_entry_point("要約する")
graph.add_edge("要約する", "校正する")

📌 こういった構成で、ノードごとに処理を分担・順序管理できます!


✅ まとめ:LangGraphは「業務AIオートメーション」の道具箱!

✅ LangGraphは、複雑なAIワークフローを設計できるツール

✅ 分岐・ループ・エラー処理など、人間の業務に近い構造を実装可能

✅ LangChainとの連携で、強力かつ柔軟なAIアプリ開発が実現

✅ 「業務の手順をそのままAIに任せたい」なら、LangGraphはベストパートナー!

Best regards, (^^ゞ