Microsoft Foundry には、コア モデルとエージェントに適用できる安全ガードレールとセキュリティ ガードレールが用意されています。 エージェント ガードレールはプレビュー段階です。 ガードレールは、一連のコントロールで構成されます。 コントロールは、検出されるリスク、リスクをスキャンするための介入ポイント、およびリスクが検出されたときにモデルまたはエージェントで実行する応答アクションを定義します。
ガードレールは、コントロールの名前付きコレクションです。 API 構成とアプリケーション設計のバリエーションは、完了とフィルター処理の動作に影響を与える可能性があります。
リスクには、有害なコンテンツを検出するように設計された分類モデルによってフラグが設定されます。 4 つの介入ポイントがサポートされています。
- ユーザー入力 - モデルまたはエージェントに送信されたプロンプト。
- ツール呼び出し (プレビュー) - エージェントがツールに送信することを提案するアクションとデータ。 エージェントのみ。
- ツールの応答 (プレビュー) - ツールからエージェントに返されるコンテンツ。 エージェントのみ。
- 出力 — ユーザーに返された最終的な完了。
介入ポイントの詳細については、「 介入ポイントとコントロール」を参照してください。
メモ
ガードレールでは、Azure AI Content Safety からの分類モデルを利用して、サポートされているリスク カテゴリ全体の有害なコンテンツを検出します。
重要
ガードレール システムは、Azureによって直接販売されるすべてのモデルに適用されます。ただし、プロンプトや、Whisperなどのオーディオモデルによって処理されるコンプリートは除きます。 詳細については、「 オーディオ モデル」を参照してください。 ガードレール システムは現在、 Foundry エージェント サービスで開発されたエージェントにのみ適用され、Foundry コントロール プレーンに登録されている他のエージェントには適用されません。
前提 条件
- Azure サブスクリプション。 無料で作成します。
- Microsoft Foundry プロジェクト。
- プロジェクト内の少なくとも 1 つのモデル 配置。
- Azure AI アカウント所有者ロール
- サブスクリプションまたはリソース グループで、Azure アカウント AI 所有者 や Azure AI 所有者などの Foundry リソースを作成できる役割へのアクセスが必要です。 アクセス許可の詳細については、「Microsoft Foundry の
Role ベースのアクセス制御」を参照してください。
- サブスクリプションまたはリソース グループで、Azure アカウント AI 所有者 や Azure AI 所有者などの Foundry リソースを作成できる役割へのアクセスが必要です。 アクセス許可の詳細については、「Microsoft Foundry の
エージェントとモデルのガードレール
個々の Foundry ガードレールは、プロジェクト内の 1 つまたは複数のモデルと 1 つまたは複数のエージェントに適用できます。 ガードレール内の一部のコントロールは、リスク、介入ポイント、またはアクションがエージェント動作またはツール呼び出しに固有であるため、モデルに関連しない場合があります。 これらのコントロールは、そのガードレールを使用するモデルでは実行されません。
プレビューの一部のリスクは、エージェントではまだサポートされていません。 これらのリスクを含むコントロールがガードレールに追加され、ガードレールがエージェントに適用されている場合、それらのコントロールはそのエージェントに対して有効になりません。 同じガードレールを使用するモデルにも適用されます。
リスクの適用性
次の表は、モデルとエージェントに適用できるリスクをまとめたものです。
| リスク | モデルに適用される | エージェントに適用 (プレビュー) |
|---|---|---|
| 嫌い | ✅ | ✅ |
| 性的 | ✅ | ✅ |
| 自傷行為 | ✅ | ✅ |
| 暴力 | ✅ | ✅ |
| ユーザー プロンプト攻撃 | ✅ | ✅ |
| 間接攻撃 | ✅ | ✅ |
| スポットライト (プレビュー) | ✅ | ❌ |
| 保護されたコード素材 | ✅ | ✅ |
| テキスト用の保護された素材 | ✅ | ✅ |
| Groundedness (プレビュー) | ✅ | ❌ |
| 個人を特定できる情報 (プレビュー) | ✅ | ✅ |
| タスクの準拠 | ✅ | ✅ |
重大度レベル
コンテンツ リスク (ヘイト、性的、自傷行為、暴力) の場合、各コントロールでは、フラグが設定されているコンテンツを決定する重大度レベルのしきい値が使用されます。
| 重大度レベル | 動作 |
|---|---|
| オフ | このリスクの検出は無効になっています。 承認された顧客のみが利用できます。コンテンツ フィルターを参照してください |
| 低 | 重大度が低い以上のコンテンツにフラグを設定します。 最も制限が厳しい。 |
| 媒体 | 重大度が中程度以上のコンテンツにフラグを設定します。 |
| 高 | 最も重大なコンテンツのみにフラグを設定します。 最も制限が少ない。 |
各重大度レベルで検出される内容の詳細な内訳については、「 コンテンツ フィルタリング カテゴリ」を参照してください。
介入ポイントの適用可能性
次の表は、モデルとエージェントに適用できる介入ポイントをまとめたものです。
| 介入ポイント | モデルに適用される | エージェントに適用 (プレビュー) |
|---|---|---|
| ユーザー入力 | ✅ | ✅ |
| ツール呼び出し | ❌ | ✅ (プレビュー) |
| ツールの応答 | ❌ | ✅ (プレビュー) |
| 出力 | ✅ | ✅ |
重要
エージェントに割り当てられているガードレールに基づいて、リスクが検出されます。これは基になるモデルのガードレールではありません。 エージェント ガードレールは、モデルのガードレールを完全にオーバーライドします。
例: ガードレールのオーバーライド動作
このシナリオを考えてみましょう。
- モデルのデプロイには、ユーザーの入力と出力に対する暴力検出が [高 ] に設定されたコントロールがあります
- そのモデルを使用するエージェントには、ユーザーの入力と出力に対する暴力検出が Low に設定されたコントロールがあります。 エージェントは、ツールの呼び出しと応答に対する暴力検出をまったく制御しません
アクションの適用可能性
コントロールがリスクを検出すると、2 つのアクションのいずれかを実行できます。 次の表は、モデルとエージェントに適用できるアクションをまとめたものです。
| アクション | モデルに適用される | エージェントに適用 (プレビュー) |
|---|---|---|
| 注釈 | ✅ | ❌ |
| 注釈とブロック | ✅ | ✅ |
ガードレールの継承とオーバーライド
重要
エージェントに割り当てられているガードレールに基づいて、リスクが検出されます。これは基になるモデルのガードレールではありません。 エージェント ガードレールは、モデルのガードレールを完全にオーバーライドします。
シナリオの例:
- モデルのデプロイには、ユーザーの入力と出力に対する暴力検出が [高 ] に設定されたコントロールがあります
- そのモデルを使用するエージェントには、ユーザーの入力と出力に対する暴力検出が Low に設定されたコントロールがあります。 エージェントは、ツールの呼び出しと応答に対する暴力検出の制御をまったく持っていません|
そのエージェントでの暴力検出に対する想定される動作:
上記の構成を考えると、各段階での暴力検出のしくみを次に示します。
- エージェントに対するユーザー クエリが 低 レベルで暴力をスキャンされる
- 基になるモデルによってエージェントに内部的に生成されたツール呼び出し (ツール呼び出しの実行中にそのツールに送信されたコンテンツを含む) は、暴力のスキャンは行われません
- ツールからの応答は、暴力があるかどうかスキャンされません
- 元のクエリに応答してユーザーに返された最終的な出力は、 低 レベルで暴力をスキャンされます
既定のガードレール
既定では、モデルには Microsoft.DefaultV2 ガードレールが割り当てられています。 含まれるコントロールの詳細については、「 コンテンツフィルタリング」を参照してください。
エージェントの既定のガードレール割り当ては、次の規則に従います。
- エージェントにカスタム ガードレールを割り当てる場合は、そのガードレールが使用されます。
- カスタム ガードレールが割り当てられていない場合、エージェントは基になるモデル デプロイのガードレールを継承します。
- エージェントは、そのガードレールがモデルのデプロイで使用されている場合、または明示的に割り当てられている場合にのみ、Microsoft.DefaultV2 ガードレールを使用します。
メモ
たとえば、エージェントにカスタム ガードレールが指定されておらず、そのエージェントが "MyCustomGuardrails" という名前のガードレールを持つ GPT-4o ミニ展開を使用する場合、エージェントは別のガードレールを割り当てるまで "MyCustomGuardrails" も使用します。
トラブルシューティング
エージェントに適用されないガードレール
症状: エージェントの動作が、割り当てられたガードレール構成と一致しません。
原因:
- ガードレールには、エージェントに対してまだサポートされていないプレビュー リスクを含むコントロールが含まれています (スポットライト、接地)
- 割り当てられたガードレールの代わりにモデルのガードレールを使用するエージェント
ソリューション:
- Azure AI Foundry ポータルまたは SDK を使用して割り当てられたガードレールを確認する
- ガードレール コントロールがエージェントでサポートされていないリスクに依存していないことを確認する
- モデルの既定値をオーバーライドするためにエージェントにガードレールを明示的に割り当てる
予期しないフラグが設定されたコンテンツ
症状: ガードレールによってブロックされた正当なコンテンツ。
原因:
- 重大度レベルが制限されすぎている (高度ブロック)
- 分類モデルで検出されたエッジ ケース パターン
ソリューション:
- 影響を受けるリスク カテゴリの重大度レベルの設定を確認する
- 異なる重大度レベルでテストし、適切なしきい値を見つける
- 永続的な誤検知については、Azureサポートに問い合わせて分類を確認してください
ツール呼び出しがスキャンされない
症状: 有害なコンテンツは、ツールの呼び出し/応答を通過します。
原因:
- ガードレールで構成されていないツール呼び出しとツール応答の介入ポイント
- 完全に有効になっていない可能性があるプレビュー機能の使用
ソリューション:
- ガードレールにツール呼び出しとツール応答の介入ポイントのコントロールが含まれていることを確認する
- Foundry Agent Service プレビュー機能がプロジェクトで有効になっていることを確認する