Mengevaluasi agen pemesanan menggunakan framework evaluasi

Panduan ini menjelaskan cara menggunakan framework evaluasi di Agen AI Pemesanan Makanan untuk menguji, memvalidasi, dan mengukur performa agen AI pemesanan makanan Anda.

Evaluasi otomatis memungkinkan Anda memverifikasi bahwa agen pemesanan Anda menerima pesanan secara akurat, menangani pilihan pengubah yang kompleks, menerapkan aturan menu dengan benar, dan memverifikasi perilaku agen.

Ringkasan framework evaluasi

Framework evaluasi menyediakan simulasi dan verifikasi otomatis untuk percakapan pemesanan makanan. Daripada menguji setiap item menu dan kasus ekstrem percakapan secara manual, Anda dapat menentukan suite pengujian yang menjalankan sesi pelanggan yang disimulasikan terhadap agen Anda dan memverifikasi status keranjang dan dialog yang dihasilkan.

Selama menjalankan evaluasi, framework akan menyimulasikan sisi percakapan pelanggan menggunakan salah satu dari dua jenis kasus pengujian:

  • Giliran percakapan yang telah ditentukan sebelumnya: Memberikan urutan input teks pelanggan yang telah ditulis untuk pengujian regresi deterministik. Gunakan mode ini untuk memverifikasi bahwa frasa pelanggan yang tepat menghasilkan respons agen yang diharapkan, atau untuk mereproduksi sesi dan eskalasi pelanggan nyata dari produksi.
  • Simulasi sesi berbasis petunjuk dinamis: Berikan petunjuk pemesanan dalam bahasa alami tingkat tinggi (seperti memesan item tertentu, meminta penggantian, atau menanyakan alergen). Simulator pelanggan LLM memainkan peran percakapan secara dinamis, menguji cara agen Anda menangani dialog yang realistis, pertanyaan klarifikasi, perubahan pikiran di tengah pesanan, dan beragam frasa pelanggan.

Model resource evaluasi

Framework evaluasi disusun berdasarkan empat resource utama:

  • EvaluationDataset: Kumpulan kasus evaluasi bernama yang mewakili suite pengujian, seperti suite regresi menu inti atau pengujian paket sarapan.
  • EvaluationCase: Skenario pengujian individual yang mengevaluasi interaksi pemesanan (menggunakan giliran yang telah ditentukan atau petunjuk dinamis) terhadap konteks evaluasi dan serangkaian pencocok.
  • EvaluationContext: Lingkungan eksekusi untuk kasus pengujian atau set data, termasuk lokasi penyimpanan target, menu aktif, bagian waktu, dan waktu mulai sesi yang disimulasikan.
  • EvaluationMatcher: Aturan pernyataan yang dievaluasi di akhir sesi pemesanan yang memeriksa status keranjang tertentu, teks ucapan, atau kriteria semantik.

Pencocok evaluasi

EvaluationMatcher menentukan kondisi yang harus dipenuhi agen agar kasus pengujian lulus. Kasus evaluasi dapat merujuk ke beberapa pencocok, dan setiap pencocok menghasilkan hasil boolean lulus atau gagal:

  • Pencocokan hasil pesanan: Membandingkan keranjang akhir pelanggan dengan Order yang diharapkan. Pencocok memverifikasi bahwa semua item, grup pengubah, pengubah bertingkat, dan jumlah item cocok setelah normalisasi.
  • Pencocokan string ucapan agen: Memeriksa apakah respons agen berisi substring tertentu atau cocok dengan ekspresi reguler. Anda dapat membalikkan kondisi kecocokan untuk memverifikasi bahwa agen tidak mengucapkan frasa yang dilarang.
  • Pencocok penilaian LLM: Menggunakan penilai LLM untuk mengevaluasi kriteria bahasa alami yang tidak dapat divalidasi dengan pencocokan string persis. Misalnya, Anda dapat menegaskan: "Agen mengonfirmasi apakah pelanggan menginginkan keju sebelum menyelesaikan pesanan" atau "Agen dengan sopan memberi tahu pelanggan bahwa milkshake tidak tersedia selama sarapan".

