Pemisahan traffic (pengujian A/B)

Pemisahan traffic memungkinkan Anda membagi percakapan pengguna di berbagai versi aplikasi agen CX Agent Studio dalam satu saluran deployment. Anda dapat menggunakan pemisahan traffic untuk melakukan pengujian A/B atau men-deploy update secara bertahap dengan aman dengan merutekan persentase traffic tertentu ke setiap versi.

Panduan ini menjelaskan cara mengonfigurasi pemisahan traffic menggunakan konsol CX Agent Studio atau CX Agent Studio REST API, dan menganalisis performa versi menggunakan log BigQuery setelah eksperimen Anda menerima traffic pelanggan aktif.

Ringkasan alur kerja

  1. Membuat versi aplikasi: Buat snapshot (versi) aplikasi agen yang tidak dapat diubah untuk dibandingkan.
  2. Mengonfigurasi pemisahan traffic di saluran deployment: Tetapkan persentase traffic di beberapa versi aplikasi menggunakan konsol atau REST API.
  3. Menganalisis performa di BigQuery: Setelah eksperimen Anda berjalan dan telah memproses traffic pelanggan yang memadai, kueri log percakapan yang diekspor di BigQuery untuk mengevaluasi metrik di berbagai versi.

Mengonfigurasi pemisahan traffic

Anda dapat mengonfigurasi alokasi traffic di berbagai versi aplikasi menggunakan konsol atau REST API. Setiap alokasi harus mengarah ke versi aplikasi agen yang ada, dan jumlah semua persentase traffic dalam deployment harus sama dengan 100.

Menggunakan konsol

Untuk mengonfigurasi pemisahan traffic di konsol pembuat agen:

  1. Buka konsol CX Agent Studio dan pilih aplikasi agen Anda.
  2. Klik tab Deploy di bagian atas halaman.
  3. Pilih saluran deployment yang ada atau klik New channel untuk membuatnya (misalnya, akses API).
  4. Di bagian Agent version, klik Add version, lalu pilih versi aplikasi agen yang ingin Anda sertakan dalam eksperimen.
  5. Masukkan Traffic percentage untuk setiap versi (misalnya, 90% untuk Versi A dan 10% untuk Versi B). Pastikan total persentase adalah 100%.
  6. Klik Create channel untuk menerapkan konfigurasi.

Menggunakan REST API

Anda dapat menyiapkan pemisahan traffic secara terprogram dengan memanggil metode patch pada resource deployment dan menentukan experimentConfig.versionRelease.trafficAllocations.

Sebelum memanggil API, pastikan Anda memiliki ID berikut:

  • PROJECT_ID: Project ID Anda Google Cloud .
  • LOCATION_ID: Region aplikasi agen Anda (misalnya, us-east1).
  • APP_ID: ID aplikasi agen Anda.
  • DEPLOYMENT_ID: ID saluran deployment.
  • VERSION_A_UUID / VERSION_B_UUID: ID unik versi aplikasi Anda.

Kirim permintaan PATCH untuk memperbarui konfigurasi deployment:

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
          }
        ]
      }
    }
  }'

Memverifikasi konfigurasi deployment

Untuk memverifikasi bahwa alokasi traffic Anda aktif:

Menggunakan konsol

  1. Buka halaman Deploy di konsol CX Agent Studio.
  2. Temukan saluran Anda dalam daftar deployment.
  3. Pastikan kolom Version menampilkan pemisahan yang dikonfigurasi (misalnya, Version A (90%), Version B (10%)).

Menggunakan REST API

Kirim permintaan GET untuk mengambil detail resource deployment:

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"

JSON respons mencakup experimentConfig aktif yang mengonfirmasi persentase traffic yang ditetapkan ke setiap versi dan menampilkan "state": "RUNNING" di dalam versionRelease.

Menganalisis performa versi di BigQuery

Setelah eksperimen pemisahan traffic Anda berjalan dan telah memproses volume percakapan pelanggan aktif yang memadai, Anda dapat menganalisis performa versi menggunakan log BigQuery.

Sebelum menganalisis log, pastikan Anda telah mengaktifkan BigQuery Export untuk aplikasi Anda dengan membuka di konsol CX Agent Studio ke Build > Settings > Advanced dan mengaktifkan Export logs to BigQuery. Jika ekspor diaktifkan, catatan interaksi—termasuk app_version_id tertentu yang ditangani oleh setiap giliran—akan dicatat dalam set data BigQuery Anda.

Anda dapat menjalankan kueri SQL untuk mengevaluasi dan membandingkan respons yang dihasilkan oleh setiap versi selama periode pemisahan traffic.

  1. Di Google Cloud konsol, buka BigQuery.
  2. Jalankan kueri contoh terhadap tabel log interaksi Anda, dengan mengganti detail project dan periode evaluasi (START_TIME dan 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. Mengevaluasi metrik:

    • Mengidentifikasi versi: Petakan baris output ke UUID versi atau eksekusi alat tertentu (misalnya, membandingkan respons dari Versi A dengan Versi B).
    • Menghitung rasio keberhasilan: Bandingkan rasio hasil dengan error atau respons yang tidak berlaku di kedua versi untuk memutuskan apakah akan mempromosikan versi kandidat ke 100% traffic.