Dasar-dasar agen berbasis alur

Dokumen ini menjelaskan dasar-dasar penggunaan alur Agen Percakapan (Dialogflow CX) untuk membuat agen. Bagian ini memberikan ringkasan konsep yang paling penting.

Agen

Agen Agen Percakapan (Dialogflow CX) adalah agen virtual yang menangani percakapan serentak dengan pengguna akhir Anda. Ini adalah modul natural language understanding yang memahami nuansa bahasa manusia. Agen Percakapan (Dialogflow CX) menerjemahkan teks atau audio pengguna akhir selama percakapan ke data terstruktur yang dapat dipahami oleh aplikasi dan layanan Anda. Anda mendesain dan mem-build agen Agen Percakapan (Dialogflow CX) untuk menangani jenis percakapan yang diperlukan untuk sistem Anda.

Agen Agen Percakapan (Dialogflow CX) mirip dengan agen pusat layanan pelanggan manusia. Anda melatih keduanya untuk menangani skenario percakapan yang diharapkan, dan pelatihan Anda tidak perlu terlalu eksplisit.

Flows

Dialog kompleks sering kali melibatkan beberapa topik percakapan. Misalnya, agen pengiriman pizza mungkin memiliki pesanan makanan, informasi pelanggan, dan konfirmasi sebagai topik yang berbeda. Setiap topik memerlukan beberapa giliran percakapan agar agen dapat memperoleh informasi yang relevan dari pengguna akhir.

Alur digunakan untuk menentukan topik ini dan jalur percakapan terkait. Setiap agen memiliki satu alur yang disebut Alur Awal Default. Anda mungkin hanya memerlukan satu alur ini untuk agen sederhana. Agen yang lebih rumit mungkin memerlukan alur tambahan, dan anggota tim pengembangan yang berbeda dapat bertanggung jawab untuk membuat dan mempertahankan alur ini. Misalnya, alur agen pengiriman pizza mungkin terlihat seperti berikut:

Contoh diagram multi-alur.

Halaman

Percakapan (sesi) Agen Percakapan (Dialogflow CX) dapat dijelaskan dan divisualisasikan sebagai mesin status. Status sesi diwakili oleh halaman.

Untuk setiap alur, Anda menentukan banyak halaman, dengan halaman gabungan yang dapat menangani percakapan lengkap tentang topik yang menjadi tujuan alur. Pada waktu tertentu, hanya ada satu halaman yang merupakan halaman saat ini, halaman saat ini dianggap aktif, dan alur yang terkait dengan halaman tersebut dianggap aktif. Setiap alur memiliki halaman awal khusus. Saat alur awalnya menjadi aktif, halaman awal menjadi halaman saat ini. Untuk setiap giliran percakapan, halaman saat ini akan tetap sama atau bertransisi ke halaman lain.

Anda mengonfigurasi setiap halaman untuk mengumpulkan informasi dari pengguna akhir yang relevan untuk status percakapan yang diwakili oleh halaman. Misalnya, Anda dapat membuat halaman (berwarna biru) dalam diagram di bawah untuk alur Pesanan Makanan dari agen pengiriman pizza. Node Start pada diagram mewakili halaman awal alur Pesanan Makanan. Setelah selesai, alur akan bertransisi ke alur Konfirmasi.

Contoh diagram multi-alur.

Jenis entitas

Jenis entity digunakan untuk mengontrol cara data dari input pengguna akhir diekstrak.

Agen Percakapan (Dialogflow CX) menyediakan entity sistem yang telah ditentukan sebelumnya yang dapat mencocokkan banyak jenis data umum. Misalnya, ada entity sistem untuk mencocokkan tanggal, waktu, warna, alamat email, dan sebagainya. Anda juga dapat membuat entity kustom Anda sendiri untuk mencocokkan data kustom. Misalnya, Anda dapat menentukan entity sayuran yang dapat mencocokkan jenis sayuran yang tersedia untuk dibeli dengan agen toko bahan makanan.

Parameter

