このクイック スタートでは、タスクの準拠機能を使用します。 エージェント ワークフロー用の Task Adherence API を使用すると、AI エージェントは、ユーザーの指示と意図に沿ったツール アクションを確実に実行できます。 この機能は、特にユーザー データに影響を与えるツールの呼び出し、危険度の高いアクションの実行、外部操作の開始など、意図しない、または早すぎるアクションをエージェントが実行する状況を検出して防止するのに役立ちます。
タスクの準拠は、エージェントが自律的に計画および行動できるシステムで役立ちます。 計画されたツールの呼び出しがユーザーとタスクの指示と一致していることを確認し、不適切なツールの使用をフラグすることで、タスクの準拠はシステムの信頼性、ユーザーの信頼、および安全性を維持するのに役立ちます。
タスクの準拠のしくみの詳細については、「タスクの準拠の 概念 」ページを参照してください。
[前提条件]
- Azure アカウント。 持っていない場合は、無料で作成できます。
- Azure AI リソース。
タスクの順守を利用する
コンテンツの安全性の 試用 ページでタスクの準拠を使用するには、次の手順に従います。
- Azure AI Foundry (クラシック) に移動し、プロジェクト/ハブに移動します。 次に、左側のナビゲーションの [Guardrails + controls ] タブを選択し、[ 試してみる ] タブを選択します。
- [ 試 してみる] ページでは、テキストや画像コンテンツなどのさまざまな Guardrails およびコントロール機能を試し、調整可能なしきい値を使用して不適切または有害なコンテンツをフィルター処理できます。
- [Agentic Workflow]\(エージェント ワークフロー\) セクションに移動し、[Task Adherence]\(タスクの準拠\) パネルを選択します。
- 次のページでは、エージェント ツールの呼び出しが適切に調整されているか、調整が不十分な例のいずれかを選んでタスクの遵守状況をテストするか、または独自の例を作成することができます。
- [テストの実行] を選択します。 タスクの準拠は、各サンプルのリスク フラグを返し、リスクが検出された場合は、理由を返します。
[前提条件]
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、 して Azure portal で Content Safety リソースを作成 し、キーとエンドポイントを取得します。 リソースの一意の名前を入力し、サブスクリプションを選択して、リソース グループ、リージョン、サポートされている価格レベルを選択します。 次に、[ 作成] を選択します。
- リソースのデプロイには数分かかります。 完了したら、[ リソースに移動] を選択します。 左側のウィンドウの [ リソース管理] で、[ サブスクリプション キーとエンドポイント] を選択します。 エンドポイントといずれかのキーは、API の呼び出しに使用されます。
- cURL がインストールされている
タスク準拠を利用する
次のセクションでは、cURL を使用したサンプル要求について説明します。
次のコマンドをテキスト エディターに貼り付け、次の変更を行います。
-
<endpoint>をリソース エンドポイント URL に置き換えます。 -
<your_subscription_key>を自分のキーに置き換えます。 - 必要に応じて、本文の [
"messages"] フィールドのテキストを変更して、さまざまなシナリオをテストします。
curl --request POST \
--url '<endpoint>/contentsafety/agent:analyzeTaskAdherence?api-version=2025-09-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"tools": [
{
"type": "function",
"function": {
"name": "get_credit_card_limit",
"description": "Get credit card limit of the user"
}
},
{
"type": "function",
"function": {
"name": "get_car_price",
"description": "Get car price of a particular model"
}
},
{
"type": "function",
"function": {
"name": "order_car",
"description": "Buy a particular car model instantaneously"
}
}
],
"messages": [
{
"source": "Prompt",
"role": "User",
"contents": "How many mahindra be6e can i buy with my credit card limit?"
},
{
"source": "Completion",
"role": "Assistant",
"contents": "Getting the required information",
"toolCalls": [
{
"type": "function",
"function": {
"name": "get_credit_card_limit",
"arguments": ""
},
"id": "call_001"
},
{
"type": "function",
"function": {
"name": "get_car_price",
"arguments": ""
},
"id": "call_002"
}
]
},
{
"source": "Completion",
"role": "Tool",
"toolCallId": "call_001",
"contents": "100000"
},
{
"source": "Completion",
"role": "Tool",
"toolCallId": "call_002",
"contents": "10000"
},
{
"source" : "Completion",
"role" : "Assistant",
"contents" : "The price of a be6e is 10000 and your credit limit is 100000, so you can buy 10 be6e from your credit card."
}
]
}'
以下のフィールドは URL に含まれている必要があります。
| 名前 | 必須ですか? | Description | タイプ |
|---|---|---|---|
| API バージョン | 必須 | これは、確認する API バージョンです。 現在のバージョンは 2025-09-15-previewです。 例: <endpoint>/contentsafety/image:analyze?api-version=2025-09-15-preview |
String |
要求本文のパラメーターは、次の表で定義されています。
| 名前 | 必須ですか? | Description | タイプ |
|---|---|---|---|
| ツール | イエス | タスクで使用する関数を定義するツールの一覧。 各ツールには、 type ("function" など) と関数の詳細 ( name や descriptionなど) が含まれます。 |
JSON オブジェクトの配列 |
| messages | イエス | ユーザー、アシスタント、およびツール間で交換されるメッセージの一覧。 各メッセージには、 source ("Prompt"、"Completion"など)、 role ("User"、"Assistant"、"Tool"など)、 contents (メッセージ テキスト)、必要に応じて toolCalls または toolCallIdが含まれます。 |
JSON オブジェクトの配列 |
コマンド プロンプト ウィンドウを開き、cURL コマンドを実行します。
アウトプット
要求を送信すると、タスクの準拠によって実行された分析を反映した JSON データを受け取ります。 このデータは、エージェント ワークフロー内の潜在的な脆弱性にフラグを設定します。 一般的な出力は次のようになります。
{
"taskRiskDetected": true,
"details": "Agent attempts to share a document externally without user request or confirmation."
}
出力の JSON フィールドは、次のように定義されています。
| 名前 | Description | タイプ |
|---|---|---|
| タスクリスク検出 | 入力のリスク検出結果が含まれます。 | ブール値 |
| details | リスクが検出されたときに推論を返します | String |
taskRiskDetectedのtrue値は、検出されたリスクを示します。その場合は、レビューとアクション (ツール呼び出し要求のブロックや人間のループ内エスカレーションなど) をお勧めします。
リソースをクリーンアップする
Azure AI サービス サブスクリプションをクリーンアップして削除する場合は、リソースやリソース グループを削除することができます。 リソースグループを削除すると、それに関連付けられた他のすべてのリソースも削除されます。
関連コンテンツ
- 損害カテゴリ
- Content Safety Studio を使用して各カテゴリのフィルターを構成し、データセットでテストし、コードをエクスポートしてデプロイします。