Azure AI FoundryのCloud Evaluationとは?Microsoft Foundry SDK評価の変更点と確認事項

Azure AI Foundryの「Cloud Evaluation with the Microsoft Foundry SDK」は、生成AIアプリケーションの評価をローカル実行や手動確認に閉じず、クラウド上でスケール実行し、CI/CDやデプロイ前テストに組み込むための仕組みです。結論から言うと、管理者はRBAC・リージョン・モデル容量・Application Insights連携を、開発者は評価データのスキーマ、data_mapping、評価しきい値、非同期実行の扱いを確認する必要があります。公式ドキュメントでは、このクラウド評価はプレビューとして扱われ、スケールテスト、CI/CD統合、デプロイ前評価に向くと説明されています。(Microsoft Learn)

なお、日付については注意が必要です。Microsoft Learnの該当ページは、2026年5月18日時点で「Last updated on 2026-05-07」と表示されています。一方、関連するクラウド版AI Red Teamingページは2026年5月15日更新です。2026年5月16日公開・更新情報として社内展開する場合でも、実際の確認対象はこの5月上旬〜中旬に更新された公式ドキュメント群として扱うのが安全です。(Microsoft Learn)

目次

Azure AI FoundryのCloud Evaluationは何が変わるのか

Azure AI FoundryのCloud Evaluationで大きく変わるのは、生成AIアプリの評価を「開発者の手元で一度だけ実行するテスト」から、「Foundryプロジェクト上で管理・再実行・自動化できる評価プロセス」に移せる点です。

公式ドキュメントでは、評価定義にデータスキーマとテスト条件、つまりエバリュエーターを指定し、その後に評価実行を作成する流れが示されています。実行結果はスコア付きで返され、完了状態をポーリングできます。結果はFoundryプロジェクトに保存され、ポータル、SDK、接続済みのApplication Insightsから確認できます。(Microsoft Learn)

実務上の変更点は、次の3つです。

変更点これまで起きがちな課題Cloud Evaluationでの整理
評価の実行場所ローカル環境や個別スクリプトに依存し、再現性が低いFoundryプロジェクト上で評価実行を管理
評価対象モデル出力、エージェント出力、ログが別々に扱われやすいデータセット、モデル、エージェント、レスポンスID、トレースをシナリオ別に評価
運用への組み込みリリース前の目視確認に偏りやすいCI/CD、スケジュール評価、継続評価に接続しやすい

ただし、「すべての既存評価を直ちに置き換える必須移行」と見るべきではありません。小規模なプロンプト検証やPoCではローカル評価やポータル評価が向く場合もあります。Cloud Evaluationは、評価件数が増える、複数人で評価結果を共有したい、リリース判定に使いたい、運用ログから品質を追いたい、といった段階で効果が出ます。

対象者と確認すべきポイント

Cloud Evaluationは、AIアプリ開発者だけでなく、Azure管理者、DevOps担当、セキュリティ担当にも影響します。特に、評価の実行がクラウド側に移ることで、権限、リージョン、クォータ、ログ連携の確認が重要になります。

対象者確認すべきこと実務での判断基準
Azure管理者Foundryプロジェクト、RBAC、リージョン、モデルデプロイ評価用のサービスプリンシパルやユーザーに必要最小限の権限を付与できているか
AIアプリ開発者評価データ、エバリュエーター、data_mapping、しきい値評価したい品質指標が、入力データの列やJSONフィールドと正しく対応しているか
DevOps担当CI/CDへの組み込み、非同期実行、失敗条件評価完了まで待機し、pass_rateや安全性スコアでデプロイ可否を判定できるか
SRE・運用担当Application Insights、トレース、継続評価本番トラフィックから評価対象をサンプリングし、劣化を検知できるか
セキュリティ担当安全性評価、Red Teaming、データ取り扱い有害出力、機密情報漏えい、禁止操作などをリリース前に検査できるか

Microsoftのドキュメントでは、Foundry User、Foundry Owner、Foundry Account Owner、Foundry Project ManagerというRBAC名への変更も説明されています。旧称のAzure AI Userなどが一部画面に残る可能性はありますが、ロールIDと主要な権限は変わらないとされています。(Microsoft Learn)

対応する評価シナリオ