Parameter digunakan untuk mengambil dan mereferensikan nilai yang telah disediakan oleh pengguna akhir selama sesi. Setiap parameter memiliki nama dan jenis entity. Tidak seperti input mentah pengguna akhir, parameter adalah data terstruktur yang dapat dengan mudah digunakan untuk menjalankan beberapa logika atau menghasilkan respons.

Formulir

Untuk setiap halaman, Anda dapat menentukan formulir, yang merupakan daftar parameter yang harus dikumpulkan dari pengguna akhir untuk halaman tersebut. Agen berinteraksi dengan pengguna akhir untuk beberapa giliran percakapan, hingga mengumpulkan semua parameter formulir yang diperlukan, yang juga dikenal sebagai parameter halaman. Agen mengumpulkan parameter ini dalam urutan yang ditentukan di halaman. Untuk setiap parameter formulir yang diperlukan, Anda juga memberikan perintah yang digunakan agen untuk meminta informasi tersebut dari pengguna akhir. Proses ini disebut pengisian formulir.

Misalnya, Anda dapat membuat formulir yang mengumpulkan nama pengguna akhir dan nomor telepon untuk halaman Collect Customer Info.

Intent

Intent mengategorikan intent pengguna akhir untuk satu giliran percakapan.

Intent berisi data berikut:

Istilah Definisi
Nama tampilan Nama yang ditampilkan di konsol untuk intent.
Label Label yang membantu mengategorikan intent. Misalnya: intent kepala.
Frasa latihan Frasa pelatihan adalah contoh frasa untuk apa yang mungkin diketik atau diucapkan pengguna akhir, yang dikenal sebagai input pengguna akhir. Jika input pengguna akhir menyerupai salah satu frasa ini, Agen Percakapan (Dialogflow CX) akan mencocokkan intent. Anda tidak perlu menentukan setiap kemungkinan contoh, karena machine learning bawaan Agen Percakapan (Dialogflow CX) akan memperluas daftar Anda dengan frasa lain yang serupa.
Parameter Anda menentukan frasa pelatihan untuk menggunakan parameter guna mengekstrak nilai dari bagian tertentu input pengguna akhir.
Pola DTMF Lihat DTMF untuk integrasi telepon.

Webhook

Webhook adalah layanan yang menghosting logika bisnis Anda atau memanggil layanan lain. Selama sesi, webhook memungkinkan Anda menggunakan data yang diekstrak oleh natural language processing Agen Percakapan (Dialogflow CX) untuk menghasilkan respons dinamis, memvalidasi data yang dikumpulkan, atau memicu tindakan di backend.

Webhook dapat berupa webhook standar atau webhook fleksibel. Dengan webhook standar, kolom permintaan dan respons ditentukan oleh Agen Percakapan (Dialogflow CX). Dengan webhook yang fleksibel, Anda menentukan kolom permintaan dan respons.

Fulfillment

Untuk giliran percakapan agen, agen harus merespons pengguna akhir dengan jawaban atas pertanyaan, kueri untuk informasi, atau penghentian sesi. Agen Anda mungkin juga perlu menghubungi layanan Anda untuk menghasilkan respons dinamis atau mengambil tindakan untuk giliran. Fulfillment digunakan untuk menyelesaikan semua hal ini.

Fulfillment dapat berisi salah satu dari hal berikut:

  • Pesan respons statis.
  • Webhook memanggil respons dinamis dan/atau untuk mengambil tindakan.
  • Setelan default parameter untuk menetapkan atau mengganti parameter value.

Selama giliran agen, Anda dapat (dan terkadang sebaiknya) memanggil beberapa fulfillment, yang masing-masing dapat menghasilkan pesan respons. Agen Percakapan (Dialogflow CX) menyimpan respons ini dalam antrean respons. Setelah giliran agen berakhir, Agen Percakapan (Dialogflow CX) akan mengirimkan respons yang diurutkan kepada pengguna akhir.

Pengendali status

