> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent

> モデルが自律的に推論、意思決定、ツール使用を行うチャット形式のアプリ

> このドキュメントは AI によって自動翻訳されています。不正確な部分がある場合は、[英語版](/en/self-host/use-dify/build/agent) を参照してください。

Agent は、必要に応じてツールを使用してユーザーのリクエストを完了するチャット形式のアプリです。

マルチステップのワークフローを設計せずに、利用可能なツールを使ってモデルに自律的にタスクの進め方を判断させたい場合に使用します。たとえば、ライブデータの取得、チャートの生成、結果の要約を自律的に行うデータ分析アシスタントの構築に適しています。

<Info>
  Agent は会話ごとに最大 500 メッセージまたは 2,000 token の履歴を保持します。いずれかの上限を超えた場合、新しいメッセージのために古いメッセージから順に削除されます。
</Info>

<Tip>
  Agent は会話オープナー、フォローアップ提案などのオプション機能をサポートしています。詳細は [アプリツールキット](/ja/self-host/use-dify/build/additional-features) を参照してください。
</Tip>

## 設定

### プロンプトの作成

プロンプトは、モデルに何をすべきか、どのように応答すべきか、どのような制約に従うべきかを伝えます。Agent の場合、プロンプトはモデルがタスクをどのように推論し、いつツールを使用するかのガイドにもなるため、期待するワークフローを具体的に記述してください。

効果的なプロンプトを書くためのヒント：

* **ペルソナを定義する**：モデルが誰として振る舞い、どのような専門知識を活用すべきかを記述します。

* **出力形式を指定する**：期待する構造、長さ、スタイルを記述します。

* **制約を設定する**：モデルが避けるべきことや従うべきルールを伝えます。

* **ツール使用をガイドする**：特定のツールを名前で指定し、いつ使用すべきかを記述します。

  <Frame caption="ツール名">
    <img src="https://mintcdn.com/dify-6c0370d8/gyesM3ime6gTaYSO/images/use-dify/workflow/tool-name.png?fit=max&auto=format&n=gyesM3ime6gTaYSO&q=85&s=e280d9fce18717587474c888256b831c" alt="ツール名" width="804" height="294" data-path="images/use-dify/workflow/tool-name.png" />
  </Frame>

* **ワークフローを概説する**：複雑なタスクを、モデルが従うべき論理的なステップに分解します。

#### 変数を使った動的プロンプトの作成

毎回プロンプトを書き直すことなく、異なるユーザーやコンテキストに Agent を適応させるには、変数を追加して必要な情報を事前に収集します。

変数はプロンプト内のプレースホルダーです。各変数は入力フィールドとして表示され、ユーザーが会話開始前に入力し、その値が実行時にプロンプトに挿入されます。ユーザーは会話中に変数の値を更新することもでき、プロンプトはそれに応じて調整されます。

たとえば、データ分析 Agent では `domain` 変数を使用して、ユーザーがフォーカスする領域を指定できます：

```text wrap theme={null}
あなたは{{domain}}を専門とするデータアナリストです。ユーザーがデータを探索し理解できるように支援してください。

質問を受けたら、利用可能なデータツールを使って関連情報を取得してください。結果がビジュアル形式に適している場合は、チャートを生成してください。わかりやすい言葉で結果を説明してください。

回答は簡潔にしてください。質問が曖昧な場合は、データを取得する前に確認を取ってください。
```

<Tip>
  プロンプトの作成中に `/` と入力し、**変数を新規追加** を選択すると、名前付きプレースホルダーをすばやく挿入できます。詳細は後で **変数** セクションで設定できます。
</Tip>

期待する入力に合った変数タイプを選択してください：

