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

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

始める前に

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

  • エージェントをデプロイするの説明に沿って、エージェントをデプロイします。
  • プロジェクトで 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 TraceCloud Logging からデータをサンプリングします。
  2. 評価: Gemini Enterprise Agent Platform Evaluation Service を使用して、構成された指標を実行します。
  3. レポート: 結果を Cloud Logging に書き戻し、数値スコアを Cloud Monitoring にエクスポートします。

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

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

    [評価] に移動

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

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

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

    • 初回検査: フィルタに一致する本番環境トレースをプレビューする期間(過去 1 日間など)を選択します。
    • フィルタ: 特定のトラフィックをターゲットにするための条件を入力します。DurationDuration > 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"