Pengendali status, yang juga disebut pengendali, digunakan untuk mengontrol percakapan dengan membuat respons untuk pengguna akhir dan/atau dengan mentransisikan halaman saat ini. Untuk setiap giliran percakapan, pengendali dievaluasi dan dapat memengaruhi sesi. Pengendali memiliki tiga jenis data umum:

Istilah Definisi
Persyaratan pengendali Berikut adalah persyaratan yang harus dipenuhi agar pengendali dapat memberikan efek pada sesi. Pengendali dikatakan dipanggil saat memenuhi persyaratannya dan memengaruhi sesi dengan cara tertentu.
Fulfillment pengendali Jika pengendali dipanggil, fulfillment opsional akan digunakan untuk membuat respons bagi pengguna akhir. Respons ini ditentukan dalam data agen statis atau diambil secara dinamis dari layanan webhook Anda.
Target transisi pengendali Jika pengendali dipanggil, target transisi opsional akan digunakan untuk mengubah halaman saat ini. Halaman berikutnya hanya dapat berupa halaman awal alur atau halaman dalam alur yang saat ini aktif.

Ada dua jenis pengendali status dengan persyaratan pengendali yang berbeda:

Istilah Definisi
Rute Rute dipanggil saat input pengguna akhir cocok dengan intent dan/atau beberapa kondisi pada status sesi terpenuhi. Rute dengan persyaratan intent juga disebut rute intent. Rute yang hanya memiliki persyaratan kondisi juga disebut rute kondisi.
Pengendali peristiwa Pemroses peristiwa dipanggil saat peristiwa dipanggil. Beberapa peristiwa bawaan dipicu saat input pengguna akhir yang tidak terduga diterima, atau saat terjadi error webhook. Anda juga dapat menentukan peristiwa kustom yang Anda panggil saat terjadi sesuatu di luar percakapan.

Ada tiga langkah untuk memproses pengendali status:

Istilah Definisi
1. Cakupan Pengendali harus berada dalam cakupan agar dapat memengaruhi sesi. Cakupan ditentukan oleh apakah pengendali diterapkan ke alur, halaman, atau parameter formulir; dan apakah alur terkait aktif, halaman terkait aktif, atau agen saat ini mencoba mengisi parameter formulir terkait.
2. Evaluasi Setiap pengendali dalam cakupan dievaluasi secara berurutan. Jika persyaratan pengendali terpenuhi, pengendali akan lulus evaluasi.
3. Telepon Jika berada dalam cakupan dan lulus evaluasi, pengendali akan dipanggil. Semua fulfillment terkait akan dipanggil, dan semua target transisi terkait akan diterapkan ke sesi.

Setelan lokasi dan regionalisasi

Saat membuat agen, Anda harus menentukan region sebagai lokasi agen. Permintaan yang dikirim ke agen Anda ditangani oleh layanan Google di region ini dan Agen Percakapan (Dialogflow CX) menyimpan data dalam penyimpanan secara fisik dalam region atau lokasi geografis. Untuk mendapatkan performa terbaik, Anda harus memilih region yang dekat dengan layanan dan pengguna akhir Anda.

Setelah agen dibuat, lokasinya tidak dapat diubah. Untuk mengubah lokasi agen, Anda harus mengekspor dan memulihkan ke agen baru dengan lokasi yang berbeda.

Setiap lokasi memiliki setelan terkait yang berlaku di seluruh project Anda. Pada umumnya, Anda tidak perlu mengedit setelan lokasi ini, dan setelan default akan berfungsi dengan baik. Jika sistem Anda memerlukan kunci enkripsi yang dikelola pelanggan (sering kali diwajibkan oleh entitas pemerintah atau industri yang diatur), baca selengkapnya tentang setelan lokasi.

Konsol

Agen Percakapan (Dialogflow CX) menyediakan antarmuka pengguna web yang disebut konsol Dialogflow CX (kunjungi dokumentasi, buka konsol). Anda menggunakan konsol ini untuk membuat, mem-build, dan menguji agen. Alat ini membuat grafik setiap alur sebagai diagram mesin status percakapan, yang membuat agen kompleks mudah dirancang dan dipahami.