<Tabs>
  <Tab title="短文">
    最大 256 文字まで入力可能です。名前、メールアドレス、タイトルなど、1 行に収まる短いテキスト入力に使用します。
  </Tab>

  <Tab title="段落">
    長さ制限のない長文テキストを入力できます。詳細な説明のための複数行テキストエリアをユーザーに提供します。
  </Tab>

  <Tab title="選択">
    事前定義されたオプションを含むドロップダウンメニューを表示します。
  </Tab>

  <Tab title="数値">
    入力を数値のみに制限します。数量、評価、ID、または数学的処理が必要なデータに最適です。
  </Tab>

  <Tab title="チェックボックス">
    シンプルな「はい/いいえ」のオプションを提供します。ユーザーがチェックボックスをオンにすると出力は `true`、それ以外は `false` になります。確認や二択が必要なケースに使用します。
  </Tab>

  <Tab title="API ベースの変数">
    ユーザーからの入力ではなく、実行時に外部 API から変数の値を取得します。

    ライブ気象条件やデータベースレコードなど、外部ソースからの動的データがプロンプトに必要な場合に使用します。詳細は [カスタム API](/ja/self-host/use-dify/workspace/api-extension/api-extension) を参照してください。
  </Tab>
</Tabs>

<Info>
  **ラベル名** は、エンドユーザーに各入力フィールドとして表示される名前です。
</Info>

#### AI でプロンプトを生成・改善する

何から始めればよいかわからない場合や、既存のプロンプトを改善したい場合は、**生成** をクリックして LLM にドラフトを作成させましょう。

ゼロから望む内容を記述するか、`current_prompt` を参照して改善点を指定します。より的確な結果を得るには、**理想的な出力** にサンプルを追加してください。

生成のたびにバージョンとして保存されるため、自由に実験してロールバックできます。

### Dify ツールで Agent を拡張する

[Dify ツール](/ja/self-host/use-dify/workspace/tools)を追加して、テキスト生成以外のタスク（ライブデータの取得、Web 検索、データベースクエリなど）でモデルが外部サービスや API と連携できるようにします。

モデルは各クエリに基づいて、いつどのツールを使用するかを判断します。これをより正確にガイドするには、プロンプトで特定のツール名を記述し、いつ使用すべきかを説明してください。

追加したツールの無効化や削除、設定の変更が可能です。ツールに認証が必要な場合は、既存の認証情報を選択するか、新しい認証情報を作成してください。

<Info>
  デフォルトの認証情報を変更するには、**統合** > **ツール** > **ツールプラグイン** に移動してください。
</Info>

#### 最大イテレーション数

**エージェント設定** の **最大イテレーション数** は、1 回のリクエストに対してモデルが推論とアクションのサイクル（考える、ツールを呼び出す、結果を処理する）を繰り返せる回数の上限です。

複数のツール呼び出しが必要な複雑なマルチステップタスクでは、この値を増やしてください。値を大きくするとレイテンシと token コストが増加します。

### 独自データに基づいた回答

一般的な知識ではなく独自のデータに基づいてモデルの回答を生成するには、ナレッジベースを追加します。

モデルはナレッジベースの説明文を参照して各ユーザークエリを評価し、検索が必要かどうかを判断します。プロンプトでナレッジベースに言及する必要はありません。

**ナレッジベースの説明が詳細であるほど、モデルは関連性をより正確に判断でき**、より的確でターゲットを絞った検索結果が得られます。

<Info>
  Agent アプリには、アプリレベルの検索設定はありません。各ナレッジベースは、それぞれの設定に基づいて個別に検索されます。複数のナレッジベースを追加した場合、どれを検索するかは Agent が選択し、それらの間で結果をリランクすることはありません。
</Info>

#### 特定ドキュメント内の検索

デフォルトでは、検索はナレッジベース全体を対象とします。検索を特定のドキュメントに制限するには、手動または自動のメタデータフィルタリングを有効にします。

これにより検索精度が向上します。特にナレッジベースが大規模な場合や、異なるコンテキストのコンテンツが含まれている場合に有効です。

ドキュメントメタデータの作成と管理については、[メタデータ](/ja/self-host/use-dify/knowledge/metadata)を参照してください。

