Dify AIエージェントガイド2026: ツール付き自律AIの構築
Dify AIエージェントは単純なチャットボットをはるかに超えています — ウェブを検索し、Pythonコードを実行し、任意のAPIを呼び出し、多段階のタスクを自律的に解決できます。このガイドでは最初のエージェントからカスタムツールとマルチエージェントシステムまですべてを説明します。
Dify AIエージェントとは?
Dify AIエージェントは、タスクを達成するためにどのツールを使うかを自律的に決定するAIアプリケーションです。プロンプトに基づいてテキストを生成するだけの普通のチャットボットとは違い、エージェントは実際の行動を実行できます:Google検索、Wikipediaの記事を読む、Pythonスクリプトを実行する、現在の天気を取得する、または任意のREST APIを呼び出す。
重要な違いは行動能力です:エージェントに目標を与える(例:「2026年のトップ5 AIスタートアップをリサーチして資金調達をまとめてください」)と、エージェントが自律的に必要なステップを決定します — ウェブ検索、結果を読む、情報をフィルタリング、回答をまとめる。
エージェント vs チャットボット vs ワークフロー — いつ何を使うか
Difyは3種類のメインアプリタイプを提供しています。どれがいつ最適かを理解することで時間を節約し、より良い結果が得られます:
| 特徴 | チャットボット | ワークフロー | エージェント |
|---|---|---|---|
| ツール使用 | ✗ なし | ✓ 固定ツール | ✓ 動的選択 |
| 意思決定 | なし | 固定分岐 | 自律的な推論 |
| 最適なケース | Q&A、サポートボット | パイプライン、自動化 | リサーチ、複雑なタスク |
| ステップ数 | 1ステップ(プロンプト→回答) | 事前定義されたステップ | 可変、実行時に決定 |
| リアルタイムデータ | ✗ なし | HTTPノード経由のみ | ✓ はい、ツール経由 |
| 予測可能性 | 高 | 非常に高い | 低い(柔軟性が高い) |
チャットボットを使う場合...
カスタマーサポート、FAQ回答、ヘルプデスク向けのシンプルな会話アシスタントが必要な場合。静的な知識、リアルタイムデータ不要。
ワークフローを使う場合...
繰り返し可能で決定論的なパイプラインがある場合:テキスト翻訳、記事の要約、サポートチケットの分類。常に同じステップ。
エージェントを使う場合...
タスクにリアルタイム情報、複数のツール、または動的な意思決定が必要な場合。リサーチ、競合分析、ライブデータ取得、複雑な多段階タスク。
最初のDifyエージェントを作成する
ウェブ検索と計算ができるリサーチエージェントを構築するには、以下の手順に従ってください。約10分かかります:
新しいアプリを作成
Dify Studioで「+アプリを作成」をクリック。タイプを聞かれたら「エージェント」を選択。「リサーチアシスタント」などの名前を入力。
システムプロンプトを書く
エージェントの役割を説明します。例:「あなたはリサーチアシスタントです。最新情報が必要な場合はGoogle Searchを使用してください。計算にはCalculatorを使用してください。常にソースを引用してください。」
ツールを追加
「ツール」セクション(左パネル)で「+ツールを追加」をクリック。「Google Search」を有効にします — SerpAPIキーが必要です(無料枠あり)。「Calculator」も有効にします — APIキー不要。
エージェント戦略を選択
「エージェント戦略」でGPT-4oまたはClaudeモデルには「Function Calling」を選択。ネイティブFunction Callingのないオープンソースモデルには「ReAct」を選択。
モデルを選択
エージェントのパフォーマンスを最大化するためにGPT-4oまたはClaude 3.5 Sonnetを選択。これらのモデルはいつ、どのようにツールを使うかを最も確実に理解しています。
エージェントをテスト
プレビューパネルで「現在のビットコインの価格はユーロでいくらですか?」と入力。エージェントがGoogle Searchを呼び出し、結果を読み、最新の回答を提供するのを観察してください。次に:「このレートで0.5 BTCを購入するといくらかかりますか?」
公開
青い「公開」ボタンをクリック。エージェントが公開され、共有リンクまたはREST APIでアクセスできます。
Difyエージェントの組み込みツール
Difyには即使えるツールのライブラリが含まれています。ほとんどはそれぞれのプロバイダーの無料または有料のAPIキーが必要です。最も便利なものをご紹介します:
Google Search
Googleを検索してタイトル、スニペット、URLを含む上位結果を返します。最も強力な検索ツール — 最新ニュース、価格、企業データ、時間的敏感情報に最適です。
DuckDuckGo
APIキー不要のプライバシー重視のウェブ検索。一般的な検索に適しています。非常に最新の情報についてはGoogle Searchよりやや信頼性が低いです。
Bing Search
Azure Cognitive ServicesによるMicrosoftの検索エンジン。寛大な無料枠(月1,000トランザクション)でSerpAPIの代替として優れています。
Wikipedia
Wikipediaを検索して完全な記事テキストを返します。安定した事実のための百科事典的知識に最適。ウェブ検索よりもはるかに信頼性が高いです。
Calculator
数学的表現を評価します。モデルが頭で計算しようとするのを防ぎます(LLMは算数が苦手で有名)。価格計算、パーセンテージ、統計に最適。
Code Interpreter
安全なサンドボックスでPythonコードを実行します。エージェントはコードを書いて実行し、データ分析、テキスト処理、複雑な計算、ファイル操作ができます。
天気
任意の場所の現在の天気状況と予報を返します。旅行エージェント、イベント計画、場所ベースのアプリに便利です。
WolframAlpha
計算知識 — 数学問題、科学的質問、歴史的データ、単位変換を最高精度で回答。ウェブ検索の優れた補完ツール。
カスタムツール: 任意のAPIを接続
Difyエージェントの真の強みは、任意のREST APIをカスタムツールとして組み込めることです。エージェントが社内システム、SaaSツール、データベース、またはAPIを持つ他のサービスと連携できます。
方法1: OpenAPIスキーマ
APIにOpenAPI(Swagger)仕様がある場合、JSONまたはYAMLをDifyに直接貼り付けてください。すべてのエンドポイント、パラメーター、説明を自動的に解析します。
- ツール → カスタムツール → ツールを作成
- 「OpenAPIスキーマからインポート」を選択
- OpenAPI JSON/YAMLを貼り付け
- 認証を追加(APIキー、Bearerトークンなど)
- 保存 — すべてのエンドポイントがツールとして使用可能
方法2: 手動定義
正式な仕様のないシンプルなAPIには各エンドポイントを手動で定義してください:
- 名前:「get_customer_data」(エージェントが呼ぶ方法)
- 説明:「メールアドレスで顧客を検索」(エージェントがいつ使うか判断するために読む)
- メソッド:GET、POST、PUT、DELETE
- URL:パラメーター付きのエンドポイントURL
- パラメーター:名前、タイプ、説明、必須/オプション
エージェント戦略: ReAct vs Function Calling
Difyはエージェントの推論とツール使用に2つの戦略をサポートしています。適切な選択は使用するLLMによって異なります:
Function Calling
モデルが構造化された関数呼び出しとしてツールを使用する方法をネイティブに理解しています。より信頼性が高く効率的で、よりクリーンな推論チェーンを生成します。
最適なモデル:
GPT-4o、GPT-4 Turbo、Claude 3.5 Sonnet、Claude 3 Opus、Gemini 1.5 Pro
ReAct(Reasoning + Acting)
モデルはツール呼び出しと観察をテキストとして生成します。Function Callingをサポートしないオープンソースモデルに必要です。
最適なモデル:
Llama 3、Mistral、Qwen、その他のオープンソースモデル
本番環境でDifyエージェントを実行
エージェントはセルフホストで最も良く動作します — 無制限のAPI呼び出し、カスタムツール統合、完全なデータプライバシー。Hetznerで月額€3.79から始められます。
一般的な間違いとその回避方法
1. 不適切なAPIキーの設定
APIキーを誤って設定することが多い。特に、環境変数を使用する際にミスが発生する。
症状: "Unauthorized" エラーが表示される。
修正方法: 環境変数ファイル (.env) を確認し、正しいAPIキーが設定されているかを確認する。
2. Dockerのポート設定ミス
Dockerコンテナのポート設定を誤ると、アプリケーションにアクセスできなくなる。
症状: "Connection refused" エラー。
修正方法: docker-compose.yml ファイルを確認し、ポートマッピングが正しいかを確認する。
3. 不適切な依存関係のインストール
必要なライブラリやモジュールをインストールし忘れることがある。
症状: "Module not found" エラー。
修正方法: requirements.txt を確認し、必要なパッケージを pip install でインストールする。
4. 不適切なプロンプトの設定
プロンプトが曖昧だと、エージェントが期待通りに動作しない。
症状: 不正確な結果が返される。
修正方法: プロンプトを具体的にし、エージェントに明確な指示を与える。
高度な設定
以下は、Difyのパフォーマンスと信頼性を向上させるための設定オプションです。
1. リトライ設定の追加
API呼び出しの失敗時にリトライを行う設定を追加することで、安定性を向上させる。
retry:
max_attempts: 3
delay: 2000
2. ロギングレベルの調整
詳細なロギングを有効にすることで、デバッグが容易になる。
logging:
level: DEBUG
3. タイムアウト設定の調整
API呼び出しのタイムアウトを調整することで、応答性を改善する。
timeout:
request: 5000
connect: 3000