Trafficaufteilung (A/B-Tests)

Mit der Trafficaufteilung können Sie Nutzerunterhaltungen auf verschiedene Versionen Ihrer CX Agent Studio-Agent-Anwendung in einem einzelnen Bereitstellungskanal aufteilen. Sie können die Trafficaufteilung für A/B-Tests verwenden oder Updates sicher in Phasen bereitstellen, indem Sie einen bestimmten Prozentsatz des Traffics an jede Version weiterleiten.

In dieser Anleitung wird beschrieben, wie Sie die Trafficaufteilung mit der CX Agent Studio Console oder der CX Agent Studio REST API konfigurieren und die Versionenleistung mit BigQuery-Logs analysieren, sobald Ihr Test Live-Kundentraffic erhält.

Workflowübersicht

  1. Anwendungsversionen erstellen: Erstellen Sie unveränderliche Snapshots (Versionen) Ihrer Agent-Anwendung, um sie zu vergleichen.
  2. Trafficaufteilung für einen Bereitstellungskanal konfigurieren: Weisen Sie mit der Console oder der REST API Trafficprozentsätze für mehrere Anwendungsversionen zu.
  3. Leistung in BigQuery analysieren: Sobald Ihr Test ausgeführt wird und genügend Kundentraffic verarbeitet wurde, können Sie exportierte Unterhaltungslogs in BigQuery abfragen, um Messwerte für verschiedene Versionen zu vergleichen.

Trafficaufteilung konfigurieren

Sie können die Trafficzuweisungen für verschiedene Anwendungsversionen entweder über die Console oder die REST API konfigurieren. Jede Zuweisung muss auf eine vorhandene Version der Agent-Anwendung verweisen und die Summe aller Trafficprozentsätze in der Bereitstellung muss 100 ergeben.

Die Console verwenden

So konfigurieren Sie die Trafficaufteilung in der Agent Builder Console:

  1. Öffnen Sie die CX Agent Studio Console und wählen Sie Ihre Agent-Anwendung aus.
  2. Klicken Sie oben auf der Seite auf den Tab Bereitstellen.
  3. Wählen Sie einen vorhandenen Bereitstellungskanal aus oder klicken Sie auf Neuer Kanal, um einen zu erstellen (z. B. API-Zugriff).
  4. Klicken Sie unter Agent-Version auf Version hinzufügen und wählen Sie die Versionen der Agent-Anwendung aus, die Sie in den Test einbeziehen möchten.
  5. Geben Sie den Trafficprozentsatz für jede Version ein (z. B. 90% für Version A und 10% für Version B). Die Prozentsätze müssen zusammen 100 % ergeben.
  6. Klicken Sie auf Kanal erstellen , um die Konfiguration anzuwenden.

REST API verwenden

Sie können die Trafficaufteilung programmatisch einrichten, indem Sie die patch Methode für Ihre Bereitstellungsressource aufrufen und experimentConfig.versionRelease.trafficAllocations definieren.

Bevor Sie die API aufrufen, benötigen Sie die folgenden IDs:

  • PROJECT_ID: Ihre Google Cloud Projekt-ID
  • LOCATION_ID: Die Region Ihrer Agent-Anwendung (z. B. us-east1)
  • APP_ID: Die ID Ihrer Agent-Anwendung
  • DEPLOYMENT_ID: Die ID des Bereitstellungskanals
  • VERSION_A_UUID / VERSION_B_UUID: Die eindeutigen IDs Ihrer Anwendungsversionen

Senden Sie eine PATCH-Anfrage, um die Bereitstellungskonfiguration zu aktualisieren:

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://ces.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/deployments/DEPLOYMENT_ID?updateMask=experimentConfig" \
  -d '{
    "experimentConfig": {
      "versionRelease": {
        "trafficAllocations": [
          {
            "appVersion": "projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/versions/VERSION_A_UUID",
            "trafficPercentage": 90
          },
          {
            "appVersion": "projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/versions/VERSION_B_UUID",
            "trafficPercentage": 10
          }
        ]
      }
    }
  }'

Bereitstellungskonfiguration überprüfen

So prüfen Sie, ob Ihre Trafficzuweisungen aktiv sind:

Die Console verwenden

  1. Öffnen Sie in der CX Agent Studio Console die Seite Bereitstellen.
  2. Suchen Sie in der Liste der Bereitstellungen nach Ihrem Kanal.
  3. Prüfen Sie, ob in der Spalte Version die konfigurierte Aufteilung angezeigt wird (z. B. Version A (90%), Version B (10%)).

REST API verwenden

Senden Sie eine GET-Anfrage, um die Details der Bereitstellungsressource abzurufen:

curl -X GET \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://ces.googleapis.com/v1beta/projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID/deployments/DEPLOYMENT_ID"

Das JSON der Antwort enthält die aktive experimentConfig, in der die Trafficprozentsätze für jede Version bestätigt werden, und zeigt "state": "RUNNING" in versionRelease an.

Versionenleistung in BigQuery analysieren

Sobald Ihr Test zur Trafficaufteilung ausgeführt wird und genügend Live-Kundengespräche verarbeitet wurden, können Sie die Versionenleistung mit BigQuery-Logs analysieren.

Bevor Sie Logs analysieren, müssen Sie den BigQuery-Export für Ihre Anwendung aktivieren. Rufen Sie dazu in der CX Agent Studio Console Erstellen > Einstellungen > Erweitert auf und aktivieren Sie Logs nach BigQuery exportieren. Wenn der Export aktiviert ist, werden Interaktionsdatensätze, einschließlich der spezifischen app_version_id, die in jeder Runde verarbeitet wird, in Ihrem BigQuery-Dataset aufgezeichnet.

Sie können SQL-Abfragen ausführen, um die von den einzelnen Versionen während des Trafficaufteilungszeitraums generierten Antworten zu bewerten und zu vergleichen.

  1. Wechseln Sie in der Google Cloud Console zu BigQuery.
  2. Führen Sie die Beispielabfrage für Ihre Tabelle mit Interaktionslogs aus und ersetzen Sie dabei Ihre Projektdetails und den Bewertungszeitraum (START_TIME und END_TIME):

    SELECT
      app_version_id,
      tool_call.name AS tool_name,
      tool_call.output AS tool_result_message,
      COUNT(1) AS count
    FROM
      `PROJECT_ID.conversational_agents_logs.v1beta_logs`,
      UNNEST(json_payload.query_result.generations) AS generation,
      UNNEST(generation.tool_calls) AS tool_call
    WHERE
      json_payload.resource = 'projects/PROJECT_ID/locations/LOCATION_ID/apps/APP_ID'
      AND timestamp >= TIMESTAMP('START_TIME_YYYY-MM-DD HH:MM:SS', 'TIMEZONE')
      AND timestamp <= TIMESTAMP('END_TIME_YYYY-MM-DD HH:MM:SS', 'TIMEZONE')
    GROUP BY
      app_version_id, tool_name, tool_result_message
    ORDER BY
      app_version_id, count DESC
    
  3. Messwerte auswerten:

    • Versionen identifizieren: Ordnen Sie die Ausgaberow Ihrer spezifischen Version-UUIDs oder Toolausführungen zu (z. B. um Antworten von Version A mit Antworten von Version B zu vergleichen).
    • Erfolgsrate berechnen: Vergleichen Sie das Verhältnis von Ergebnissen zu Fehlern oder veralteten Antworten für die beiden Versionen, um zu entscheiden, ob die Kandidatenversion 100% des Traffics erhalten soll.