### マルチモーダル入力の処理

エンドユーザーがファイルをアップロードできるようにするには、対応するマルチモーダル機能を持つモデルを選択します。モデルがサポートしている場合、関連するファイルタイプのトグル（**ビジョン**、**音声**、**ドキュメント**）が表示され、必要に応じて有効にできます。

<Tip>
  モデルのサポートするモダリティはタグで簡単に確認できます。

  <Frame>
    <img src="https://mintcdn.com/dify-6c0370d8/gyesM3ime6gTaYSO/images/use-dify/workflow/model-multimodal-tag.png?fit=max&auto=format&n=gyesM3ime6gTaYSO&q=85&s=a03e69d30f9538e8e1d9b93f8bd9d8b9" alt="モデルタグ" width="1216" height="756" data-path="images/use-dify/workflow/model-multimodal-tag.png" />
  </Frame>
</Tip>

**ビジョン** の **設定** をクリックして、ファイルの受け入れと処理方法を設定します。アップロード設定は、有効なすべてのファイルタイプに適用されます。

* **解像度**： **画像** 処理のみの詳細レベルを制御します。

  * **高**：複雑な画像ではより高い精度が得られますが、より多くの token を使用します

  * **低**：シンプルな画像では、より少ない token で高速に処理します

* **アップロード方法**：ユーザーがデバイスからアップロード、URL の貼り付け、またはその両方を選択できます。

* **アップロード制限**：ユーザーが 1 メッセージあたりにアップロードできるファイルの最大数です。

ファイルごとのサイズ上限は、デフォルトで画像が 10 MB（`UPLOAD_IMAGE_FILE_SIZE_LIMIT`）、ドキュメントが 15 MB（`UPLOAD_FILE_SIZE_LIMIT`）、音声が 50 MB（`UPLOAD_AUDIO_FILE_SIZE_LIMIT`）です。これらの上限は環境変数で変更できます。詳細は [環境変数](/ja/self-host/deploy/configuration/environments) を参照してください。

## デバッグとプレビュー

右側のプレビューパネルで Agent をリアルタイムにテストできます。モデルを選択し、メッセージを入力して送信すると、Agent がどのように応答するかを確認できます。

モデルのパラメータを調整して応答の生成方法を制御できます。利用可能なパラメータとプリセットはモデルによって異なります。

<Tip>
  異なるモデル間で出力を比較するには、**複数モデルでデバッグ** をクリックして最大 4 つのモデルを同時に実行できます。

  <Frame>
    <img src="https://mintcdn.com/dify-6c0370d8/gyesM3ime6gTaYSO/images/use-dify/workflow/multiple-model-debug.png?fit=max&auto=format&n=gyesM3ime6gTaYSO&q=85&s=c9f96f1dff0dfdf086010ba38aadd53a" alt="複数モデルでデバッグ" width="1100" height="1112" data-path="images/use-dify/workflow/multiple-model-debug.png" />
  </Frame>
</Tip>

**推論能力** が高く、**ツール呼び出しをネイティブにサポート** するモデルを選択することをお勧めします。

<Accordion title="なぜこれが重要なのか">
  Agent はツールを使うべきタイミング、どのツールがタスクに適しているか、結果をどのように解釈するかを判断する必要があります。これはモデルの推論能力に依存します。ツール呼び出しを内蔵サポートしているモデルは、これらの判断をより確実に実行します。
</Accordion>

**エージェント設定** でモデルのツール呼び出しサポートを確認できます。システムが自動的に Agent モードを表示します：

* **Function Calling** はネイティブサポートを持つモデル用で、ツールを直接呼び出すことができます。

* **ReAct** はその他のモデル用で、Dify がプロンプト戦略を通じてツールの使用を誘導します。

## 公開する

結果に満足したら、**公開する** をクリックしてアプリを公開します。公開オプションの全一覧は [公開する](/ja/self-host/use-dify/publish/README) を参照してください。
