Contoh playbook

Setiap playbook harus memiliki satu atau beberapa contoh. Contoh ini adalah contoh percakapan antara pengguna akhir dan playbook, termasuk dialog dan tindakan yang dilakukan oleh agen. Ini adalah contoh perintah few-shot yang efektif untuk LLM.

Konsol menyediakan antarmuka untuk Anda memasukkan tindakan.

Agen multibahasa

Jika Anda ingin agen menangani beberapa bahasa, contoh Anda harus menggunakan setiap bahasa.

Contoh ringkasan input dan ringkasan output

Selain parameter input dan output, playbook mendukung penerimaan ringkasan input dan memunculkan ringkasan output untuk bertukar informasi dengan playbook lain. Ringkasan berguna untuk meneruskan informasi kontekstual abstrak di antara playbook, sedangkan parameter lebih berguna untuk meneruskan kolom terstruktur yang ditentukan dengan baik di antara playbook. Parameter adalah satu-satunya cara untuk bertukar data antara alur dan playbook.

Tambahkan ringkasan input yang relevan ke contoh untuk mengkondisikan playbook agar menyesuaikan tindakannya berdasarkan ringkasan input saat runtime. Tambahkan ringkasan output termasuk detail yang relevan dan akurat tentang contoh percakapan untuk menunjukkan playbook detail yang penting untuk dirangkum.

Contoh status

Pada titik tertentu dalam percakapan, playbook akan berada dalam salah satu status berikut:

  • OK: Playbook berhasil mencapai sasarannya dan kontrol kini akan ditransfer ke playbook induk.
  • CANCELLED: Pengguna memutuskan untuk tidak melanjutkan sasaran yang ditetapkan ke playbook. Kontrol kini akan ditransfer ke playbook induk. Jika playbook induk adalah alur CX, intent input pengguna akan terdeteksi sebelum alur berjalan.
  • FAILED: Playbook tidak dapat melanjutkan sasaran karena beberapa error (misalnya, alat menampilkan error 500). Sesi akan berakhir dengan status gagal. Pesan EndInteraction akan ditambahkan ke respons.
  • ESCALATED: Playbook memutuskan bahwa playbook tidak dapat mencapai sasaran dan perlu mengeskalasikan situasi kepada manusia. Sesi akan berakhir dengan status yang dieskalasikan. Pesan EndInteraction akan ditambahkan ke respons.
  • PENDING: Percakapan masih berlanjut dalam playbook.

Contoh tingkat teratas dan pemanggilan playbook-nya harus ditunjukkan dengan status yang sesuai dengan playbook yang dirujuk.

Strategi pemilihan

Setelan strategi pemilihan mengontrol apakah contoh disertakan dalam perintah playbook yang dikirim ke LLM. Tersedia opsi-opsi berikut:

  • Pilih secara dinamis: Contoh disertakan secara bersyarat, berdasarkan relevansinya dengan konteks percakapan saat ini. Contoh dapat dihilangkan jika perintah mendekati batas token. Anda dapat memberikan kecocokan kata secara opsional.
  • Selalu pilih: Contoh selalu disertakan, terlepas dari konteks percakapan. Contoh dapat dihilangkan jika perintah mendekati batas token.
  • Never select: Contoh tidak pernah disertakan dalam perintah. Contoh ini tidak akan memengaruhi performa playbook. Setelan ini berguna untuk mengecualikan contoh untuk pengujian untuk sementara.

Kecocokan kata

Secara opsional, Anda dapat memberikan kecocokan kata untuk contoh dengan strategi pemilihan dinamis. Hal ini memungkinkan Anda mendapatkan kontrol yang lebih baik atas apakah contoh disertakan dalam perintah. Hal ini direkomendasikan untuk playbook yang memiliki lebih dari 100 contoh.

Anda dapat memberikan beberapa ekspresi pencocokan sebagai kata sederhana yang akan dicocokkan atau ekspresi reguler, dan setiap ekspresi pencocokan dapat berupa salah satu jenis berikut:

  • user: Kecocokan diperiksa berdasarkan pesan pengguna akhir.
  • agent: Kecocokan diperiksa dengan pesan agen.
  • any: Kecocokan diperiksa terhadap pesan pengguna akhir dan agen, serta tindakan.

Saat memeriksa kecocokan, ekspresi dicocokkan dengan maksimal 5 giliran percakapan terbaru dan pesan pengguna akhir pertama.

Jika kecocokan ditemukan untuk contoh, contoh tersebut akan diprioritaskan daripada contoh lain yang dipilih secara dinamis tanpa pencocokan kata.

Format untuk pencocokan kata adalah daftar yang dipisahkan koma, dengan setiap ekspresi dimulai dengan jenis ekspresi dan titik dua. Contoh:

user:red,agent:blue,any:placeOrder

Kedua hal tersebut akan cocok jika salah satu hal berikut berlaku:

  • Pesan pengguna akhir berisi red.
  • Pesan agen berisi blue.
  • Setiap pesan berisi atau tindakan cocok dengan placeOrder.

Tambahkan tindakan

Contoh yang diberikan dalam playbook terdiri dari serangkaian tindakan. Kombinasi tindakan ini dapat bervariasi, tetapi tindakan ini terutama menggambarkan interaksi antara pengguna dan playbook, beserta tindakan yang dilakukan di antara keduanya untuk memenuhi kueri atau persyaratan pengguna.

