クイック スタート: ホストされているエージェントを評価する

Note

Azure Developer CLI の評価エクスペリエンスは現在プレビュー段階です。

このクイック スタートでは、「最初のホステッド エージェントをデプロイする」でデプロイした ホストされたエージェントを評価します。 テスト データセットを指定し、エバリュエーターを選択し、デプロイされたエージェントに対して評価を実行し、スコアを確認します。 各手順では、同じタスクを実行する 5 つの方法 (Azure Developer CLI (azd)、Microsoft Foundry ポータル、Python SDK、C# SDK、JavaScript/TypeScript SDK の 5 つの方法を示します。

評価により、エージェントの品質基準が確立され、ユーザーに変更をリリースする前に、タスクの準拠合格率などの受け入れしきい値を設定できます。

前提条件

開始する前に、次のものが必要です。

  • デプロイされた呼び出し可能なホスト型エージェント 。 最初のホストされたエージェントをデプロイします。 Azure Developer CLI パスには、そのクイックスタートで作成したazd プロジェクト ディレクトリも必要です。

  • Foundry リソースの Foundry User ロール。

  • 応答をスコア付けするジャッジ モデルとして使用する、同じ Foundry プロジェクト内のチャット完了モデルのデプロイ。 前のクイック スタートのデプロイも含めて、エージェントが既に使用しているモデル デプロイを再利用できるため、別のデプロイは必要ありません。

    Important

    Foundry RBAC ロールの名前が最近変更されました。 Foundry User, Foundry Owner, Foundry Account Owner、および Foundry Project Manager は、以前は、AZURE AI ユーザー、Azure AI 所有者、Azure AI アカウント所有者、および AZURE AI Project Manager という名前でした。 名前の変更がロールアウトされている間、以前の名前が表示される場合があります。ロール ID とコア アクセス許可は、名前の変更によって変更されません。

評価ロールのすべての要件については、「 評価ワークフローのアクセス許可を設定する」を参照してください。

各手順には 5 つのパスがあります。 好きな方を使用します。

  • Azure Developer CLI: azd ai agent拡張機能 (azure.ai.agents)、バージョン 0.1.40-preview 以降。azd ai agent eval コマンドを提供します。 この拡張機能は、前のクイック スタートでインストールした microsoft.foundry 拡張機能に含まれています。 azd ext listでインストールされているバージョンを確認し、必要に応じてazd ext upgrade microsoft.foundryを実行します。 azd auth loginでサインインします。
  • Foundry ポータル: Foundry ポータルへのアクセス。
  • Python SDK: Python 3.10 以降、および az login でサインインし Azure CLI で DefaultAzureCredential を認証できること。 インストールについては、「Azure CLI のインストール」を参照してください。
  • C# SDK: .NET 10 SDK 以降、および DefaultAzureCredential が認証できるように az login でサインインした Azure CLI。
  • JavaScript/TypeScript SDK: Node.js 20 LTS 以降。az login が認証できるように、DefaultAzureCredential で Azure CLI にサインインしておきます。

手順 1: デプロイされたエージェントを確認する

評価は、デプロイされた呼び出し可能なエージェントに対して実行されます。 評価を設定する前に、エージェントがデプロイされ、使用可能であることを確認します。

azd プロジェクト ディレクトリから、エージェントがデプロイされ、呼び出し可能であることを確認します。

azd ai agent show

テスト プロンプトを送信します。

azd ai agent invoke "Write a haiku about deploying cloud applications."

数秒以内に応答が表示されます。

手順 2: 組み込みのエバリュエーターを設定する

組み込みのエバリュエーターから始めて、テスト データセットに対してエージェントをスコア付けします。

まず、エージェントのテスト クエリの JSONL ファイルを作成します。 各行は、 query フィールドを持つ JSON オブジェクトです。 src/<your-agent-name>/tests/queries.jsonlとして、エージェントのソース フォルダー内に保存します。

{"query": "Write a haiku about deploying cloud applications."}

次に、eval.yamlと同じエージェント ソース フォルダーにsrc/<your-agent-name>/eval.yaml ファイルを作成します。 データセットをポイントし、適用する組み込みのエバリュエーターを一覧表示します。 dataset.local_uri パスは、このフォルダーに対する相対パスです。 <your-agent-name> をホストされているエージェント名に、<your-chat-completion-deployment> をジャッジモデルのデプロイ名に置き換えてください。

name: agent-eval
agent:
  name: <your-agent-name>
  kind: hosted
dataset:
  local_uri: tests/queries.jsonl
evaluators:
  - builtin.intent_resolution
  - builtin.task_adherence
options:
  eval_model: <your-chat-completion-deployment>
max_samples: 15

eval_model値は、応答をスコア付けするジャッジ モデルです。エージェントが既に使用しているデプロイを再利用できます。

手順 3: 評価を実行する

デプロイ済みのエージェントに対してテストスイートを実行します。 サービスは、各テスト クエリをエージェントに送信し、応答をキャプチャして、選択したエバリュエーターでスコア付けします。

Note

ターゲット ベースの評価では、ホストされているエージェントが直接呼び出されます。 これは、同期的な非ストリーミング実行で応答または呼び出しプロトコルを使用するエージェントで動作します。 A2A またはアクティビティ プロトコルを使用するエージェント、または実行時間の長い、ストリーミングなどの他の実行パターンを評価するには、エージェントが出力するトレースを代わりに評価します。 トレースの評価を参照してください。

azd workspace root から評価を実行します。

azd ai agent eval run --config eval.yaml

Note

azd ai agent eval runは、現在のディレクトリではなく、--config (たとえば、src/) の下にあるエージェントのソース フォルダーに対するsrc/<your-agent-name>/eval.yaml パスを解決します。 eval.yamlと、そのlocal_uriが指すデータセットをそのフォルダー内に保持します。

コマンドは、 eval.yamlを読み取り、各クエリをエージェントに送信し、応答をスコア付けして、完了すると概要を出力します。

Eval run started
   Eval: eval_b36748dede424e4ba3f8e6c99ca2cf27
   Run:  evalrun_5f72ef189ad24790a32128e6f230b131
   (✓) Done  Eval run

Results:    1 total, 1 passed, 0 failed, 0 errored

Per-criteria results:
  intent_resolution: 1 passed, 0 failed, 0 errored
  task_adherence: 1 passed, 0 failed, 0 errored

手順 4: 結果を確認する

通常、評価はクエリの数に応じて数分で完了します。

最近の評価を一覧表示します。

azd ai agent eval list
    Eval ID                                Name        Status of last run  Runs
    -------                                ----        ------------------  ----
*   eval_b36748dede424e4ba3f8e6c99ca2cf27  agent-eval  Completed           1

* = active eval in current environment

最新の評価とその実行を表示します。

azd ai agent eval show
Eval:   eval_b36748dede424e4ba3f8e6c99ca2cf27
Name:   agent-eval
Agent:  <your-agent-name>
Runs:   1

Recent runs:
  Run ID                                    Status     Passed  Failed  Created
  ------                                    ------     ------  ------  -------
  evalrun_5f72ef189ad24790a32128e6f230b131  Completed  1/1     0       2026-06-17 14:52 UTC

結果を使用して、どのエージェント バージョンが評価され、どのエバリュエーター スコアが生成されたかを確認します。 Foundry ポータルでエバリュエーターごとの詳細とレポートへのリンクを表示するには、 azd ai agent eval show <eval-id> --eval-run-id <run-id>実行します。

リソースをクリーンアップする

このクイック スタートでは、Foundry プロジェクトにデータセット、評価、実行履歴を登録します。 これらの資産には、継続的なコストがほとんどまたはまったく発生しません。

ホストされたエージェントと作成したAzureリソースを削除するには、「最初のホストされたエージェントをデプロイする」のクリーンアップ手順に従います。

Troubleshooting

Issue ソリューション
azd ai agent eval コマンドが見つからない azd ext list実行し、azd ai agent拡張機能が 0.1.40-preview 以降であることを確認します。 azd ext upgrade microsoft.foundryを使用してアップグレードします。
azd ai agent eval run エージェントの検索に失敗する エージェントがデプロイされ、 azd ai agent showで呼び出し可能であることを確認します。 必要に応じて、 azd deploy を使用して再デプロイします。
ModuleNotFoundErrorまたはazure.ai.projects用azure.identity SDK: pip install "azure-ai-projects>=2.0.0" azure-identityをインストールします。
C#: The type or namespace name 'Evals' (or 'AIProjectClient') could not be found パッケージ ( dotnet add package Azure.AI.Projects --prerelease、 dotnet add package OpenAI、 dotnet add package Azure.Identity) を追加します。
AuthenticationError、 DefaultAzureCredential、または Forbidden エラー az login (または CLI パスのazd auth login) でサインインし、プロジェクトに Foundry User ロールがあることを確認します。 データセットのアップロードには、プロジェクトのストレージへの書き込みアクセスも必要です。 すべてのロール要件については、「 評価ワークフローのアクセス許可を設定する」を参照してください。
エージェント ターゲットが見つかりません project_client.agents.get("<your-agent-name>")またはproject_client.agents.list()を使用して、エージェントの名前とバージョンを確認します。
エラーが発生した行が多い、または予期せずスコアが低い レポート URL を開き、エージェントの応答エラーまたはエバリュエーター エラーで行が失敗したかどうかを確認します。 基になるエラーを修正してから、評価を再実行します。
Eval モデルのデプロイが見つかりません 評価モデルのデプロイ (SDK のFOUNDRY_MODEL_NAME、または eval_model のeval.yaml) がプロジェクトの Build>Deployments の下に存在することを確認します。

学習した内容

このクイック スタートでは、次の操作を行います。

  • テスト データセットを作成し、ホステッド エージェントのエバリュエーターを選択しました。
  • デプロイされたエージェントに対して評価を実行しました。
  • 集計された結果と行レベルの結果を確認しました。
  • Azure Developer CLI、Foundry ポータル、Python SDK、C# SDK、または JavaScript/TypeScript SDK を使用して各タスクを完了しました。

次のステップ

評価ワークフローの改善を続けます。