エージェント オプティマイザーとは (プレビュー)

Important

エージェント オプティマイザーは現在プレビュー段階です。 このプレビューはサービス レベル アグリーメントなしで提供されており、運用環境ではお勧めしません。 特定の機能がサポートされていないか、機能が制限されている可能性があります。 詳細については、「 Microsoft Azure プレビューの追加使用条件」を参照してください。

Foundry Agent Service のエージェント オプティマイザーは、動作を評価し、より優れた構成を生成することで、プロンプト エージェントとホストされるエージェントを自動的に改善します。 エージェントの種類に応じて、これらの構成には、改善された手順、スキル、ツールの説明、モデルの選択を含めることができます。

効果的な AI エージェントを構築するには、広範な迅速なエンジニアリングが必要です。 手動で作成された手順を使用してエージェントをデプロイし、実際のシナリオに対してテストし、弱点を特定し、プロンプトを修正して、繰り返します。 このループは遅く、主観的であり、スケーリングされません。 エージェント オプティマイザーは、エージェントのコア ロジックに集中できるように、このサイクルを自動化します。

サポートされているエージェントの種類

オプティマイザーは、両方のエージェントの種類に対して同じ評価駆動型の改善ループを使用しますが、セットアップ、最適化ターゲット、デプロイ エクスペリエンスが異なります。

エージェントの種類 オプティマイザーが改善できる内容 実行を開始する方法
プロンプト エージェント 命令、関数呼び出しツールの説明、およびモデルの選択 Foundry ポータルで最適化ウィザードを使用します。 コードに変更を加える必要はありません。
ホスト型エージェント 命令、スキル、関数呼び出しツールの説明、モデルの選択 最適化のサポートを自動的にスキャフォールディングする Foundry Toolkit を使用するか、エージェント オプティマイザーを準備して Azure Developer CLI を使用します。

エージェントに指示を促す

プロンプト・エージェントの場合、オプティマイザーは選択したエージェント・バージョンを評価し、代替命令を生成します。 また、関数呼び出しツールの説明を改善し、複数の候補モデルデプロイ間でプロンプトを比較することもできます。

Prompt-agent 関数呼び出しツールは、クライアント側で実行されます。 オプティマイザーは、モデルの関数呼び出しをガイドするツールとパラメーターの説明を改善できますが、ツール記述の最適化中にツールの実行を評価することはできません。

Foundry ポータルのエージェントの [最適化] タブから 最適化 ウィザードを開始します。 ウィザードでは、実行を送信する前に、エージェントのバージョン、データセット、評価基準、および最適化モデルを選択する手順が示されます。 エージェント トレースからデータセットを生成したり、既存の Foundry データセットを選択したり、ウィザードでデータセットをアップロードしたりできます。

実行が完了したら、スコアの変更を比較し、前後のプロンプトを確認し、エバリュエーターごとの結果を検査します。 その後、最適化の実行から、選択した候補を新しい prompt-agent バージョンに昇格させることができます。

エンド ツー エンドのポータル エクスペリエンスについては、「 クイック スタート: プロンプト エージェントを最適化する」を参照してください。

ホスト型エージェント

ホストされるエージェントの場合、オプティマイザーは実行時にコードが読み込む構成を改善します。 エージェントには、最適化パッケージと、命令と、必要に応じてスキルと関数呼び出しツール定義を公開するベースライン構成が必要です。 Foundry Toolkit は、この統合を自動的にスキャフォールディングできます。 Azure Developer CLI ワークフローの場合は、オプティマイザーを実行する前に統合を追加します。 その後、オプティマイザーは、エージェントのコア ロジックを変更することなく、候補の構成を生成および評価できます。

Hosted-agent の最適化では、Foundry プロジェクトに登録されているローカル JSONL データセットとデータセット (トレースから生成された評価データセットを含む) がサポートされます。 実行後、選択した候補をローカル構成に適用し、変更を確認して、エージェントを再デプロイします。

エンド ツー エンドのホステッド エージェント エクスペリエンスについては、「 クイック スタート: ホストされるエージェントを最適化する」を参照してください。

最適化ワークフロー

どちらのエージェントの種類も、同じ大まかなパスに従います。

  1. エージェントベースラインを選択します。 候補を比較する prompt-agent バージョンまたは hosted-agent 構成を選択します。
  2. 評価データセットを選択します。 既存のデータセットまたはアップロードされたデータセットの代表的なタスクを使用します。 エージェント トレースから生成された登録済みデータセットを使用することもできます。
  3. 評価基準を選択します。 改善する動作を測定する組み込みエバリュエーターまたはカスタム エバリュエーターを選択します。
  4. オプティマイザーを実行します。 使用可能な最適化ターゲットとモデルを選択し、候補を生成して評価します。 プロンプト エージェントの場合は、実行を送信する前に、ポータルで コスト見積もり を確認します。
  5. 結果を確認します。 候補スコアをベースラインと比較し、最適な候補を選択します。 使用可能な場合は、 実行後に測定されたトークンの使用状況を確認します最適化の結果を理解するを参照してください。
  6. 選択した候補を適用します。 プロンプト エージェント候補を新しいエージェント バージョンに昇格させるか、hosted-agent 構成を適用して再デプロイします。