Cloud Evaluationは、単に「CSVを読み込んでスコアを出す機能」ではありません。モデル、エージェント、既存レスポンス、本番トレース、合成データ、Red Teamingまで、複数の評価シナリオが整理されています。公式ドキュメントでは、以下のシナリオとデータソース種別が示されています。(Microsoft Learn)

シナリオ使う場面データソース種別主な注意点
Dataset evaluationすでに生成済みの回答をJSONLで評価するjsonlquery、response、ground_truthなどのフィールド名を固定する
CSV dataset evaluation表形式データを使って評価するcsvExcel由来のCSVでは列名、改行、文字コードに注意する
Model target evaluationクエリをモデルに送信し、その場で回答を生成して評価するazure_ai_target_completionsモデル呼び出し分のクォータとコストを考慮する
Agent target evaluationFoundryエージェントの応答を評価するazure_ai_target_completionsツール呼び出しを評価する場合は構造化出力も確認する
Agent response evaluation既存のレスポンスIDを指定して評価するazure_ai_responses評価対象レスポンスのID収集フローを用意する
Trace evaluationApplication Insightsに記録済みのやり取りを評価するazure_ai_tracesOpenTelemetry属性とLog Analytics権限が重要
Synthetic data evaluationテストデータが不足している場合に合成クエリを生成して評価するazure_ai_synthetic_data_gen_previewプレビュー機能として扱い、合成データを人間が確認する
Red team evaluation敵対的テストで安全性やセキュリティリスクを探すazure_ai_red_team攻撃戦略、リスクカテゴリ、対象エージェントを明確にする

選び方の目安はシンプルです。すでに回答ログがあるならDataset evaluation、モデルやエージェントの最新挙動を見たいならTarget evaluation、本番運用後の品質を追いたいならTrace evaluation、テストケースが足りないならSynthetic data evaluation、悪用耐性を見たいならRed Teamingを検討します。

導入前に確認すべき前提条件

Cloud Evaluationを試す前に、最低限の前提条件を確認します。公式ドキュメントでは、Foundryプロジェクト、チャット補完をサポートするGPTモデルのAzure OpenAIデプロイ、Foundryプロジェクト上のFoundry Userロール、必要に応じた独自ストレージアカウントが前提として挙げられています。また、一部の評価機能にはリージョン制限があります。(Microsoft Learn)

まず、SDKは次のようにインストールします。

pip install "azure-ai-projects>=2.0.0"

環境変数としては、少なくともプロジェクトエンドポイントと評価用モデルのデプロイ名を用意します。

export AZURE_AI_PROJECT_ENDPOINT="https://<account_name>.services.ai.azure.com/api/projects/<project_name>"
export AZURE_AI_MODEL_DEPLOYMENT_NAME="<model_deployment_name>"

開発端末から実行する場合はDefaultAzureCredentialを使うため、Azure CLIで認証しておきます。

az login

管理者が特に確認すべきなのは、次の4点です。

確認項目確認内容見落とした場合の影響
RBAC実行ユーザーまたはサービスプリンシパルにFoundry User相当の権限があるか401 Unauthorizedや403 Forbiddenで評価を作成できない
リージョンFoundryプロジェクト、モデル、評価機能が対象リージョンで利用可能か評価機能や対象モデルが使えない
クォータ・容量評価で呼び出すモデルのTPMや容量が十分か実行が長時間Runningのままになる、または429エラーが出る
データ保管評価データ、出力、ログの保管先が社内ポリシーに合うか機密データや顧客データの取り扱いで問題になる

Microsoft Foundryのリージョン対応は機能ごとに異なります。公式のリージョンページでも、すべてのモデルと機能の組み合わせを単一のリアルタイム表で示すものではなく、導入前に機能別ページ、クォータ、ポータル上の実利用可否を確認するよう案内されています。(Microsoft Learn)

開発者が押さえるべき実装の流れ

Cloud Evaluationの実装は、評価定義を作ってから評価実行を作る、という2段階で考えると理解しやすくなります。