Ada dua cara untuk menambahkan tindakan ke contoh:

  • Untuk menambahkan tindakan secara manual, klik tombol + di bagian bawah panel kanan atau tombol Tambahkan tindakan saat Anda menahan kursor di atas tindakan yang ada. Anda dapat menggunakan opsi ini saat membuat contoh baru dengan mengklik opsi + Contoh atau saat mengedit contoh yang ada.

  • Untuk membuat tindakan secara otomatis berdasarkan petunjuk playbook yang ada, masukkan input pengguna di kolom Masukkan input pengguna di bagian bawah panel kanan. Anda dapat menggunakan opsi ini saat membuat atau mengedit contoh. Atau, Anda dapat menggunakan opsi ini saat menguji playbook saat runtime di panel Pratinjau playbook di sebelah kanan. Untuk menyimpan tindakan ke contoh dari panel Pratinjau playbook, klik Simpan contoh setelah memilih pemanggilan playbook dari daftar pemanggilan di sebelah kiri panel Pratinjau playbook.

Pastikan untuk memeriksa keakuratan tindakan yang dibuat otomatis dan mengeditnya jika perlu. Hal ini sangat penting untuk playbook dengan sedikit atau tanpa contoh.

Jenis tindakan berikut didukung oleh playbook:

Respons playbook

Respons playbook terhadap kueri pengguna.

Input pengguna

Kueri pengguna.

Penggunaan alat

Ini adalah pemanggilan alat untuk mendapatkan informasi tambahan yang diperlukan untuk memenuhi kueri pengguna. Tindakan ini harus menentukan detail berikut:

  • Alat: Nama alat yang harus dipanggil.
  • Action: Nama operasi untuk alat OpenAPI yang harus dipanggil. Untuk alat penyimpanan data dan alat fungsi, nama tindakan sama dengan nama alat.
  • Input alat: Input yang akan disertakan dalam panggilan alat. Hal ini biasanya berasal dari giliran percakapan sebelumnya dengan pengguna.

    Untuk alat Open API, JSON requestBody diperlukan untuk jenis metode POST, PUT, dan PATCH.

    Contoh input requestBody alat Open API untuk tindakan createPet:

    {
      "id": 1,
      "name": "Luna"
    }
    

    Untuk alat penyimpanan data, contoh requestBody tempat kueri diperlukan dan kolom lainnya bersifat opsional.

    {
      "query": "Where is my nearest store?",
      "filter": "country: ANY(\"United States\")",
      "userMetadata": {
        "userCity": "San Fransisco",
      },
      "fallback": "We don't have any stores in your area."
    }
    
  • Output alat: Respons pemanggilan alat. Ini adalah respons JSON yang valid dari alat ke input yang diberikan. Untuk alat Open API, error ini juga dapat berupa error string (misalnya, "404 Tidak ditemukan").

    Contoh output alat Open API untuk tindakan listPets:

    {
      "pets": [
        {
          "id": 1,
          "name": "Luna"
        },
        {
          "id": 2,
          "name": "Charlie"
        }]
    }
    

    Contoh output alat Penyimpanan data:

    {
      "answer": "Here's the address to your nearest store ...",
      "snippets": [
        {
          "title": "San Fransisco Downtown",
          "uri": "https://www.example.com/San_Fransisco_Downtown",
          "text": "Address for San Fransisco Downtown .."
        }
      ]
    }
    

Untuk memastikan playbook aman dari kegagalan, sertakan juga contoh respons playbook saat pemanggilan alat gagal. Kegagalan pemanggilan alat Open API dapat direpresentasikan sebagai string error ("404 not found") dalam output alat. Untuk alat penyimpanan data, input fallback dapat digunakan untuk menentukan cara merespons jika tidak ada jawaban ringkas.

Jika Anda ingin alat penyimpanan data menyertakan URI dalam respons playbook, tambahkan contoh yang berisi URI yang ingin Anda respons dengan playbook. Jika URI ini berasal dari alat penyimpanan data, output alat penyimpanan data harus berisi URI yang cocok dengan URI dalam respons playbook. Perhatikan bahwa fallback tidak dapat digunakan dalam skenario ini karena akan menonaktifkan kemampuan playbook LLM untuk merumuskan ulang jawaban alat penyimpanan data untuk menyertakan URI dalam respons playbook.

Contoh yang berisi tindakan penggunaan alat dapat menjadi cukup panjang dan berkontribusi pada peningkatan konsumsi batas token input. Untuk memastikan penggunaan token yang efisien, pastikan output alat ringkas dan berisi informasi yang relevan dengan sasaran playbook. Untuk alat penyimpanan data, pertimbangkan untuk menghapus cuplikan dari contoh karena dapat berkontribusi pada konsumsi token input yang tinggi.

Pemanggilan playbook

Tindakan ini digunakan saat playbook harus memanggil playbook lain untuk memenuhi kueri pengguna. Tindakan ini harus menentukan detail berikut:

  • Playbook: Nama playbook yang akan dipanggil.
  • Ringkasan input pemanggilan playbook: Ringkasan bagian yang relevan dari percakapan sebelumnya yang berguna untuk playbook yang dipanggil.
  • Parameter input: Parameter input yang akan diteruskan ke playbook
  • Ringkasan output pemanggilan playbook: Ringkasan hal yang harus dihasilkan playbook setelah menyelesaikan sasarannya.
  • Parameter output: Parameter output yang dihasilkan oleh playbook setelah menyelesaikan sasarannya.