オンライン モニタリングによる継続評価

オンライン モニタリングを使用すると、本番環境でエージェントの品質を継続的に評価できます。このプロアクティブなアプローチにより、ユーザーの行動や外部データの変化によって発生する品質ドリフト(エージェントのパフォーマンスの経時的な低下)を特定できます。オンライン モニターを構成すると、事前定義された指標とカスタム指標の両方を使用して、ライブトレースを非同期でスコアリングできます。これにより、エージェントの信頼性を維持し、パフォーマンス基準に沿った動作を確保できます。

始める前に

エージェントのオンライン モニタリングを有効にするには、次の要件を満たしていることを確認してください。

  • エージェントをデプロイするの説明に沿って、エージェントをデプロイします。
  • プロジェクトで Cloud Trace が有効になっていることを確認します。
  • (省略可)プログラムでモニターを作成する場合は、エージェントを評価するページで Agent Platform SDK の初期化手順をご覧ください。

テレメトリーの要件

オンライン モニタリングでは、評価に必要なコンテキストを提供するために、エージェントが特定の OpenTelemetry シグナルをエクスポートする必要があります。

  1. エージェント呼び出しスパン: 次の属性を含める必要があります。

    • gen_ai.agent.name: エージェントの ID。
    • gen_ai.agent.description: エージェントの目的の簡単な説明。
    • gen_ai.conversation.id: 特定の会話セッションの固有識別子。
  2. 推論イベント: gen_ai.client.inference.operation.details イベントは、次のものをキャプチャする必要があります。

    • gen_ai.input.messages: エージェントに送信されたプロンプト。
    • gen_ai.output.messages: エージェントによって生成されたレスポンス。
    • gen_ai.system_instructions: 基盤となるシステム プロンプト。
    • gen_ai.tool.definitions: エージェントが使用できるツールに関するメタデータ。

Agent Development Kit を使用している場合は、次の環境変数を設定して、これらのテレメトリー機能を有効にする必要があります。

OTEL_SEMCONV_STABILITY_OPT_IN='gen_ai_latest_experimental'
OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT='EVENT_ONLY'

Cloud Storage の録画メディア

エージェントが画像や大きなドキュメントなどのマルチモーダル データを使用する場合は、入力と出力をトレーススパンに直接埋め込むのではなく、Cloud Storage バケットに記録することをおすすめします。これを有効にするには、次の環境変数を構成します。

OTEL_INSTRUMENTATION_GENAI_UPLOAD_FORMAT='jsonl'
OTEL_INSTRUMENTATION_GENAI_COMPLETION_HOOK='upload'
OTEL_INSTRUMENTATION_GENAI_UPLOAD_BASE_PATH='gs://STORAGE_BUCKET_NAME/PATH'

詳細については、マルチモーダル プロンプトとレスポンスを収集するをご覧ください。

オンライン モニターの仕組み

オンライン モニターは、通常 10 分ごとにスケジュールされた評価ループで実行されます。ループは次の手順に沿って行われます。

  1. クエリ: フィルタに基づいて Cloud Trace と Cloud Logging からサンプリング データを提供します。
  2. 評価: Gemini Enterprise Agent Platform Evaluation Service を使用して、構成された指標を実行します。
  3. レポート: 結果を Cloud Logging に書き戻し、数値スコアを Cloud Monitoring にエクスポートします。

オンライン モニターを作成する

  1. Google Cloud コンソールで、[Agent Platform] > [エージェント] > [評価] ページに移動します。

    [評価] に移動

  2. [オンライン モニター] タブを選択し、[新しいモニター] をクリックします。

  3. トレースのフィルタを指定する:

    • エージェント エンジン: プルダウンから、モニタリングするエージェントを選択します。
    • フィルタ条件: エージェントのすべてのトレースを評価するか、特定のフィルタ条件を適用するかを選択します。
  4. フィルタ条件を定義する(フィルタされたトレースを使用する場合):

    • 初期検査: 期間([過去 1 日] など)を選択して、フィルタに一致する本番環境トレースをプレビューします。
    • フィルタ: 特定のトラフィックをターゲットに設定する条件を入力します。Duration(Duration > 2 など)や Token usage などのプロパティでフィルタできます。
  5. 指標を構成する: 継続的に追跡する指標(安全性など)を追加します。

  6. サンプリングを設定する:

    • サンプリング率: 評価するライブ トラフィックの割合を定義します。
    • 実行あたりの最大サンプル数: 評価費用を管理するために上限を設定します。
  7. [作成] をクリックします。

モニターを管理する

作成したモニターは、[オンライン モニター] リストから管理できます。

  • ステータスの切り替え: [その他のオプション] をクリックし、[有効にする] または [無効にする] を選択して、構成を削除せずに評価を一時停止します。
  • 一時停止と再開: [その他のオプション] を使用して、評価を一時的に停止します。
  • 複製: 既存のモニターの設定が事前入力された新しいモニターを作成します。
  • トレースを表示する: モニターの [サンプリングされたトレース] 列の [トレースを表示] リンクをクリックして、エージェントの [トレース] タブでフィルタされたトレースに直接移動します。

オブザーバビリティ ダッシュボードで結果を表示する

評価指標を他のパフォーマンス シグナルとともに表示するには:

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

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

  4. [ダッシュボード] ビューで、[評価] サブセクションを選択して、構成された指標(回答の品質、安全性、ハルシネーション率など)の時系列グラフを表示します。

個々のトレースの結果を表示する

トレースビューで特定の会話の評価結果を直接確認することもできます。

  1. Google Cloud コンソールで、エージェントの [トレース] タブに移動します。
  2. テーブルからセッションまたはトレースを選択して、詳細パネルを開きます。
  3. [評価] タブを選択して、その特定のインタラクションのスコアと根拠を表示します。

オンライン モニターのトラブルシューティング

オンライン モニターが有効になっているのに、ダッシュボードに結果が表示されない場合:

  1. テレメトリーを確認する: エージェントが、必要な OpenTelemetry スパンとイベントを正しくエクスポートしていることを確認します。Cloud Trace で、ライブトレースに gen_ai. 属性が含まれているかどうかを確認します。
  2. フィルタを確認する: モニターのフィルタ条件を確認します。初期検査機能を使用して、フィルタが本番環境のトラフィックと一致していることを確認します。
  3. 内部ログを確認する: オンライン モニターは、診断情報を Cloud Logging に書き込みます。評価が失敗すると、エラーログが生成されます。これらのログは、ログ エクスプローラでモニター ID、特定のトレース、エージェントを検索することで確認できます。

    resource.labels.online_evaluator="projects/YOUR_PROJECT_ID/locations/YOUR_REGION/onlineEvaluators/YOUR_MONITOR_ID"
    # Or search by trace or agent
    labels.trace="YOUR_TRACE_ID"
    labels.reasoning_engine_id="YOUR_AGENT_ID"