使うタイミング: 出発点として、別の空のノートブックではなく、機能するツール ループ エージェントが必要です。
前提条件
- Python 3.10+ と pip — pyenv またはシステム Python
- LangGraph + LangChain コア — pip インストール langgraph langchain-core
フロー
-
ReAct スキャフォールドを求める
2 つのツール (検索 + 計算機) と MemorySaver チェックポイント作成ツールを使用して ReAct エージェントを足場にします。✓ コピーしました
→ グラフ、ツール、およびチェックポイントを接続した実行可能なコード
-
走ってステップスルー
thread_id='thread-1' で実行し、各ステップの状態を表示します。✓ コピーしました
→ ステップごとの状態スナップショットにより、ループが機能していることを確認します
結果: ゼロから開始するのではなく、拡張できる実行中のエージェント。
注意点
- 運用環境での InMemorySaver の使用 — 出荷前に Postgres チェックポイント作成ツールに切り替えます。 ガイドはスワップをカバーしています
使うタイミング: ワークフローには分岐 (分類 → ルート → 専門化 → ファイナライズ) があり、明示的な状態が必要です。
フロー
-
分岐について説明する
LangGraph の草案を作成します: 意図を分類 → サマライザーまたは Q&A に転送 → 引用で仕上げます。✓ コピーしました
→ グラフ図とコード。 明示的な条件付きエッジ
-
チェックポイント設定の追加
チェックポイント記述子を追加して、フローの途中で作業を再開できるようにします。✓ コピーしました
→ 呼び出し間で状態が維持される
結果: テスト可能で再開可能な型付きパイプライン。
注意点
- すべてのノードを LLM 呼び出しとして扱う — LLM 以外の純粋な Python ノードは、多くの場合、より明確で安価です。
使うタイミング: エージェントはお金を費やすか、誰かにメールを送信するか、状態を変更しようとしています。人間によるチェックポイントが必要です。
フロー
-
割り込みノードを追加する
「send_email」ノードの前に人間の承認割り込みを挿入します。 再開する方法を示します。✓ コピーしました
→ 配線前の中断 + クリア再開 API
-
承認パスと拒否パスをテストする
承認フローと拒否フローの両方をテストするスクリプトを作成します。✓ コピーしました
→ 2 つのパスがきれいに実行される
結果: 危険な一歩を踏み出すのは人間です。 承認されたアクションは最後まで実行されます。
注意点
- 割り込み全体で状態を保持することを忘れる — 割り込みにはチェックポイント記述子が必要です。 それがなければ一時停止は無駄です
使うタイミング: 単一のエージェントが混乱しているか、大きすぎます。 オーケストレーション パターンを検討しているとします。
フロー
-
トレードオフを確認する
研究者 + プログラマー + レビュー担当者チームのスーパーバイザーとスウォームを比較します。✓ コピーしました
→ 明確な長所/短所。 それぞれをいつ選択するか
-
選んで足場を立てる
選択したパターンを 3 つのエージェントで足場にします。✓ コピーしました
→ ルーティング/ハンドオフロジックを備えた実行可能なコード
結果: コードを実行するマルチエージェント パターンの原則的な選択。
注意点
- 単一エージェントがデバッグされる前にマルチエージェントを導入する — シングルエージェントを開始します。 具体的な限界に達した場合にのみ分割する
使うタイミング: 機能するグラフがあり、実際の展開計画が必要です。
フロー
-
デプロイ先を選択します
Docker + LangGraph プラットフォームと自己ホスト型を比較します。 少人数のチームにお勧めします。✓ コピーしました
→ コストと運用のトレードオフを考慮した具体的な推奨事項
-
ワイヤートレース
プロジェクトのスコープを指定した LangSmith トレースを追加します。✓ コピーしました
→ 適切なプロジェクト名で LangSmith にトレースが表示される
結果: プラットフォーム チームに示すことができるデプロイ パス。