エージェントを評価する

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

評価の種類

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

評価ワークフロー

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

Google Cloud コンソール

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

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

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

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

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

Agent Platform SDK

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

始める前に

  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)

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

# 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
)

次のステップ