AI エージェントがユーザーの指示とタスクの目的と一貫して一致していることを確認します。 タスクの準拠シグナルは、不適切なツール呼び出し、ユーザーの意図に対する不適切なツールの入力または出力、応答と顧客入力の間の不整合など、不一致を識別します。 この機能により、システム開発者は、不適切なアクションをブロックしたり、人間の介入のために問題をエスカレートしたりして、事前に軽減することができます。
タスクの準拠機能の主な目的は次のとおりです。
- ユーザーの目標や入力意図に誤りがあるツール アクション、またはユーザーの意図に対する不適切なツールの入力/出力、またはエージェントの応答と顧客の入力の間の不整合を検出するため。
- ツールの呼び出しが正しく配置されていない場合の理由を提供するため。
- タスクのアラインメントが危険にさらされている場合に、下流ツールの呼び出しのブロックと人間参加型 (HITL) レビューへのエスカレーションのシグナルを提供します。
- 行動の一貫性、透明性、制御を強化することで、エージェント システムでのユーザーの信頼を高めます。
前提条件
- Azure サブスクリプション - 無料で作成します
- Azure サブスクリプションを取得したら、Azure ポータルで Content Safety リソースを作成して、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、リージョン、サポートされている価格レベルを選択します。 次に、[ 作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[ リソースに移動] を選択します。 左側のウィンドウの [ リソース管理] で、[ サブスクリプション キーとエンドポイント] を選択します。 エンドポイントといずれかのキーは、API の呼び出しに使用されます。
- cURL がインストールされています。
依頼
注
プロンプト シールドの例については、 プロンプト シールドを参照してください。
API バージョン:2024-12-15-preview
URL 内のフィールド
| 名前 | 必須 | 説明 | タイプ |
|---|---|---|---|
| エンドポイント | はい | Content Safety API のベース URL。
<endpoint> を、Azure サービスに提供されているエンドポイントに置き換えます。 |
糸 |
| API バージョン | はい | 使用する API のバージョン。 この機能では、バージョンは 2024-12-15-preview。 例: <endpoint>/contentsafety/agent:analyzeTaskAdherence?api-version=2024-12-15-preview |
糸 |
要求本文のパラメーター
| 名前 | 必須 | 説明 | タイプ |
|---|---|---|---|
| ツール | はい | タスクで使用する関数を定義するツールの一覧。 各ツールには、型 ("function" など) と関数の詳細 (名前や説明など) が含まれます。 | JSON オブジェクトの配列 |
| messages | はい | ユーザー、アシスタント、およびツール間で交換されるメッセージの一覧。 各メッセージには、ソース (例: "Prompt"、"Completion")、ロール ("User"、"Assistant"、"Tool")、コンテンツ (メッセージ テキスト)、オプションで toolCalls または toolCallId が含まれます。 | JSON オブジェクトの配列 |
要求本文スキーマの例
次の表は、要求本文のキー フィールドの説明です。
ツールフィールド
| 名前 | 必須 | 説明 | タイプ |
|---|---|---|---|
| 型 | はい | 使用されているツールの種類。 この機能では、"関数" です。 | 糸 |
| function.name | はい | 関数の名前です。 たとえば、"read_emails" | 糸 |
| 関数の説明 | はい | 関数の動作の簡単な説明。 たとえば、"ユーザーの電子メールを読み取る" などです。 | 糸 |
メッセージフィールド
| 名前 | 必須 | 説明 | タイプ |
|---|---|---|---|
| ソース | はい | メッセージの配信元。 指定できる値: "Prompt"、"Completion" | 糸 |
| ロール | はい | メッセージに関連付けられているロール。 使用可能な値: "User"、"Assistant"、"Tool" | 糸 |
| contents | はい | メッセージの内容。 たとえば、"自分のメールの要約" などです。 | 文字列または配列 |
| ツールコール | いいえ | 型 (例: "function")、function.name、function.arguments、一意の ID など、エージェントによって行われたツール呼び出しの一覧。 | JSON オブジェクトの配列 |
| toolCallId | いいえ | (ツール メッセージの場合)応答するツール呼び出しの ID。 エージェントのツール呼び出しで指定された ID と一致します。 | 糸 |
API 応答
要求を送信すると、タスクの準拠によって実行された分析を反映した JSON データを受け取ります。 このデータは、エージェント ワークフロー内の潜在的な脆弱性にフラグを設定します。 一般的な出力は次のようになります。
{
"taskRiskDetected": true,
"details": "Agent attempts to share a document externally without user request or confirmation."
}
| 名前 | 説明 | タイプ |
|---|---|---|
| タスクリスク検出 | 入力のリスク検出結果が含まれます | ブール値 |
| details | リスクが検出されたときに推論を返します | 糸 |
trueのtaskRiskDetected値は、検出されたリスクを示します。その場合は、ツール呼び出し要求のブロックや人間のループ内エスカレーションなどのレビューとアクションをお勧めします。
前提条件
Azure アカウント。 お持ちでない場合は、無料で作成できます。 Azure AI リソース。
タスク遵守を設定して活用する
コンテンツの安全性の試用ページを使用するには、次の手順に従います。
- Azure AI Foundryに移動し、プロジェクト/ハブに移動します。 次に、左側のナビゲーションの [Guardrails + controls ] タブを選択し、[試してみる] タブを選択します。
- [ 試 してみる] ページでは、テキストや画像コンテンツなどのさまざまな Guardrails およびコントロール機能を試し、調整可能なしきい値を使用して有害なコンテンツをフィルター処理できます。
- Agentic Workflow に移動し、[タスクの準拠] を選択します。
- アライン済みまたは未アラインのエージェントツール呼び出しの例のいずれかを選択するか、独自の例を作成することでタスク遵守をテストできます。
- [テストの実行] を選択します。 タスクの準拠は、各サンプルのリスク フラグを返し、リスクが検出された場合は、理由を返します。
ユーザー シナリオ
カスタマー サポート
シナリオ: エンタープライズ プラットフォームに統合されたカスタマー サポート アシスタントは、ユーザーがデータの使用状況を確認し、問題のトラブルシューティングを行い、アカウント設定を管理するのに役立ちます。 正確な自動化を維持するために、システムにはタスクの準拠が組み込まれており、バックエンド ツール呼び出しを実行する前にエージェント プランを検証します。
ユーザー: エンド ユーザー、サポート エージェント、カスタマー エクスペリエンス チーム。
アクション: ユーザーがチャットボットに "今月使用したデータの量を確認できますか?アシスタントは、 change_data_plan() ツールを呼び出す予定です。 タスクの準拠は、ユーザーの意図 (情報要求) と提案されたアクション (サブスクリプションの変更) の間のずれを検出します。 ツールの呼び出しをブロックでき、システムは実行を停止するか、ユーザーにレビューを求めます。
人的資源
シナリオ: エンタープライズ アシスタントは、予約休暇、経費の提出、ポリシーの詳細の確認など、人事関連の日常的なワークフローを自動化します。 タスクの準拠により、エージェントのアクションが想定されるスコープ内に留まり、意図しないショートカットが実行されないようにします。
ユーザー: 従業員、人事ビジネス パートナー、ワークフロー自動化チーム。
アクション: 従業員が入力します:「私の年間休暇の残りがどれくらいあるか知りたいです。」エージェントはapply_leave()を呼び出す予定です。 タスクの準拠は、タスクの不一致を識別します。ユーザーは、プロセスを開始せず、情報を求めました。 実行はブロックされます。エージェントは確認の目的で、言い換えまたはプロンプト形成を行います。
生産性ツール
シナリオ: 電子メール プラットフォームに埋め込まれた生産性アシスタントは、専門家がデータベースに接続し、メッセージの下書き、レビュー、送信を行うのに役立ちます。 タスクの準拠は、下書きの記述と送信コマンドの実行を区別するために使用されます。特に、ユーザーの意図があいまいな場合に使用されます。
ユーザー: ナレッジ ワーカー、エグゼクティブ アシスタント、IT コンプライアンス チーム。
アクション: ユーザーは、"期限切れについてクライアントに電子メールを書き込む" というメッセージを表示します。エージェントはメッセージを生成し、 send_email()を呼び出す予定です。 タスクの実行状況は計画が時期尚早とみなされる可能性を示します。送信するための明確な指示はありません。 代わりに、システムは目的のツール呼び出しをブロックし、ユーザー レビューを求めます。
タスクの準拠: 適合ツールと不適合ツールの使用
Task Adherence API シグナルは、開発者とプラットフォーム所有者が、エージェントのツール呼び出しがユーザーの意図と一致するか、またはユーザーの意図から逸脱するかを理解するのに役立ちます。
例示
| 分類 | 説明 | 例 |
|---|---|---|
| 整列された | エージェントは、意図しないアクションを実行せずに、要求された情報を取得します。 |
ユーザー: "最近の予定表のイベントを表示できますか? 計画されたツール: get_calendar_events()✅ エージェントは、要求されたとおりにイベントを取得します。 アウトプット: { "taskRiskDetected": false } |
| 位置ずれ | エージェントは、情報要求のみが行われた場合に、ユーザー設定の変更を試みます。 |
ユーザー: "最近の予定表のイベントを表示できますか? 計画されたツール: clear_calendar_events()❌ エージェントはデータの削除を準備します。 アウトプット: { "taskRiskDetected": true, "details": "Planned action deletes calendar events, but user only requested to view them."} |
| 整列された | エージェントは、ユーザーが新しいドキュメントの生成を要求した後、ドキュメント作成フローを開始します。 |
ユーザー: "クライアントの新しいプロジェクト提案ドキュメントを作成します。" 計画されたツール: create_document()✅ ユーザーのタスク要求に一致します。 アウトプット: { "taskRiskDetected": false} |
| 位置ずれ | エージェントは、ユーザーの指示なしにドキュメントを外部コラボレーターと共有します。 |
ユーザー: "クライアントの新しいプロジェクト提案ドキュメントを作成します。" 計画されたツール: share_document()❌ 共有するユーザー命令はありません。 アウトプット: { "taskRiskDetected": true, "details": "Agent attempts to share a document externally without user request or confirmation."} |
制限事項
利用可能な言語
タスクの準拠は、英語のテキストでテストされています。ただし、この機能は他の多くの言語で動作しますが、品質は異なる場合があります。 いずれの場合も、ユース ケースとアプリケーションをテストして、シナリオに適していることを確認することをお勧めします。
テキストの長さの制限
現在、タスクの準拠 API には入力の長さの制限があります。 テキストの最大長は 100,000 文字です。 入力の長さがこの制限を超えると、エラーが発生します。
リージョンの可用性とデータ処理
タスクの準拠はすべてのAzure AI Content Safetyリージョンで有効にすることができますが、データは、指定された geo 以外の他の米国および EU リージョンにルーティングされ、処理される場合があります。