重要なポイント
- AIエージェント = LLM + ツール + ループ。LLMが使用するツールを決定し、実行し、結果を観察し、次のアクションを決定します。
- LangGraphはローカルまたはクラウドLLMを使用してエージェントワークフローを構築するためのフレームワークです。
- 主要コンポーネント:LLM(Ollama)、ツール(Webサーチ、コード実行、ファイルアクセス)、メモリ(会話履歴)、計画(推論ループ)。
- ローカルエージェントはクラウドより遅い(LLM推論に時間がかかる)ですが、プライベートでカスタマイズ可能です。
- 2026年4月の時点では、ローカルエージェントは速度よりも推論の利益を得るタスクに最適です。
AIエージェントはどのように機能するか
エージェントはこのループに従います:(1)状態/コンテキストを観察する、(2)LLMが最適なアクションについて推論する、(3)アクションを実行する(ツール呼び出し)、(4)結果を観察する、(5)完了するまで繰り返す。
例:タスク「Llama 3.2とQwen 2.5をコーディングタスクで比較する」を与えられた研究エージェント。
- 観察:タスクを受信。
- 推論:ベンチマークを見つける必要があり、HumanEvalスコアを検索します。
- アクション:web_searchツールを使用して「Llama 3.2 HumanEvalベンチマーク」を検索。
- 観察:スコア付きのテキストを取得。
- アクション:「Qwen 2.5 HumanEval」を検索。
- 推論:両方のモデルが見つかりました。Qwenはより高速で、Llamaはより汎用的です。
- 最終アクション:回答を合成して返す。
📍 一文で説明
AIエージェントは、LLMを使用して次に呼び出すツールを決定し、結果を観察してから再度決定するプログラム — タスクが完了するまで繰り返します。
💡Tip: チェーンとの主な違いは、エージェントはLLMの出力を使用して次に何が起こるかを「決定」し、事前に決定されたパスをたどるのではなく、ということです。
エージェントとチェーンの違いは何ですか
エージェントは実行時に動的な決定を行います。チェーンは事前に決定されたシーケンスをたどります。タスクが推論またはエラー回復を必要とする場合はエージェントを使用 — 固定で予測可能なワークフローの場合はチェーンを使用してください。
| 側面 | チェーン | エージェント |
|---|---|---|
| 意思決定 | 事前決定シーケンス | ダイナミック、LLMが決定 |
| ループ | ループなし | 推論ループ(完了まで繰り返す) |
| エラー回復 | 手動エラー処理 | LLMが障害から回復可能 |
| ユースケース | 固定ワークフロー(要約 → メール) | 複雑な推論(研究、自動化) |
| 複雑さ | シンプル、予測可能 | 複雑、予測不可能な動作 |
📌Note: エージェントはチェーンより遅く、より予測不可能です。なぜなら、LLMは各ステップで決定を下さなければならないからです。速度が重要で、ワークフローが事前に知られている場合は、チェーンを使用してください。
LangGraphアーキテクチャはどのように機能するか
LangGraphはエージェントをノード(状態)とエッジ(遷移)を持つ有向非環グラフ(DAG)として定義します。
- 状態:エージェントが保持する情報(コンテキスト、観察、決定)。
- ノード:状態を処理する関数(LLM推論、ツール実行)。
- エッジ:ノード間の遷移(LLM出力に基づいて条件付き)。
- ツール:LLMが呼び出すことができる関数(Webサーチ、コード実行、データベースクエリ)。
💬 簡潔に説明
LangGraphは、LLMが各決定ボックスで従う矢印を決定するフローチャートのようなものです — 何か問題が発生したときにループバックできます。
エージェントはどのようなツールを使用できるか
エージェントの機能は完全にツール(世界と相互作用するために呼び出すことができる関数)によって定義されます。決定麻痺を避けるため、エージェント当たり5~10ツールに制限してください。
- Webサーチ:インターネットで情報を検索(duckduckgo、Google、Bing)。
- コード実行:Pythonコードを実行して結果を返す。
- ファイル操作:ファイルの読み取り/書き込み、ディレクトリのリスト。
- データベースクエリ:ローカルまたはリモートデータベースをクエリする。
- ドキュメント検索:RAGベクトルデータベースでドキュメントを検索。
- 計算機:算術演算と記号数学を実行。
- メール:メッセージを送信(注意して実行、アクセス許可を確認)。
- APIコール:外部サービスと相互作用。
⚠️Warning: ツールが多すぎるとLLMが混乱します — ステップごとのレイテンシが増加し、エージェントが間違ったツールをより頻繁に選択します。3~5個のコアツールで始めてください。
🛠️Practice: すべてのツール説明を50語以下で書き、使用する正確なタイミングを記載してください。明確な説明はLLMが正しいツールを選択するのに役立ちます。
エージェントはどのように推論して計画するか
エージェントの推論はLLMモデルサイズとプロンプト品質によります。
- 小さいモデル(3-7B):推論に限界あり。決定論的タスク(ツール検索、分類)に最適。
- 中規模モデル(13-30B):まともな推論。2~3ステップの推論チェーンを処理可能。
- 大型モデル(70B+):強力な推論。多段階計画で複雑な問題を解決可能。
プロンプト技法:Chain-of-Thought(CoT)はエージェントが決定前にステップを考え抜くのに役立ちます。テスト推論パフォーマンスの前にOllamaがインストールされて実行中であることを確認してください。
❌ 悪いプロンプト
“あなたは有用なAIアシスタントです。ユーザーは調査をしてほしいと言うでしょう。ベストを尽くしてください。”
✅ 良いプロンプト
“研究エージェントです。各タスク:(1)2~3個のサブ質問に分割、(2)web_searchツールを使用して各質問を検索、(3)結果を合成、(4)ソースを引用。ツールを呼び出す前に推論を説明してください。ハード制限:最大10推論ステップ。”
# 例:エージェント用CoT推論プロンプト
system_prompt = """
研究エージェントです。複雑なタスクをステップに分割:
1. 必要な情報を特定
2. 適切なツールを呼び出して情報を収集
3. 結果を分析し、次のステップを決定
4. ソース付きで最終回答を返す
ツールを呼び出す前に常にステップバイステップで推論してください。
"""🔍Insight: Chain-of-Thoughtプロンプトはエージェントに役立つ — 明示的なステップバイステップ推論はLLMがより適切なツール選択をするのに役立つ。
⚠️Warning: 一般的な「有用なアシスタント」プロンプトは自律型エージェントで失敗。明示的なステップ制限、出力フォーマット規則、ツール推論の説明が必要。
どのローカルエージェントパターンが最も効果的か
5つのパターンがほとんどのローカルエージェントのユースケースをカバーしています。主な必要性に基づいて選択 — 推論、コード実行、計画、会話、または自動化。
- 研究エージェント:ドキュメントとWebを検索し、結果を合成。
- コードエージェント:コードを書いて実行して問題を解決。
- 計画エージェント:複雑なタスクをサブタスクに分割し、他のエージェントに委任。
- 会話型エージェント:メモリを保持し、質問に答え、フィードバックから学習。
- ワークフロー自動化:メールを読み、タスクを実行し、確認を送信。
ローカルAIエージェント実装の最も一般的な間違いは何か
ほとんどのローカルエージェント障害は5つの根本的原因に遡ります:ツール過負荷、ツール説明が曖昧、無限ループ、エラー処理の欠落、モデルサイズの不一致。
- ツール多すぎ:エージェントはオプション多すぎで混乱。5-10個の関連ツールに制限。
- ツール説明が弱い:説明が曖昧だとLLMはツールを正しく使用しません。明確で具体的な説明を書いてください。
- 無限ループ:エージェントは推論ループに詰まる可能性があります。最大イテレーション制限を追加(例:10ステップ)。
- エラー処理がない:ツール呼び出しが失敗する可能性があります。エージェントが障害を適切に処理するようにしてください。
- 小さいモデル使用:3Bモデルは複雑なエージェントの推論には不十分。自律型エージェントには13B+を使用。
⚠️Warning: 最大の間違いはハード反復制限なしでエージェントを展開することです。LLMが詰まるとエージェントは永遠にループする可能性があります。常にmax_iterationsを10~20に設定してください。
ローカルAIエージェントについてよくある質問
🛠️Practice: 最初に最大イテレーション数(例:5ステップ)でエージェントをテストして、本番環境でリソースを浪費する可能性がある前にバグをキャッチしてください。
クラウドエージェント対ローカルエージェントの速度はどのくらい違うか
クラウドエージェント:推論ステップあたり約1秒。ローカルエージェント:モデルサイズとハードウェアに応じてステップあたり約3~5秒。ローカル推論はレイテンシを追加しますがAPIコストを排除し、すべてのデータを自身のハードウェアに保持します。
ローカルエージェントはインターネットにアクセスできるか
はい、web_searchツールを提供すれば。エージェントは他の関数と同じようにそのツールを呼び出します。DuckDuckGo検索APIと構造化結果用SerpAPIを含む一般的なオプション。
エージェントが物事を破壊しないようにするにはどうするか(例:ファイル削除)
ツールを厳格なファイルシステムとネットワーク権限を持つDockerコンテナ内で実行。監査証跡のためにすべてのツール呼び出しを入出力と共にログに記録。破壊的なアクション(ファイル削除、メール送信)の前に確認ステップを追加。
複数のエージェントを並列実行できるか
はい。FastAPIなどの非同期フレームワークを使用して、エージェント要求を同時に処理。各要求は独自の会話状態を取得。各並列エージェントは独自のLLM推論スレッドを必要とするため、VRAMが同時実行できる数を制限することに注意。
ローカルAIエージェントを実行するのに必要な最小ハードウェアは何か
信頼できる自律推論には13B+パラメータモデルをお勧めします。最低16GB RAMが必要で、量子化13BモデルのGPUには8GB+ VRAM が望ましい。CPUのみのハードウェアでは、推論ステップあたり5~15秒を予想してください。
LangGraphを代わりにLangChainシンプルを使用すべき場合
ワークフローがループ、条件付きブランチ、またはツール障害からの回復を必要とする場合はLangGraphを使用。LangChainシンプルは線形パイプライン(A → B → C)で決定ポイントなしでよく機能。エージェントが失敗ステップ後にやり直したり再度推論する必要がある場合、LangGraphのグラフ構造がこれを適切に処理。
LangGraphはLangChainと同じか
いいえ。LangChainはチェーンとパイプラインを構築するための汎用LLMツールキット。LangGraphはエージェントとステートフルワークフロー専用にLangChainの上に構築された別々のフレームワーク — 信頼できる推論ループに必要なグラフ構造(ノード、エッジ、状態)を追加。
ローカルエージェントはいくつのツールを持つべきか
エージェントを5~10ツールに制限。オプション多すぎると、LLMは正しいツールを選択するのに苦労し、ステップごとのレイテンシが増加。3~5個のコアツールで始めて、特定の機能ギャップに直面した場合のみ拡張。すべてのツール説明を50語以下で書き、使用する正確なタイミングを記載。
クイックファクト
- ローカルエージェントレイテンシ:推論ステップあたり約3~5秒(対クラウドエージェント約1秒)
- モデル最小値:信頼できる自律マルチステップエージェント用13B+パラメータ
- ツール制限:エージェント当たり5~10ツール — 10以上で決定品質が低下
- 最大イテレーション:無限ループを防ぐため、10~20ステップのハード制限を設定
- ハードウェア:量子化7Bモデルで8GB+ VRAM ; 13Bエージェント用16GB+
- CPU上の推論レイテンシ:13Bでステップあたり5~15秒(Ollama既定)
リージョナルコンテキストと展開規制
日本: 「このセクションでは」METI(経済産業省)が2024年に発布したAIガバナンス指針にはデータレジデンシーと監査要件が含まれています。ローカルエージェントはこれらの要件を満たし、エンタープライズAI展開で推奨されます。Act on Protection of Personal Information(APPI、2022年改正)では個人データの国外転送が制限されていますが、ローカルエージェントはこれを自動的に満たします。
アジア太平洋地域: 「東アジア広域」ASEAN域内ではMyPersonal Data Protection Act(マレーシア)、Personal Data Protection Law(タイ)、Data Security Law(ベトナム)が個人データの域内残存を要求。ローカルエージェントは共通のARPA(Asia-Pacific Regional Architecture)準拠で展開でき、クロスボーダーデータ転送を排除。
グローバル: エンタープライズ環境では、AIシステムが独立した意思決定を行い、データが民感な場合(金融、医療、法律)、ローカル展開が監査可能性と説明責任を向上。Ollamaとローカルモデル(特にQwen2.5など)はこれらの要件をサポート。
ソース
- LangGraph公式ドキュメント — チェーン、ノード、状態、永続化。
- Ollama公式ドキュメント — インストール、モデル、API統合。
- LLMエージェントのデバッグ — Scarf Lynch — エージェントのデバッグ、無限ループ、エラー処理。
- LangChainでエージェントを構築 — LangChainドキュメント — エージェント統合チュートリアル。
- エージェントパフォーマンス評価 — OpenAI evals — エージェントのベンチマーク。