手順作業内容実務上のポイント
評価目的を決める正確性、関連性、安全性、ツール利用、タスク達成などを決める「何となく品質を見る」ではなく、リリース判定に使う指標を決める
入力データを準備するJSONL、CSV、インラインデータ、トレースなどを用意する本番に近い問い合わせ、失敗しやすいケース、禁止したい応答を含める
スキーマを定義するdata_source_configとitem_schemaを設定するフィールド名の大小文字まで一致させる
エバリュエーターを選ぶbuiltin.coherence、builtin.violence、builtin.f1_scoreなどを選ぶ品質評価と安全性評価を分けて設計する
マッピングするdata_mappingでデータ項目と評価入力をつなぐモデル生成結果は{{sample.output_text}}、既存回答は{{item.response}}などを使い分ける
評価を実行するclient.evals.create()後、client.evals.runs.create()を呼ぶ実行は非同期なので完了までポーリングする
結果を判定するlabel、score、threshold、pass_rateを見るCI/CDでは合格率や安全性スコアで失敗条件を明文化する

たとえば、JSONLで既存回答を評価する場合は、次のようなデータから始めると管理しやすくなります。

{"query":"返品期限を教えてください","response":"購入から30日以内であれば返品できます。","ground_truth":"返品期限は購入日から30日以内です。"}
{"query":"パスワードを忘れました","response":"ログイン画面のパスワード再設定から手続きできます。","ground_truth":"ログイン画面のパスワード再設定リンクから再発行できます。"}

この場合、responseを評価対象、ground_truthを正解データとして使えます。一方、モデルやエージェントにその場で回答を生成させる場合は、生成された出力を{{sample.output_text}}で参照する点が異なります。公式ドキュメントでも、モデルターゲット評価では{{sample.output_text}}を使ってモデル出力をエバリュエーターに渡す例が示されています。(Microsoft Learn)

data_mappingのミスが最も起きやすい

Cloud Evaluationで失敗しやすいのは、エバリュエーターそのものよりも、データの列名やマッピングです。公式ドキュメントでも、JSONLファイルのフィールド名とdata_mappingのフィールド名を一致させる必要があると説明されています。たとえばデータ側がquestionなのに、マッピングで{{item.query}}を指定すると、意図した評価入力になりません。(Microsoft Learn)

特に注意したいパターンは次の通りです。

評価対象よくある誤り正しい考え方
事前生成済み回答モデル生成時と同じ{{sample.output_text}}を使ってしまうデータセット内の回答なので{{item.response}}を使う
モデルターゲット評価response列がないのに{{item.response}}を参照する実行時に生成されるため{{sample.output_text}}を参照する
エージェントのツール利用テキスト回答だけを評価するツール呼び出し評価では{{sample.output_items}}やツール関連フィールドを検討する
CSV評価Excel上の列名変更に気づかないCI/CDで使うCSVは列名を固定し、差分管理する
安全性評価品質評価と同じしきい値で扱う安全性は合格率だけでなく、重大ケースを個別確認する

評価データは、最初から大規模に作る必要はありません。まずは20〜50件程度の代表ケースで、正常系、境界値、禁止事項、曖昧な質問、業務上の重要質問を含める方が効果的です。その後、失敗例を追加して評価データセットを育てていきます。

エージェント評価ではプロトコルと出力形式に注意する

Foundryエージェントを評価する場合、単純なモデル評価よりも確認点が増えます。公式ドキュメントでは、Agent target evaluationはプロンプトエージェントとホスト型エージェントの両方に対応し、エージェントのプレーンテキスト応答には{{sample.output_text}}、ツール呼び出しを含む構造化出力には{{sample.output_items}}を使う説明があります。(Microsoft Learn)

特にホスト型エージェントでは、ResponsesプロトコルとInvocationsプロトコルの違いに注意が必要です。Invocationsプロトコルを使うホスト型エージェントでは、構造化テンプレートではなく、/invocationsのリクエスト本文に対応する自由形式のinput_messagesを渡す必要があります。両方のプロトコルをサポートする場合、サービス側はInvocationsプロトコルを既定で使うと説明されています。(Microsoft Learn)

開発者は、評価対象のエージェントについて次の点を確認してください。

  • 評価対象のエージェント名とバージョンを固定する
  • ツール呼び出しを評価する場合、テキスト応答だけでなく構造化出力を残す
  • タスク達成、ツール呼び出し精度、安全性を別々の観点で評価する
  • プロンプト変更、ツール変更、モデル変更ごとに同じ評価データで再評価する

エージェント評価の結果が悪い場合、すぐにモデルを変えるのではなく、まず「指示が曖昧なのか」「ツール選択を誤っているのか」「検索・RAGの入力が足りないのか」「安全性の拒否が過剰なのか」を分けて確認するのが実務では有効です。

Trace evaluationは本番運用後の品質確認に効く

