Hello there, ('ω')ノ
~LLMを「動かす」ためのフレームワーク設計入門~
LLMは強力な知識や文章生成能力を持っていますが、ただ単体で動かすだけでは業務の自動化は難しいです。 そこで登場するのが、「LangChain(ラングチェーン)」や「LangGraph(ランググラフ)」といったエージェントフレームワークです。
これらを使うことで、AIが複雑な指示に従って
✅ 他のツールと連携し
✅ 複数ステップをこなし
✅ 状況を見ながら判断する
…といった“実務ロボット”として動ける仕組みが作れるようになります。
🧱 LangChainとは?
✅ 一言で言うと:
LLMとさまざまな外部ツール(API・データ・ファイルなど)を接続する“配線役”
LangChainはPythonベースのライブラリで、 以下のようなパーツを組み合わせるための枠組みを提供しています。
| パーツ名 | 役割 |
|---|---|
| LLM | 言語モデルそのもの(例:GPT) |
| Tool | 呼び出せる外部機能(検索、DB参照、Web API など) |
| Chain | 複数の処理をステップ化して順に実行する仕組み |
| Agent | 状況を見て、次のアクションを自分で決められるAI構造 |
➡ LangChainを使うことで、「LLM+自社ツール+業務ロジック」を一つの動作単位として連携可能になります。
🕸 LangGraphとは?
LangGraphは、LangChainの発展系として登場した新しい実行モデルです。
✅ 一言で言うと:
LangChainの“チェーン”に状態管理とループ制御の力を加えた「グラフ型エージェント」実行エンジン
| 特徴 | 内容 |
|---|---|
| ステップを**ノード(点)とエッジ(線)**として定義 | |
| 条件分岐やループをグラフ構造で直感的に記述可能 | |
| エージェントの「思考→行動→反省→再実行」などの複雑な流れを柔軟に設計できる | |
| 状態保持(メモリ)を扱えるので、長期タスクに強い |
🤖 LangChain vs LangGraph:どちらを使う?
| 比較軸 | LangChain | LangGraph |
|---|---|---|
| 向いている処理 | 単純なチェーン(直列処理) | 条件分岐やループを含む複雑な処理 |
| 学習コスト | やや易しい | やや難しいが表現力が高い |
| 状態管理 | 限定的 | 柔軟に保持可能 |
| エージェント設計 | 可能(ReAct型) | より強力(状態遷移型) |
💼 業務での活用イメージ
| シナリオ | LangChainの役割 | LangGraphの役割 |
|---|---|---|
| レポート作成支援 | データ取得 → 要約 → 文書化を順番に実行 | エラーが出た場合、取得フェーズに戻ってやり直し |
| FAQボット | ユーザーの意図を読み取り、関連文書を検索し回答 | 「回答が曖昧だった場合に再検索」など条件処理付き対応 |
| 営業エージェント | 顧客情報を読み取って提案メールを作成 | 顧客タイプによって文調や商品を自動選択して分岐 |
🛠 連携設計のポイント(非エンジニアにもイメージしやすく)
| 設計の観点 | ヒント |
|---|---|
| ① 入力の整理 | タスクの「入力データ」は何か?(例:社員名簿、CSV、会話文) |
| ② ステップ設計 | 手順をいくつかの処理に分割(例:読み取り→要約→出力) |
| ③ 外部ツールとの橋渡し | ツールを“関数”として定義(例:予定表登録、API呼び出し) |
| ④ 状態管理の要否 | 複数ステップをまたぐ“記憶”が必要ならLangGraphを選択 |
| ⑤ テストと監視 | 実行の中で「何をしたか」を記録・確認できる仕組みを入れる |
🧩 まとめ:LLMを“業務に組み込む”ための土台
- LangChainは、LLMとツールを順につなぐ枠組み
- LangGraphは、複雑な流れ・状態・ループを扱える発展系
- 実際の業務にあわせて、「どこまで自動化するか」を決めるのが鍵
- ノーコードツールでは難しいAI×業務の本格的自動化を支える技術群です
Best regards, (^^ゞ