Skip to main content
セキュリティに関する注意:Agent 環境変数の外部送信リスク本注意事項は Dify Enterprise 3.12.x を対象とし、Agent に環境変数を設定し、かつネットワークアクセスを許可している場合に適用されます。Dify Enterprise 3.12.x の Agent ランタイムは、機密性のある環境変数の値がユーザーに表示される応答やツールの実行出力に平文で現れる可能性を低減するため、パターンマッチングに基づくマスキングを適用します。ただし、この仕組みだけでは、当該の値とネットワークにアクセスできる Agent が、送信前に値をエンコード(Base64、16 進数、文字列分割、その他の難読化手法など)し、ランタイムからアクセス可能なネットワークエンドポイントへ送信することを確実に防げない場合があります。デプロイの運用者には、自身のシステム、データ、認証情報の機密性に応じて、Agent の権限とアクセス範囲を適切に設定する責任があります。以下を強く推奨します:
  • 長期間有効な認証情報を Agent 環境に注入しない。
  • 可能な限り、短期間・最小権限のトークンを使用する。
  • ネットワークの外部送信先を、タスクの完了に必要な最小限に制限する。
これは、パターンマッチングに基づくマスキングを単独で使用する場合に固有の制約です。
新しい Agent はベータ機能です。利用するには、クラスターで agent-backend とサンドボックス環境を有効にする必要があります。デプロイ方法は Agent Sandbox のデプロイ を参照してください。本番環境では、Helm values の agentBackend.serverSecretKey を独自のランダムな値に置き換えてください。
「Agent」は、一度セットアップすれば仕事を任せられる AI ワーカーです。クラシック Agent アプリ とは異なる、次の特徴を持つ Agent です:
  • 専用のサンドボックス の中で動作します。コマンドの実行、プログラムのインストール、ファイルの読み書きができるため、設定済みのツールを呼び出すだけでなく、手順の決まっていない作業にも取り組めます。
  • 構築一度 だけで、使い方は 2 通り あります。単体のチャットアプリとして使うことも、ワークフロー内の 1 ステップ として使うこともできます。
Agent の作成・設定・管理は Agents ページで行います。いつでも開いて、手を加えたり以前のバージョンを見直したりできます。
Agents ページは Agentsを管理 権限を持つメンバーにのみ表示されます。オーナー、管理者、編集者のロールにはデフォルトで付与されています。詳細は 権限リファレンス を参照してください。

能力とタスク

Agent では、「何者であるか」と「何をさせるか」が分かれています:
  • 「能力」(いわば Agent の魂)は、Agent が何者であるかを定めます。 記述するロールとプロンプト、実行に使うモデル、そして持たせるナレッジ、スキル、ツール、ファイルがこれにあたります。最初に一度形づくり、Agent に何が必要か分かってくるたびに磨きをかけていきます。
  • 「タスク」は、実行のたびに依頼する仕事の内容です。 Agent を単体で動かす場合、タスクは送信するメッセージです。ワークフロー内で動かす場合は、ノードに与える指示がタスクです。
人を雇うときと同じ分け方です。何ができるかで人を選び、そのうえで具体的な仕事を任せます。良い成果には、仕事に合った人と明確な指示の両方が必要です。

Agent の 2 つの使い方

単体での利用

Agent は単体のチャットアプリとして動作します。チャットでタスクを依頼できるほか、Web アプリとして公開したり、サービス API から呼び出したりもできます。
セッションの隔離レベルは、クラスターでのサンドボックスの実行方式によって決まります。sandbox gateway を有効にした標準デプロイでは、セッションごとに専用のサンドボックス Pod が割り当てられます。ファイルシステムはセッション単位で隔離されます。共有サンドボックスの代替モードでは、すべてのセッションが 1 つのサンドボックスコンテナを共有するため、エンドユーザー間の隔離が弱くなります。相互に隔離が必要なエンドユーザーへの公開には注意してください。
会話ごとに記憶は独立しています。Agent がどこまで覚えていられるかはモデルのコンテキストウィンドウ次第で、新しい会話は白紙から始まります。 1 人の有能なワーカーだけで目標に到達できる場合に向いています。たとえば、情報を調べて回答するサポートアシスタントや、資料を集めて要約するリサーチ Agent です。

ワークフロー内での利用

Agent ノード に Agent を招き、大きなプロセスの 1 ステップを任せます。ノード側で設定するのは、任せたいタスクだけです。同僚に用件を 1 つ頼むのと同じで、タスクを伝えれば、相手が自分のスキルで対応してくれます。 決まった順序で進む複数のステップ、条件分岐、他の種類のノード、専門の異なる複数 Agent の連携など、作業のまわりに構造が必要な場合に向いています。