Konsol Dialogflow CX berbeda dengan Konsol Google Cloud (kunjungi dokumentasi, buka konsol). Konsol Dialogflow CX digunakan untuk mengelola agen Agen Percakapan (Dialogflow CX), sedangkan Konsol Google Cloud digunakan untuk mengelola setelan Agen Percakapan (Dialogflow CX) khusus Google Cloud (misalnya, penagihan) dan resource Google Cloud lainnya.

Dalam sebagian besar kasus, Anda harus menggunakan konsol Dialogflow CX untuk membuat agen, tetapi Anda juga dapat menggunakan Dialogflow API untuk membuat agen untuk skenario lanjutan.

Integrasi

Agen Percakapan (Dialogflow CX) menyediakan beberapa integrasi bawaan dengan platform percakapan lainnya. Integrasi ini menyediakan antarmuka pengguna untuk pengguna akhir, dan memanggil API untuk Anda. Yang perlu Anda lakukan hanyalah mem-build agen dan secara opsional menerapkan layanan webhook. Setiap integrasi menangani interaksi dengan cara khusus platform, jadi lihat dokumentasi integrasi tertentu untuk mengetahui detailnya.

Interaksi

Untuk setiap giliran percakapan, interaksi akan terjadi. Selama interaksi, pengguna akhir mengirim input ke Agen Percakapan (Dialogflow CX), dan Agen Percakapan (Dialogflow CX) mengirim respons. Anda memiliki dua opsi saat menerapkan sistem untuk menangani interaksi: menggunakan API atau menggunakan integrasi.

Saat menggunakan API, sistem Anda harus menangani hal berikut:

  • Buat agen.
  • Menyediakan antarmuka pengguna untuk pengguna akhir.
  • Panggil Dialogflow API untuk setiap giliran percakapan untuk mengirim input pengguna akhir ke API.
  • Kecuali jika respons agen Anda sepenuhnya statis (tidak umum), Anda harus menghosting layanan webhook untuk menangani fulfillment yang mengaktifkan webhook.

Saat menggunakan integrasi, sistem Anda hanya perlu menangani hal berikut:

  • Buat agen.
  • Secara opsional, terapkan layanan webhook.

Diagram berikut menunjukkan langkah-langkah yang dilakukan untuk satu giliran percakapan dalam sesi.

Diagram alur API.

  1. Pengguna akhir mengetik atau mengucapkan sesuatu, yang dikenal sebagai input pengguna akhir.
  2. Antarmuka pengguna atau sistem integrasi Anda menerima input dan meneruskannya ke Dialogflow API dalam permintaan deteksi intent.
  3. Dialogflow API menerima permintaan intent deteksi. Fungsi ini mencocokkan input dengan parameter intent atau formulir, menetapkan parameter sesuai kebutuhan, dan memperbarui status sesi. Jika perlu memanggil fulfillment yang mengaktifkan webhook, webhook akan mengirim permintaan webhook ke layanan webhook Anda, jika tidak, lanjutkan ke langkah 6.
  4. Layanan webhook Anda menerima permintaan webhook. Layanan Anda akan melakukan tindakan yang diperlukan, seperti memanggil API eksternal, mengkueri atau memperbarui database, dll.
  5. Layanan webhook Anda membuat respons dan mengirimkan respons webhook kembali ke Agen Percakapan (Dialogflow CX).
  6. Agen Percakapan (Dialogflow CX) membuat respons intent deteksi. Jika dipanggil, webhook akan menggunakan respons yang diberikan dalam respons webhook. Jika tidak ada webhook yang dipanggil, webhook akan menggunakan respons statis yang ditentukan di agen. Agen Percakapan (Dialogflow CX) mengirimkan respons deteksi intent ke antarmuka pengguna atau sistem integrasi Anda.
  7. Antarmuka pengguna atau sistem integrasi Anda menerima respons intent deteksi dan meneruskan respons teks atau audio ke pengguna akhir.
  8. Pengguna akhir melihat atau mendengar respons.