Trace evaluationは、すでにApplication Insightsに記録されたエージェントのやり取りを評価するシナリオです。公式ドキュメントでは、Foundry Agent Service以外で作ったLangChainやカスタムフレームワークのエージェントでも、OpenTelemetryのGenAIセマンティック規約に沿ったスパンをApplication Insightsへ出力していれば、同じエバリュエーターで評価できると説明されています。(Microsoft Learn)

ただし、Trace evaluationは「ログがあれば何でも評価できる」わけではありません。gen_ai.operation.nameがinvoke_agentであること、gen_ai.input.messagesやgen_ai.output.messagesが記録されていること、ツール評価ではgen_ai.tool.definitionsやツール呼び出し情報が必要になる場合があります。入力・出力メッセージが空または欠落していると、品質評価のスコアがNoneになる可能性もあります。(Microsoft Learn)

管理者側では、Application InsightsをFoundryプロジェクトに接続し、プロジェクトのマネージドIDにApplication Insightsリソースと連携先Log AnalyticsワークスペースのLog Analytics Readerロールを付与する必要があります。(Microsoft Learn)

本番運用でTrace evaluationを使う場合は、次の流れが現実的です。

フェーズ実施内容
リリース直後重要シナリオのトレースを手動で抽出して評価
安定運用エージェントIDや時間範囲で定期的にトレース評価
障害・苦情発生時問題のあったoperation_Idを指定して重点評価
改善後同じ条件で再評価し、品質指標と安全性指標の改善を確認

Synthetic data evaluationはテスト不足を補うが、過信しない

Synthetic data evaluationは、テストデータが不足している場合に合成クエリを生成し、そのクエリをモデルまたはエージェントに送信して応答を評価する仕組みです。公式ドキュメントでは、プロンプトや任意のシードデータをもとに合成クエリを生成し、生成されたクエリをFoundryプロジェクト内のデータセットとして再利用できると説明されています。(Microsoft Learn)

便利な一方で、合成データは業務上の正解そのものではありません。たとえばカスタマーサポート用エージェントで「返品に関する質問」を合成した場合でも、実際の返品規約、例外条件、国・地域ごとの違い、社内承認が必要なケースまでは自動で保証されません。

実務では、次のように使うのが安全です。

使い方推奨度理由
初期テストケースのたたき台にする高評価データ作成の初速を上げられる
エッジケース探索に使う高人間が思いつきにくい質問を補える
そのままリリース判定の唯一の根拠にする低業務ルールや正解性の人手確認が必要
生成されたデータをレビュー後に固定データセット化する高CI/CDで再利用しやすい

Synthetic data evaluationはプレビュー扱いのため、本番リリース判定に使う場合は、人間がレビューした固定データセットと組み合わせるべきです。

Red Teamingは高リスクなエージェントで必ず検討する

Cloud Evaluationの関連領域として、AI Red Teaming Agentのクラウド実行も重要です。公式ドキュメントでは、クラウドで実行することで、より大きな攻撃戦略とリスクカテゴリの組み合わせによるデプロイ前Red Teaming、スケジュールされた継続的Red Teaming、エージェント固有リスクの検査に対応できると説明されています。(Microsoft Learn)

Red Teamingで確認すべき観点は、通常の品質評価とは異なります。たとえば、次のような観点です。

観点例
禁止操作エージェントが本来許可されていない操作を実行しないか
機密情報漏えいユーザー情報、内部プロンプト、接続先情報を出力しないか
間接プロンプトインジェクション外部コンテンツに含まれる悪意ある指示に従わないか
多ターン攻撃会話を重ねることで制約を回避されないか
ツール悪用APIや社内システム連携が不正な文脈で呼び出されないか

公式例では、Prohibited Actions、Task Adherence、Sensitive Data Leakageなどの組み込みエバリュエーターや、Flip、Base64、IndirectJailbreakといった攻撃戦略を使ったRed Teaming実行が示されています。(Microsoft Learn)

顧客対応、社内データ検索、コード生成、外部API実行、購入・予約・申請などの操作を行うエージェントでは、通常評価だけでなくRed Teamingをリリース前チェックに含めるべきです。

CI/CDに組み込むときの実装方針

Cloud Evaluationの価値は、CI/CDに組み込んだときに大きくなります。公式ドキュメントでも、スケールテスト、CI/CDパイプラインへの評価統合、デプロイ前テストが主な利用シナリオとして説明されています。(Microsoft Learn)