Konteks evaluasi

EvaluationContext mengonfigurasi lingkungan restoran tempat sesi evaluasi dijalankan:

  • Store: Nama resource toko target (projects/{project}/locations/{location}/brands/{brand}/stores/{store}). Toko menentukan menu aktif, harga, zona waktu, dan penggantian penyesuaian agen.
  • Menu: Nama resource menu opsional untuk menguji menu kandidat sebelum mengaitkannya dengan toko dalam produksi.
  • ID bagian hari: ID bagian hari opsional (seperti breakfast atau dinner) untuk memverifikasi ketersediaan item menu dan aturan penetapan harga selama periode waktu makan tertentu.
  • Waktu mulai sesi pengujian: Stempel waktu ISO opsional untuk menyimulasikan pesanan yang dilakukan pada waktu tertentu dalam sehari atau hari tertentu dalam seminggu.

Mengevaluasi di konsol Agen AI Pemesanan Makanan

Konsol Agen AI Pemesanan Makanan menyediakan antarmuka interaktif untuk mengelola set data evaluasi, menjalankan pengujian, dan menganalisis hasil.

1. Membuat konteks evaluasi

  1. Di konsol Agen AI Pemesanan Makanan, pilih project dan merek Anda.
  2. Di menu navigasi, klik Evaluation.
  3. Klik tab Konteks.
  4. Klik Konteks baru.
  5. Masukkan nama tampilan dan pilih Toko target.
  6. Opsional: Pilih penggantian Menu atau Bagian hari tertentu.
  7. Klik Create.

2. Membuat pencocok evaluasi

  1. Di halaman Evaluation, klik tab Matchers.
  2. Klik Pencocok baru.
  3. Masukkan nama tampilan dan pilih jenis pencocok:
    • Hasil pesanan: Buat pesanan yang diharapkan dengan memilih item, pengubah, dan jumlah.
    • Agent utterance: Masukkan substring atau pola ekspresi reguler yang diperlukan.
    • Penilaian LLM: Masukkan kriteria bahasa alami untuk penilai LLM.
  4. Klik Create.

3. Membuat set data dan mengimpor kasus pengujian

Di konsol, kasus pengujian dapat berdiri sendiri atau diatur ke dalam set data. Anda dapat membuat set data langsung di konsol, tetapi kasus pengujian harus diimpor dari file YAML atau dikonversi dari sesi produksi.

Membuat set data

  1. Di konsol Agen AI Pemesanan Makanan, buka Evaluation > Datasets & cases.
  2. Di panel Set data, klik Set data baru.
  3. Masukkan nama tampilan (seperti Combo Meals Regression) dan deskripsi opsional.
  4. Klik Create.

Anda juga dapat mengklik Import di panel Datasets untuk mengimpor set data dari file YAML.

Contoh file YAML berikut menentukan set data evaluasi dengan kasus evaluasi inline:

- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationDatasets/DATASET_ID
  displayName: Core Combo Regression
  description: Core combo ordering and modifier selection regression suite
  evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
  evaluationCases:
    - name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
      displayName: double_cheeseburger_combo
      description: Tests combo meal ordering with side and drink modifier selections
      evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
      evaluationMatchers:
        - projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
      staticTextTurnCase:
        textTurns:
          - userTextInput: "I'd like a double cheeseburger combo."
            exampleAgentResponse: "What drink and side would you like with your combo?"
          - userTextInput: "Onion rings and a large diet cola, please."
            exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
          - userTextInput: "No, that's everything."
            exampleAgentResponse: ''

Mengimpor kasus evaluasi

  1. Di panel Cases, klik Import.
  2. Pilih file YAML yang menentukan kasus evaluasi Anda.
  3. Konfirmasi upload. Kasus yang diimpor akan muncul dalam daftar Kasus.