ホストされるエージェントには、オプティマイザー対応のコード統合が必要です。 Foundry Toolkit では、最適化を開始すると、この統合が自動的にスキャフォールディングされます。 Azure Developer CLI ワークフローの場合は、開始する前に最適化パッケージとベースライン構成を追加します。 エージェントオプティマイザーの準備を行うを参照してください。 プロンプト エージェントでは、このコード統合は必要ありません。

エージェント オプティマイザーのしくみ

エージェント オプティマイザーは、閉ループの評価と改善のサイクルを実行します。

  1. ベースラインを評価します。 オプティマイザーは、タスクのデータセットに対してエージェントを呼び出し、定義した条件または組み込みの既定のセットに対して各応答をスコア付けします。 ベースラインは、変更前のエージェントのスコアです。
  2. 候補を生成します。 オプティマイザーは、書き換えられた命令、検出されたスキル、改善されたツールの説明、さまざまなモデルの選択など、 候補と呼ばれる代替構成を生成します。 使用可能な候補の種類は、エージェントの種類によって異なります。
  3. 候補を評価します。 オプティマイザーは、各候補を同じデータセットに対してテストします。
  4. ランク付けして推奨します。 オプティマイザーは、集計のパフォーマンスを表す 0.0 ~ 1.0 の値である複合 スコアによって結果をランク付けし、最適な候補★を . 次に、勝ったバージョンを採用してデプロイします。

プロセス全体がクラウドで実行されます。 実行時間は、データセットのサイズ、候補の数、選択したモデルによって異なります。

ホストされるエージェントの場合、エージェント オプティマイザーの準備ができたら、実行の間にそれ以上のコード変更は必要ありません。 load_config() はベースラインを正常に返し、実行中に機能フラグや条件付きロジックなしで最適化された構成を提供します。

Warning

最適化中、オプティマイザーは、データセット内のすべてのタスクに対してエージェントを呼び出すことによってエージェントを評価します。 エージェントが外部ツール (API、データベース、サード パーティのサービスなど) を呼び出す場合、それらの呼び出しは評価の実行時に実行されます。 予期せぬ副作用 (チャージ、状態の変化、またはレート制限) を避けるため、最適化の際にはテスト用エンドポイントやモック化されたツール実装の使用を検討してください。

最適化ターゲット

最適化 ターゲット は、オプティマイザーが改善できるエージェントの構成の特定の側面です。 使用可能なターゲットは、エージェントの種類によって異なります。 ホストされるエージェントの場合、オプティマイザーはベースライン構成と eval.yaml 設定から該当するターゲットを自動的にアクティブ化します。

目標 オプティマイザーが改善する内容 プロンプトエージェント ホスト型エージェント
指示チューニング システム プロンプトを書き換えて調整し、スコアを高くします。 選択した prompt-agent バージョンをベースラインとして使用します。 ベースラインに instructions.md ファイルがある場合にアクティブ化します。
スキルの向上 再利用できる各スキルの本体を調整し、その目的をそのまま維持します。 サポートされていません。 ベースラインにskills/ ファイルを含むSKILL.md ディレクトリがある場合にアクティブ化します。
ツールの最適化 関数呼び出しツールとパラメーターの説明を改善し、モデルがツールをより正確に呼び出すことができるようにします。 型、既定値、または必須フィールドは変更されません。 関数呼び出しツールで使用できます。 クライアントはこれらのツールを実行するため、最適化中にツールの実行は評価されません。 ベースラインに tools.json ファイルがある場合にアクティブ化します。 関数呼び出しツールのみがサポートされています。
モデルの選択 複数のモデル デプロイにわたってエージェントを評価し、最適な品質とコストのトレードオフを見つけます。 最適化ウィザードで候補モデルを選択します。 model_search_spaceeval.yamlにデプロイ候補を追加します。

ホスト型エージェントのベースライン入力については、 エージェント オプティマイザーの準備を行う方法に関するページを参照してください。 hosted-agent ターゲットを実行して構成するには、 エージェントの手順、スキル、ツール、モデルの最適化に関するページを参照してください。

モデル

エージェント オプティマイザーは、最適化の実行中に 2 つのモデルを使用します。 両方とも Foundry プロジェクトに配置する必要があります。

Model ホステッド エージェントの構成キー ホストされたエージェントの CLI フラグ 役割 サポートされているモデル
Eval モデル eval_model --eval-model データセット内の条件に対してエージェントの応答をスコア付けする チャット完了モデル (たとえば、 gpt-4.1-mini)
最適化モデル optimization_model --optimize-model 候補の構成 (命令、スキル、ツール、モデルの選択) を生成します gpt-5gpt-5.1gpt-5.2gpt-5.4gpt-5.5DeepSeek-V4-ProDeepSeek-V-3.2