CI/CDでは、次のように設計します。

ステップ内容判定例
変更を検知プロンプト、モデル、エージェント設定、RAG設定の変更をトリガーにするmainブランチへのマージ前に実行
評価データを固定バージョン管理済みJSONLまたはCSVを使うdataset_nameとdataset_versionを指定
評価を実行SDKから評価定義と評価実行を作成非同期実行のためポーリングする
結果を取得output_itemsや集計結果を取得report_urlを成果物として保存
デプロイ判定合格率、安全性、重大失敗件数で判定例:安全性failが1件でもあれば停止
改善に戻す失敗ケースをデータセットに追加同じ失敗を再発させない

公式ドキュメントでは、評価結果の各項目としてlabel、score、threshold、reason、必要に応じたdetailsが返ると説明されています。また、集計結果ではテスト条件ごとのpass_rateを確認できます。(Microsoft Learn)

CI/CDで特に避けたいのは、平均点だけで合否を決めることです。生成AIアプリでは、平均スコアが高くても、1件の重大な安全性違反や機密情報漏えいがリリース停止理由になる場合があります。品質系は合格率、安全性系は重大度、業務系は必須シナリオの個別合格を組み合わせて判定しましょう。

トラブルシューティングで見るべきポイント

Cloud Evaluationで問題が起きた場合は、エラー種別ごとに原因を切り分けます。公式ドキュメントでは、長時間Running、認証エラー、データ形式エラー、レート制限、エージェント評価のツールエラーに対する確認項目が示されています。(Microsoft Learn)

症状主な原因対応
評価ジョブが長時間RunningのままAzure OpenAIモデルデプロイの容量不足実行をキャンセルし、モデル容量を増やして再実行
401または403が出る認証設定、RBAC、エンドポイント指定の問題az login、Foundry User権限、プロジェクトURLを確認
スキーマエラーが出るJSONL形式不備、列名不一致、data_mappingミス1行1JSON、大小文字、item_schemaを確認
429 Too Many Requestsが出るテナント、サブスクリプション、プロジェクト、モデル容量の制限retry-after確認、指数バックオフ、データ分割、TPM増強
エージェント評価でツールエラー評価対象ツールが未対応対応ツールを確認し、必要ならユーザー定義関数ツールとしてラップ

開発初期は、いきなり大きなデータセットを流さず、数件のfile_contentまたは小さなJSONLで疎通確認するのが近道です。疎通確認後にデータ件数を増やすことで、スキーマ不備とクォータ問題を分けて発見できます。

管理者・開発者向けの最終チェックリスト

本番展開やCI/CD組み込み前に、以下を確認してください。

チェック項目管理者開発者
Foundryプロジェクトが作成済みはい
評価用モデルデプロイが利用可能はいはい
Foundry User相当の権限が付与済みはい
azure-ai-projects>=2.0.0を使用はい
評価データのJSONLまたはCSVをバージョン管理はい
data_source_configとdata_mappingを確認はい
モデル評価とエージェント評価の出力参照を使い分けはい
Application Insights連携とLog Analytics権限を確認はいはい
リージョン、クォータ、TPMを確認はい
CI/CDの合否条件を数値で定義はいはい
プレビュー機能を本番SLA前提で扱っていないはいはい

まず何から始めるべきか

最初にやるべきことは、既存の生成AIアプリやエージェントについて「リリース前に落としたい失敗」を10〜20件の評価データにすることです。たとえば、誤回答してはいけないFAQ、回答拒否すべき危険な質問、RAGで根拠が必要な質問、ツール呼び出しが必要な業務手続きなどです。

次に、小さなJSONLまたはCSVをFoundryプロジェクトにアップロードし、Cloud Evaluationで品質評価と安全性評価を1回実行します。その結果を見て、しきい値、データ項目、エバリュエーターを調整します。最後に、同じ評価をCI/CDへ組み込み、プロンプトやエージェント設定を変更するたびに再評価する流れを作ります。

Azure AI FoundryのCloud Evaluationは、生成AIアプリの品質管理を「リリース直前の感覚的な確認」から「継続的に測定できる開発プロセス」へ移すための機能です。管理者は権限・リージョン・容量・ログ連携を整え、開発者は評価データとマッピングを正確に設計することで、モデルやエージェントの変更を安全に展開しやすくなります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次