> ## 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.

# エージェント

> 複雑なタスク実行のために LLM にツールの自律制御を与える

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

エージェントノードは、LLM にツールの自律的な制御権を与え、どのツールをいつ使用するかを反復的に決定できるようにします。すべてのステップを事前に計画する代わりに、エージェントは問題を動的に推論し、複雑なタスクを完了するために必要に応じてツールを呼び出します。

<Frame caption="エージェントノード設定インターフェース">
  ![エージェントノード設定インターフェース](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/1f4d803ff68394d507abd3bcc13ba0f3.png)
</Frame>

## エージェント戦略

エージェント戦略は、エージェントの思考と行動を定義します。モデルの能力とタスク要件に最も適したアプローチを選択してください。

<Frame caption="利用可能なエージェント戦略オプション">
  ![利用可能なエージェント戦略オプション](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/f14082c44462ac03955e41d66ffd4cca.png)
</Frame>

<Tabs>
  <Tab title="Function Calling">
    大規模言語モデルのネイティブな関数呼び出し機能を使用して、tools パラメータを通じてツール定義を直接渡します。大規模言語モデルは、組み込まれたメカニズムを使用して、いつどのようにツールを呼び出すかを決定します。

    GPT-4、Claude 3.5、および関数呼び出しサポートが堅牢な他のモデルに最適です。
  </Tab>

  <Tab title="ReAct (Reason + Act)">
    明示的な推論ステップを通じて大規模言語モデルを導く構造化されたプロンプトを使用します。透明な行動→観察\*\*サイクルに従います。

    ネイティブな関数呼び出し機能を持たないモデルや、明示的な推論トレースが必要な場合によく機能します。
  </Tab>
</Tabs>

<Info>
  **マーケットプレイス → エージェント戦略** から追加戦略をインストールするか、[コミュニティリポジトリ](https://github.com/langgenius/dify-plugins) にカスタム戦略を貢献してください。
</Info>

<Frame caption="関数呼び出し戦略設定">
  ![関数呼び出し戦略設定](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/10505cd7c6f0b3ba10161abb88d9e36b.png)
</Frame>

## 設定

### モデル選択

選択したエージェント戦略をサポートする大規模言語モデルを選択してください。より高性能なモデルは複雑な推論をより良く処理しますが、反復あたりのコストが高くなります。その戦略を使用する場合は、モデルが関数呼び出しをサポートしていることを確認してください。

### ツール設定

エージェントがアクセスできるツールを設定します。各ツールには以下が必要です：

**認証** - ワークスペースで設定された外部サービス用の API キーと認証情報

**説明** - ツールの機能と使用タイミングの明確な説明（これがエージェントの意思決定を導きます）

**パラメータ** - 適切な検証を伴うツールが受け入れる必須およびオプションの入力

### 指示とコンテキスト

自然言語の指示を使用してエージェントの役割、目標、コンテキストを定義します。上流のワークフローノードから変数を参照するには、Jinja2 構文を使用します。

**クエリ** は、エージェントが作業すべきユーザー入力またはタスクを指定します。これは以前のワークフローノードからの動的コンテンツにすることができます。

<Frame caption="設定パラメータ">
  ![設定パラメータ](https://assets-docs.dify.ai/dify-enterprise-mintlify/en/guides/workflow/node/54c8e4f0eaa7379bd8c1b5ac6305b326.png)
</Frame>

### 実行制御

**最大反復数** は、無限ループを防ぐための安全制限を設定します。タスクの複雑さに基づいて設定してください - 単純なタスクには 3-5 回の反復が必要ですが、複雑な調査には 10-15 回必要な場合があります。

**メモリ** は、TokenBufferMemory を使用してエージェントが記憶する過去のメッセージ数を制御します。より大きなメモリウィンドウはより多くのコンテキストを提供しますが、トークンコストが増加します。これにより、ユーザーが以前のアクションを参照できる会話の継続性が可能になります。

### ツールパラメータ自動生成

ツールには **自動生成** または **手動入力** として設定されたパラメータがあります。自動生成パラメータ（`auto: false`）はエージェントによって自動的に設定され、手動入力パラメータはツールの永続的な設定の一部となる明示的な値が必要です。

<video controls src="https://assets-docs.dify.ai/2025/04/1801b96763eb8f22f1e2158645897885.mp4" width="100%" />

## 出力変数

エージェントノードは以下を含む包括的な出力を提供します：

**最終回答** - クエリに対するエージェントの最終的な応答

**ツール出力** - 実行中の各ツール呼び出しからの結果

**推論トレース** - JSON 出力で利用可能なステップバイステップの決定プロセス（特に推論と行動戦略で詳細）

**反復回数** - 使用された推論サイクルの数

**成功ステータス** - エージェントがタスクを正常に完了したかどうか

**エージェントログ** - ツール呼び出しのデバッグと監視のためのメタデータを含む構造化されたログイベント

## 使用例

**調査と分析** - エージェントは複数のソースを自律的に検索し、情報を統合し、包括的。

**トラブルシューティング** - エージェントが情報を収集し、仮説をテストし、発見に基づいてアプローチを適応させる必要がある診断タスク。

**マルチステップデータ処理** - 次のアクションが中間結果に依存する複雑なワークフロー。

**動的 API 統合** - API 呼び出しの順序が事前に決定できない応答と条件に依存するシナリオ。

## ベストプラクティス

**明確なツール説明** は、エージェントが各ツールをいつどのように効果的に使用するかを理解するのに役立ちます。

**適切な反復制限** は、複雑なタスクに対して十分な柔軟性を確保しながら、暴走コストを防ぎます。

**詳細な指示** は、エージェントの役割、目標、制約や好みについてのコンテキストを提供します。

**メモリ管理** は、使用例の要件に基づいて、コンテキスト保持とトークン効率のバランスを取ります。