評価モデルは、エバリュエーター、タスク、および候補の評価ごとに 1 回実行されます。 エージェントの応答と各条件を読み取り、バイナリ スコアを返します。 最適化モデルはベースラインの結果を分析し、指示、スキル、ツール、モデルなど、構成されたターゲット全体で改善された候補を生成します。 これは完全なデータセットに対する理由であるため、通常、より能力の高い最適化モデルを使用すると、より優れた候補が生成されます。

プロンプト エージェントの場合は、最適化ウィザードで評価モデルと候補モデルを選択します。 ホストされるエージェントの場合は、 eval.yaml または CLI フラグを使用してモデルを指定します。 optimization_model設定は、hosted-agent の実行に必要です。 構成手順については、「 評価モデルと最適化モデルの選択」を参照してください。

最適化の結果を理解する

このセクションでは、結果テーブル、複合スコアの計算方法、改善点を解釈する方法について説明します。

Tip

Foundry ポータルで最適化結果を表示します。 プロジェクトに移動し、[ エージェント] を選択し、エージェントを選択し、[ 最適化 ] タブを選択して、スコアの比較、プロンプトまたは構成の変更、エバリュエーターの詳細を表示します。

プロンプト エージェントの場合、実行が完了すると、ベースラインと候補のスコア、前後のプロンプト、モデル、ツールの説明の比較、エバリュエーターごとのスコアが表示されます。

ホストされるエージェントの場合、CLI には結果テーブルも表示されます。

Results:
  Candidate              Score  Eval  Strategy
  ──────────────────── ───────  ────  ────────
  baseline                0.93  View
  candidate_1             0.90  View  skill_policy-reviewer
  candidate_2 ★           0.94  View  skill_policy-reviewer, tools
  candidate_3             0.94  View  skill_policy-reviewer, system_prompt, tools
  candidate_4             0.93  View  skill_policy-reviewer, tools

  Candidate IDs:
      baseline             cand_a8a951...
      candidate_1          cand_8d5c85...
    ★ candidate_2          cand_a0ea2e...
      candidate_3          cand_2ae7bb...
      candidate_4          cand_0f6485...

  Apply the best candidate locally, then deploy:
    azd ai agent optimize apply --candidate cand_a0ea2e...
    azd deploy

結果テーブルの列

Column Description
候補 構成の名前。 baseline は、最適化前の現在のエージェントです。
スコア 0.0 から 1.0 までの範囲のすべてのタスクと条件の複合スコア。
Eval Foundry ポータルの評価ジョブへのリンク
Strategy skill_policy-reviewer, toolsなど、候補に含まれる変異ターゲット。

★印は、総合スコアが最も高い候補者を示します。 これは、デプロイする場合に推奨される候補です。

スコアの計算方法

データセット内の各エバリュエーターは、エージェントの応答の生スコアを生成します。 オプティマイザーはこれらのスコアを処理して、結果に表示される複合スコアを生成します。

  • 再スケーリング: 各エバリュエーターの生スコアは 0 から 1 に再スケーリングされます。
  • 必要に応じて反転: 低い方が良くなるようにエバリュエーターが構成されている場合、すべてのエバリュエーターが "高い方が良い" セマンティクスを使用するようにスコアが反転されます。
  • 平均: すべてのエバリュエーターとタスクで再スケーリングされたスコアが平均化され、複合スコアが生成されます。

複合スコア: すべてのタスクで再スケーリングされたすべてのエバリュエーター スコアの平均。

スコアの改善点を解釈する

改善 解釈
0.03 未満 ノイズ。 意味のある改善ではありません。
0.03 から 0.10 中程度の改善。 デプロイする価値があります。
0.10 から 0.20 大幅な改善。
0.20 より大きい 大幅な改善。 質の低いベースラインに起因する可能性があります。

トークンのトレードオフ

最適化された命令は、多くの場合、より長く詳細になり、応答トークンの使用量が増加する可能性があります。 次の点を考慮します。

  • トークンの増加がスコアの向上に比例するかどうか
  • コストの増加が予算に合うかどうか
  • 応答が不必要に冗長であるのか、それともその長さに見合う価値を提供しているのか

実行前のコスト範囲と実行後の測定使用量の詳細については、 エージェント オプティマイザーのコスト見積もりとトークンの使用状況に関するページを参照してください。

制限事項と可用性

  • エージェント オプティマイザーは、プレビュー中にプロンプト エージェントとホストされるエージェントをサポートします。
  • プロンプト エージェントの最適化実行は Foundry ポータルで開始されます。 選択した候補を、完了した実行から新しいエージェント バージョンに昇格させることができます。
  • ホストエージェントの最適化は、ノルウェー東部を除く 、ホストされたエージェントが利用可能なすべてのリージョンで使用できます。
  • Hosted-agent の最適化には 、応答プロトコルが必要です