エージェントを評価する

この機能を使用すると、AI エージェントを評価できます。Gen AI Evaluation Service を使用して、エージェントのパフォーマンス、安全性、品質を測定して改善できます。

評価の種類

評価の種類 ユースケース 頻度
迅速な評価 新しいエージェント ロジックまたはモデルの変更をテストする。 頻繁(開発)
テストケースの評価 特定のデータセットに対する回帰テスト。 スケジュール設定(CI/CD)
オンライン モニタリング 本番環境のエージェント デプロイの品質をトラッキングする。 継続的(本番環境)

評価ワークフロー

エージェントは、Google Cloud コンソール または Agent Platform SDK を使用して評価できます。

Google Cloud コンソール

エージェント デプロイの基本的な評価を実行するには:

  1. コンソールで、[Agent Platform] > [エージェント] ページに移動します。 Google Cloud
  2. 左側のナビゲーション メニューで [デプロイメント] を選択し、エージェントを選択します。

    [デプロイメント] に移動

  3. [ダッシュボード] タブを選択し、[評価] サブセクションを選択します。
  4. [新しい評価] をクリックします。
  5. プロンプトに従ってテストケースを定義し、指標を選択します。
  6. [評価を実行] をクリックします。

詳細なガイドについては、オフライン評価を実行するまたはオンライン モニタリングによる継続評価をご覧ください。

Agent Platform SDK

エージェントの改善ワークフローは、評価、分析、最適化の継続的なサイクルであるQuality Flywheel、a に基づいています。エージェントのパフォーマンスを評価し、結果を分析して失敗のクラスタを特定し、プロンプトまたは構成を最適化してこれらの問題に対処します。この反復プロセスにより、パフォーマンスのギャップを事前に検出して解決できます。

始める前に

  1. 必要な拡張機能を使用して Agent Platform SDK をインストールします。

    pip install google-cloud-aiplatform[adk,evaluation]
  2. Agent Platform SDK クライアントを初期化します。

    import vertexai
    from vertexai import Client
    
    client = Client(project="YOUR_PROJECT_ID", location="YOUR_LOCATION")

    ここで

    • YOUR_PROJECT_ID: 実際の Google Cloud プロジェクト ID。
    • YOUR_LOCATION: クラウド リージョン(例: us-central1)。

1. 評価ケースを定義する(ユーザー シミュレーション)

テストケースを手動で作成するのではなく、ユーザー シミュレーション を使用して、エージェントの指示に基づいて合成の複数ターンの会話プランを生成します。

# Generate scenarios from agent info
eval_dataset = client.evals.generate_conversation_scenarios(
    agent_info=my_agent_info,
    config={
        "count": 5,
        "generation_instruction": "Generate scenarios where a user asks for a refund.",
    },
)

詳細については、Agent Platform SDK リファレンスをご覧ください

2. 推論を実行する

エージェントに対して評価ケースを実行して、トレース をキャプチャします。

# Generate behavior traces using a multi-turn user simulator
traces = client.evals.run_inference(
    agent=my_agent,
    src=eval_dataset,
    config={"user_simulator_config": {"max_turn": 5}}
)

3. 指標を計算する(AutoRaters)

複数ターンの AutoRaters を使用して、キャプチャされたトレースにスコアを付けます。これらの評価者は、会話履歴全体を分析して、指示の遵守とツールの使用状況を確認します。

# Evaluate the traces using multi-turn metrics
eval_result = client.evals.evaluate(
    traces=traces,
    metrics=[
        "MULTI_TURN_TASK_SUCCESS",
        "MULTI_TURN_TOOL_USE_QUALITY"
    ]
)

4. 分析を実施する(失敗クラスタ)

システムは、失敗した評価を自動的に損失クラスタ にグループ化して、エージェントの主な問題を特定します。

# Identify the top failure patterns in the results
loss_clusters = client.evals.generate_loss_clusters(eval_result=eval_result)

5. エージェントを最適化する

最後に、Optimizer サービスを使用して、失敗データに基づいてエージェントのシステム指示またはツール記述をプログラムで絞り込みます。

# Automatically refine the system prompt to fix identified issues
optimize_result = client.optimizer.optimize(
    targets=["system_prompt"],
    benchmark=eval_result,
    tests=eval_dataset
)

次のステップ