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

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

始める前に

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

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

テレメトリーの要件

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

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

    • gen_ai.agent.name: エージェントの識別子。
    • 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. コンソールで、Agent Platform > Agents > Evaluation ページに移動します。 Google Cloud

    [評価] に移動

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

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

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

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

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

    • サンプリング率: 評価するリアルタイム交通情報の割合を定義します。
    • 実行あたりの最大サンプル数: 評価費用を管理するための上限を設定します。
  7. [作成] をクリックします。

モニターを管理する

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

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

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

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

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

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

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

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

オンライン モニターがアクティブになっているのに、ダッシュボードに結果が表示されない場合は、次のことを確認してください。

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