Anda juga dapat mengklik Ekspor di panel Set Data atau Kasus untuk mendownload definisi yang ada sebagai file YAML.

Contoh file YAML berikut menentukan kasus evaluasi dengan giliran percakapan, konteks evaluasi, dan pencocok yang telah ditentukan:

- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_1
  displayName: Double Cheeseburger Combo
  description: Tests combo meal ordering with side and drink modifier selections
  evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
  evaluationMatchers:
    - projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/ORDER_MATCHER_ID
    - projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/UTTERANCE_MATCHER_ID
  staticTextTurnCase:
    textTurns:
      - userTextInput: "I'd like a double cheeseburger combo."
        exampleAgentResponse: "What drink and side would you like with your combo?"
      - userTextInput: "Onion rings and a large diet cola, please."
        exampleAgentResponse: "Got it, a double cheeseburger combo with onion rings and a large diet cola. Anything else?"
      - userTextInput: "No, that's everything."

- name: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationCases/CASE_ID_2
  displayName: Breakfast Allergen Inquiry
  description: Tests agent handling of customer allergy questions during breakfast
  evaluationContext: projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationContexts/CONTEXT_ID
  evaluationMatchers:
    - projects/PROJECT_ID/locations/LOCATION/brands/BRAND_ID/evaluationMatchers/LLM_JUDGEMENT_MATCHER_ID
  staticTextTurnCase:
    textTurns:
      - userTextInput: "Are your pancakes prepared with peanut oil?"
      - userTextInput: "Okay, I'll take the oatmeal instead."

Mengatur kasus ke dalam set data

Kasus evaluasi dapat ada secara independen tanpa termasuk dalam set data. Untuk mengatur kasus ke dalam set data:

  1. Di panel Kasus, pilih satu atau beberapa kasus pengujian menggunakan kotak centangnya.
  2. Tarik kasus yang dipilih ke set data target di panel Datasets.
  3. Klik set data di panel Set data untuk meluaskannya dan meninjau kasus yang ditetapkan.

4. Mengonversi sesi pelanggan dari Histori pesanan

Untuk mereproduksi masalah yang dilaporkan pelanggan atau membuat suite pengujian langsung dari traffic produksi nyata:

  1. Di menu navigasi, klik Histori pesanan.
  2. Klik baris untuk sesi pemesanan yang ingin Anda uji.
  3. Di panel Detail pesanan, klik Konversi ke kasus evaluasi.
  4. Pilih atau buat konteks evaluasi dan pencocok.
  5. Klik Konversikan. Ucapan pelanggan yang bergantian dikonversi menjadi kasus evaluasi secara otomatis.

5. Menjalankan evaluasi dan memeriksa hasil

Anda dapat menjalankan seluruh set data atau mengeksekusi setiap kasus yang dipilih:

  • Menjalankan set data: Di panel Set data, klik Jalankan set data di samping set data target.
  • Menjalankan kasus satu per satu: Di panel Cases, pilih satu atau beberapa kasus menggunakan kotak centang, lalu klik Run di panel tindakan pilihan.

Untuk memantau operasi dan memeriksa hasil mendetail:

  1. Klik tab Histori untuk melacak progres, keseluruhan tingkat kelulusan, dan durasi eksekusi run.
  2. Klik operasi apa pun dalam tabel histori untuk melihat hasil kasus yang mendetail:
    • Ringkasan: Tinjau persentase lulus atau gagal secara keseluruhan dan total kasus yang lulus.
    • Transkrip giliran: Periksa dialog giliran demi giliran antara pelanggan yang disimulasikan dan agen.
    • Detail pencocokan: Tinjau pencocokan mana yang lulus atau gagal, termasuk penjelasan hakim LLM untuk kriteria kualitatif yang gagal.

Langkah berikutnya