5 Kegagalan Voice Agent yang Akan Anda Hadapi di Minggu Pertama — Venky B, Plivo

스크립트

00:00:00Mari kita ajukan beberapa pertanyaan singkat lalu kita langsung mulai. Berapa banyak dari kita di ruangan
00:00:19ini yang pernah membangun agen AI suara? Oke, audiens di sini cukup banyak. Dan berapa banyak dari kalian
00:00:28yang telah membangun agen AI yang sudah diterapkan di tahap produksi? Lumayan. Oke, bagus. Jadi kita akan membahas
00:00:38apa yang biasanya terjadi, ya? Seperti semua orang membicarakan tentang agen AI suara. Solusi
00:00:47serbaguna untuk hampir semua hal di dunia saat ini adalah agen AI suara. Jadi semua orang
00:00:51sedang membangunnya dan mencoba menerapkannya. Kedengarannya hebat saat Anda sedang membuatnya di
00:00:57lingkungan pengembangan Anda. Dan kemudian saat Anda membawanya dari bukti konsep ke produksi,
00:01:03segala sesuatunya mulai gagal. Jadi kita akan membahas lima sudut pandang berbeda mengenai bagaimana, atau apa yang telah
00:01:09kami lihat di PLEVO dengan agen AI suara. Namun sebelum itu, perkenalan singkat dari sisi saya. Saya Venki,
00:01:19pendiri dan CAO. Dia menggunakan jabatan manajer teknik agen. Saya menyebut diri saya chief agent officer dari
00:01:28sudut pandang jabatan. Oke, jadi apa yang, mengapa, mengapa kami bahkan memenuhi syarat untuk
00:01:35diskusi ini dan seperti, apa yang kami lihat yang tidak bisa dilihat oleh banyak perusahaan? Jadi saya akan,
00:01:42saya akan berbicara sedikit tentang perjalanan kami dalam hal bagaimana kami telah berkembang sejauh ini dan kemudian langsung masuk.
00:01:48Anda tahu, kami telah ada selama sekitar 14 tahun. Perjalanan kami telah menjadi platform API pengembang.
00:01:54Dan sekarang, sebuah bisnis agen AI. Kami mulai dengan API suara dan SMS pada tahun 2011.
00:02:01Dan kemudian, sekarang kami terutama berfokus pada penawaran agen AI kami secara penuh.
00:02:08Tumpukan penuh di platform kami. Kami melihat lebih dari satu miliar panggilan suara setiap bulan di seluruh dunia.
00:02:16Dan di situlah kami telah melihat banyak pola ini muncul dalam hal bagaimana,
00:02:20ketika kami bekerja dengan pelanggan kami, apa yang terjadi pada agen AI suara mereka dalam produksi.
00:02:25Kami adalah tim yang terdiri dari 90 orang, dan kami memiliki pendanaan 50 juta di bank. Fakta unik,
00:02:33ini bukan dari investor VC eksternal. Ini semua dari menjadi perusahaan yang menguntungkan,
00:02:38yang telah menempatkan kas tersebut di bank selama bertahun-tahun ini.
00:02:42Beberapa pelanggan yang kami dukung di seluruh dunia. Kami baru saja meninggalkan beberapa logo di sana,
00:02:49tetapi terutama dari sudut pandang penawaran, saya akan membagi ini ke dalam tiga kelompok berbeda.
00:02:54Pertama adalah penawaran agen AI yang dapat diprogram. Kami menyebutnya, maksud saya, ini adalah alur ucapan,
00:03:00bukan produk ucapan-ke-ucapan yang sebenarnya, tetapi itu adalah penawaran yang dapat diprogram.
00:03:05Kami juga memiliki studio agen AI. Ini adalah pembangun visual tanpa kode. Dan kemudian, seperti yang saya katakan,
00:03:11kami mulai dengan API suara. Jadi kami jelas telah membangun ini selama 14 tahun terakhir,
00:03:16trunking SIP dan lapisan streaming audio. Jadi kami tidak bergantung pada pihak lain untuk lapisan telepon
00:03:22atau operator. Seperti itulah bisnis utama yang telah kami bangun selama bertahun-tahun ini.
00:03:26Dan di atasnyalah platform agen AI kami berada.
00:03:32Baiklah. Dengan itu, mari kita masuk ke hal ini, yang saya yakin karena kalian semua telah membangun
00:03:39agen AI, kalian semua telah melihat ini atau membangun ini dalam satu atau lain cara. Dan kita akan menghabiskan
00:03:44lebih banyak waktu untuk ini dalam hal bagaimana seluruh alur terlihat. Apa yang kami lihat dengan
00:03:51pelanggan, dan saya yakin kalian dapat merasakannya adalah, siapa pun yang memikirkan
00:03:56agen AI, yang mereka lakukan adalah memilih sekumpulan kerangka kerja orkestrasi ini dan mereka melakukan
00:04:01pekerjaan yang cukup baik, live kit atau pipecat, membangun agen AI mereka di atasnya. Mereka pikir
00:04:06mereka dapat mengorkestrasi keempat lapisan berbeda ini, ucapan ke teks, LLM, dan TTS
00:04:13dengan deteksi giliran di antaranya dan kita siap berangkat. Agen AI saya bekerja dalam POC
00:04:19dan siap bekerja di produksi. Biasanya itulah yang terjadi. Mereka mengukur
00:04:24latensi mereka dan Anda dapat melihat beberapa latensi indikatif pada slide ini di setiap lapisan. Dan mereka berpikir,
00:04:30ya, ini tampaknya bagus bagi saya untuk apa yang saya butuhkan. Jadi mari kita tempatkan di produksi. Dan kemudian
00:04:36produksi mulai berjalan dan Anda melihat segala jenis mode kegagalan, yang akan kami
00:04:41habiskan sebagian besar waktu dalam ceramah ini. Saya telah menyisihkan waktu di akhir untuk Tanya Jawab jika Anda memiliki
00:04:48pertanyaan, tetapi kita akan langsung mulai dari sini ke berbagai mode kegagalan yang kita lihat.
00:04:53Mari kita mulai dengan yang pertama yang dibicarakan semua orang. Ini adalah mode kegagalan yang paling banyak dibicarakan, yaitu latensi.
00:05:01Saya pikir kita memiliki beberapa pembicaraan tentang agen AI hari ini atau agen AI suara hari ini.
00:05:07Saya cukup yakin semua orang akan menyinggung mode kegagalan khusus ini, itulah sebabnya saya membawanya
00:05:12langsung ke sini dalam hal bagaimana seluruh pengalaman ini bagi pengguna.
00:05:17Biasanya sebagian besar orang mengukurnya dengan waktu ke audio pertama. Yaitu waktu ketika pengguna Anda berhenti berbicara
00:05:26sebagian besar orang mengukurnya dari waktu ke audio pertama. Jadi waktu saat pengguna Anda berhenti berbicara
00:05:34hingga agen Anda mulai berbicara, benar? Dan saya rasa Anda mungkin pernah melihat ini jika Anda
00:05:39membangun agen AI tentang bagaimana rasanya yang bagus atau alami, apa yang terasa agak
00:05:46mengganggu atau terasa mencolok, dan kemudian bagaimana rasanya yang sangat mengganggu, yaitu tahapan bertingkat
00:05:52yang berbeda. Kami menyadari sebagian besar orang ingin berada di bawah 550 karena itulah yang diiklankan oleh
00:06:00platform, solusi, atau lapisan tertentu, tetapi saya rasa kebanyakan berakhir di antara 750
00:06:07hingga 1,2. Di situlah sebagian besar orang berada. Yang kinerjanya sangat buruk berakhir
00:06:13lebih dari 1,2, dan kemudian Anda mulai melihat pengguna menutup telepon. Sekarang, saya akan membagikan
00:06:19kepada Anda apa yang telah kami lihat secara praktis dalam produksi dengan pelanggan yang menggunakannya pada berbagai lapisan
00:06:26dan kemudian solusi untuk beberapa masalah ini. Cara kita ingin memikirkan
00:06:33lapisan ini adalah keseimbangan antara ketiganya, yaitu biaya, kecerdasan, dan latensi,
00:06:42benar? Dan mengapa saya mengangkat ketiga hal ini? Karena ketiganya saling terkait. Saya rasa salah satu
00:06:48hal yang baru saja saya obrolkan dengan beberapa orang di luar. Salah satu hal,
00:06:51selama satu tahun terakhir, kita telah melihat banyak inovasi, lonjakan kecerdasan yang besar di sisi LLM,
00:06:58benar? Dan sebagian besar peningkatan kecerdasan ini datang dalam bentuk penalaran atau pembelajaran penguatan
00:07:05dan seterusnya. Ironisnya dengan agen suara, hampir selalu LLM atau agen yang berbicara
00:07:11harus menonaktifkan fitur penalaran, benar? Jadi semua kemajuan yang kita miliki di lapisan LLM
00:07:19dalam satu tahun terakhir, tidak ada satupun yang bahkan berlaku di sini sekarang, benar?
00:07:25Tentu saja Anda memiliki model yang lebih baik yang dapat melakukan pemahaman instruksi
00:07:29atau pemanggilan alat yang lebih baik, tetapi hampir semua kecerdasan yang telah dibangun di lapisan penalaran
00:07:34semuanya dinonaktifkan secara default jika Anda ingin kinerjanya cukup cepat. Jadi, itu adalah salah satu
00:07:39ironi yang kita temui. Lantas, bagaimana cara menyeimbangkan kecerdasan, biaya, dan latensi?
00:07:44Mari kita lihat beberapa opsi yang ada di pasaran,
00:07:48benar? Dan saya khusus memilih LLM karena jika Anda melihat grafik sebelumnya, LLM adalah
00:07:55semacam kelompok latensi tertinggi yang menambah masalah ini, benar? Dan jika Anda melihat
00:08:02model frontier, yang menurut saya sebagian besar digunakan oleh orang-orang secara default seperti OpenAI, Claude,
00:08:09Gemini, P50 dan TTFT mereka berkisar sekitar 450 hingga 500 pada hari yang baik dan bisa
00:08:17melonjak, benar? P90, P95 bisa dengan mudah naik melebihi 1,2, bahkan 1,3 detik,
00:08:25dan itu tidak bagus untuk pengalaman agen secara keseluruhan. Jadi, itulah model frontier Anda.
00:08:31Sekarang, ada opsi lain, yaitu Cerebras atau Groq, yang terkenal
00:08:38dan populer karena menghasilkan banyak token atau token dengan sangat cepat, benar? Ini berfungsi, tetapi agar Anda mendapatkan
00:08:45latensi khusus atau waktu ke token pertama pada hal ini, Anda memerlukan kapasitas khusus dan itu sangat mahal.
00:08:51Di situlah saya berbicara tentang biaya sebagai salah satu hal yang harus diseimbangkan, benar? Biayanya sangat mahal.
00:08:56Dan jika Anda berbicara dengan siapapun dari tim Groq atau Cerebras, mereka akan memberi tahu Anda,
00:09:01Anda harus memesan 12 bulan sebelumnya untuk kapasitas khusus. Mereka sudah penuh dipesan untuk 12 bulan ke depan.
00:09:05Jadi, itu adalah opsi yang cukup mahal. Dan Anda benar-benar harus memastikan bahwa model
00:09:11yang Anda terapkan pada beberapa lapisan infrastruktur ini akan tetap ada 12 bulan dari sekarang. Dan itu adalah
00:09:17investasi besar serta ketidakpastian yang besar. Jadi, apa opsi yang realistis untuk tingkat produksi,
00:09:27agen yang berkualitas baik dan mampu menyeimbangkan ketiganya? Inilah yang telah
00:09:34berhasil bagi kami, yaitu model sumber terbuka. Jelas ada banyak sekali model dalam hal
00:09:41ragam dan variasi yang dapat Anda pilih. Saya khusus membahas dua model yang kami gunakan,
00:09:47yaitu Qwen 3.5 dan Gemma 4. Ini adalah model sumber terbuka yang canggih di pasaran saat ini,
00:09:56dan kami telah melakukan banyak pengujian tolok ukur seputar kinerjanya.
00:10:02Mungkin tampak menakutkan untuk berpikir, baiklah, saya punya modelnya, sekarang saya harus menghostingnya, menjalankannya
00:10:10di GPU saya sendiri dan seterusnya. Tetapi jika Anda secara konsisten menargetkan di bawah 300 milidetik, hal ini
00:10:17kami telah melihat ini menjadi opsi yang hebat untuk menyeimbangkan antara latensi, biaya, dan kecerdasan.
00:10:23Sekarang, beberapa penyelaman lebih mendalam di sini. Jika Anda hanya melakukan bahasa Inggris, Qwen 3.5 atau Gemma keduanya bekerja dengan baik.
00:10:29Tetapi jika Anda melakukan multibahasa, audiens internasional, bahasa yang berbeda, Gemma 4 adalah
00:10:35model yang jauh lebih baik untuk itu. Kami telah melihat evaluasi kesuburan token. Pada dasarnya apa artinya,
00:10:44jika saya mendeskripsikan istilah tersebut, adalah berapa banyak token yang diperlukan untuk menghasilkan satu kata dalam
00:10:48bahasa tersebut? Oke, jadi Gemma jauh, jauh lebih baik, setidaknya 2,5 hingga 3 kali lebih baik daripada Qwen 3.5 dari
00:10:56perspektif tersebut. Jadi waktu menuju kata-kata Anda jauh lebih cepat pada Gemma 4, dengan hal-hal lain dianggap sama, pada
00:11:04basis multilingual. Nah, ukuran apa yang Anda pilih, eh, di lapisan LLM? Eh, mixture of experts biasanya
00:11:12berjalan dengan baik. Eh, mixture of experts tiga atau empat miliar biasanya berjalan dengan baik. Eh, masalah dengan
00:11:17mixture of experts adalah jika ada yang ingin menempuh jalur fine-tuning, itu bisa menjadi
00:11:22tantangan, eh, karena melakukan fine-tuning pada model mixture of experts itu tidak mudah. Eh, Anda bisa berisiko merusak
00:11:28model tersebut, eh, dalam banyak kasus. Jadi, itu adalah salah satu tantangan yang kita lihat pada mixture of experts, tetapi biasanya secara langsung,
00:11:35itu membawa Anda 90% lebih dekat ke tujuan yang Anda inginkan, bahkan tanpa fine-tuning atau pekerjaan khusus
00:11:42apa pun pada model tersebut. Eh, jadi itulah keunggulan dari mixture of experts. Eh, sekarang jika Anda ingin melakukan fine-tuning,
00:11:48dan, dan Anda ingin mendalaminya dan berkata seperti, lihat, saya bekerja untuk domain tertentu, perawatan kesehatan,
00:11:53atau apa pun itu, benar, dan saya ingin memastikan saya dapat melakukan fine-tuning pada model saya, Anda setidaknya harus mulai
00:11:58dengan, eh, model 8 miliar, 12 miliar, setidaknya, dari kondisi kita saat ini, mungkin, mungkin enam bulan dari sekarang,
00:12:04model 4 miliar, eh, model 4 miliar mengalahkan model 8 miliar, eh, dengan telak, tetapi untuk hari ini, eh, apa yang telah kita
00:12:11lihat adalah, eh, Anda minimal membutuhkan model 8 miliar atau 12 miliar, eh, karena Anda mencari dua
00:12:16hal dari model-model ini. Pertama, tentu saja, token yang cepat, tetapi, eh, kemampuan mengikuti instruksi yang baik, oke? Dan
00:12:23hal kedua adalah rasio keberhasilan yang sangat tinggi, eh, dalam pemanggilan fungsi atau tool calling, karena jika Anda dapat melakukan kedua hal ini
00:12:29dengan baik, maka Anda sudah mencapai 70, 80% tanpa harus melakukan fine-tuning sama sekali, fine-tuning model apa pun,
00:12:35seperti model yang akan langsung berfungsi secara langsung, benar? Eh, jadi, jadi itulah, eh, resep kami. Kami bahkan,
00:12:42eh, menjalankan dua varian, satu model hasil fine-tuning untuk industri tertentu, dan kemudian untuk, eh,
00:12:50sebagian besar kasus penggunaan generik, eh, eh, model MOE dapat langsung berfungsi dengan baik. Eh, ada beberapa
00:12:56tips dan trik lagi yang akan kita bahas di slide berikutnya di mana kita melihat model mengalami kegagalan, tetapi, tetapi di situlah
00:13:00posisi kita, eh, dari sudut pandang latensi LLM. Um, baiklah, waktu saya
00:13:07mulai mendesak, jadi saya akan mempercepat ini. Eh, sekarang ada beberapa varian lain dalam hal ini. Eh,
00:13:12orang membangun agen dengan, eh, gabungan beberapa model. Yang mereka lakukan adalah, tahu kan, untuk, eh, bagian
00:13:19percakapan, mereka memiliki model percakapan, yaitu model yang jauh lebih rendah, eh, lebih kecil, dan kemudian, eh,
00:13:24tahu kan, mungkin bahkan model tiga miliar, dan kemudian untuk tool calling, mereka memiliki model yang jauh lebih besar,
00:13:27sehingga mereka memiliki, eh, peningkatan rasio keberhasilan tool calling di sana. Eh,
00:13:35maaf. Yang kedua adalah, eh, asumsikan transkripsi Anda akan rentan mengalami kesalahan. Seperti, itu,
00:13:42itu, eh, sesuatu yang harus Anda jadikan prinsip, eh, saat Anda membangun agen AI, bahkan jika Anda memiliki
00:13:49mesin transkripsi terbaik di luar sana, dan saya akan, saya akan tunjukkan alasannya, benar? Seperti,, eh, mesin transkripsi
00:13:55canggih yang ada di luar sana, eh, tahu kan, bisa membawa Anda ke, eh, tingkat kesalahan kata (word error rate) empat hingga enam persen,
00:14:02benar? Eh, dan ini pada set evaluasi yang dikenal. Pada panggilan dunia nyata yang bising dengan,
00:14:10tahu kan, seperti, eh, aksen, seperti orang yang memiliki berbagai jenis aksen, eh, kosakata domain,
00:14:15dan seterusnya. Hal-hal tersebut biasanya berujung pada dua digit dari sudut pandang tingkat kesalahan kata,
00:14:21benar? Eh, sekarang Anda, tentu saja Anda dapat melakukan fine-tuning, tahu kan, mengambil model open source dan melakukan fine-tuning,
00:14:25eh, tetapi biasanya kami melihat, seperti, apa yang sering rusak di sini, dan ada pola di sini dalam hal apa
00:14:31yang rusak. Jadi, nama proper, jargon, eh, nomor telepon, seperti digit nomor telepon yang hilang secara acak,
00:14:38eh, penggantian yang salah. Saya akan, saya akan membahas beberapa contoh tentang, seperti, bagaimana Anda mengatasi masalah ini
00:14:43alamat. Saat Anda mencoba mengumpulkan alamat yang panjang, eh, tahu kan, mesin transkripsi
00:14:48bisa saja melewatkan beberapa bagian darinya. Bahasa campur kode (code-switch). Saya, saya akan ambil contoh bahasa
00:14:55bahasa yang saya kuasai, karena itu mudah bagi saya untuk masukkan ke dalam seloka, di mana, ya, jika Anda
00:15:01mengambil bahasa Inggris, tetapi ditulis dalam aksara yang berbeda, itulah yang digunakan untuk bahasa Hindi,
00:15:06benar? Seperti, ini adalah bahasa Inggris yang ditulis dalam skrip tersebut, benar? Padahal, seperti, versi bahasa Inggris yang sebenarnya
00:15:11dari ini adalah, halo, apa kabar? Jadi, jika, jika saya berbicara kepada audiens di negara lain,
00:15:16di mana saya menggunakan bahasa campur kode, dan saya mulai menerima bahasa Inggris saya dalam, eh, bentuk skrip yang
00:15:21berbeda, semuanya mulai rusak dari mesin transkripsi ke lapisan LLM, dan kemudian
00:15:26seterusnya, karena LLM Anda kemudian mulai menghasilkan output dalam skrip seperti itu berkali-kali, dan kemudian TTS Anda
00:15:32menjadi kacau. Oke, jadi, jadi ini, eh, sangat penting untuk diwaspadai, dan jika Anda ingin membangun
00:15:38agen Anda terlepas dari mesin transkripsi, Anda perlu membangun lapisan yang menormalisasi semua ini,
00:15:44benar? Kita akan membahas solusinya sebentar lagi. Dan ada kasus lain, yaitu, eh, Hindi,
00:15:48hanya dalam huruf Latin atau, atau, atau, tahu kan, Romawi, benar? Yang mana, seperti, ini adalah bahasa Hindi, tetapi dibaca
00:15:54seperti bahasa Inggris, yang sekali lagi mengacaukan segalanya, eh, tahu kan, di hilir. Itu hanyalah contoh. Ini berlaku untuk,
00:15:59tahu kan, bahasa Arab, Mandarin, eh, Jepang, atau apa pun itu, eh, hampir semua bahasa. Jadi,
00:16:04apa yang benar-benar membawa perubahan pada lapisan transkripsi? Untuk nama diri,
00:16:11kami menyarankan agar Anda tidak hanya menggunakan peningkatan kata kunci. Saya rasa banyak mesin transkripsi,
00:16:16mesin menyediakan peningkatan kata kunci di mana Anda dapat memasukkan kata-kata khusus ke dalam mesin mereka,
00:16:21tetapi melakukan peningkatan kata kunci dinamis. Artinya, jangan biarkan kata kunci itu aktif selama seluruh panggilan.
00:16:26Cukup tambahkan secara dinamis saat Anda merasa membutuhkannya sebagai jawaban, sehingga Anda mendapatkan akurasi tertinggi,
00:16:32artinya pada tahap panggilan yang berbeda, mesin transkripsi akan memiliki berbagai kata kunci yang,
00:16:38ditingkatkan selama fase yang berbeda, ya? Dan itulah yang kami lihat paling efektif, karena jika Anda
00:16:43hanya mengotori konteks mesin transkripsi dengan banyak kata kunci, itu akan mulai berhalusinasi lagi,
00:16:49benar? Jadi, itulah yang biasanya paling efektif. Ya, lakukan pemrosesan pasca pada transkrip
00:16:55Anda dengan LLM, ya? Karena LLM Anda memiliki konteks domain, sedangkan mesin transkripsi tidak.
00:17:02Jadi, banyak kata yang dikatakannya, saya akan beri beberapa contoh, mungkin tidak masuk akal. Ini adalah
00:17:07transkripsi, seperti nomor telepon dari mesin transkripsi, kan? Menurut Anda, apa huruf E itu?
00:17:13Benar? Jika Anda memberikannya ke LLM, ia tahu itu adalah angka tiga. Begitu pula dengan angka satu itu, itu adalah digit
00:17:18satu. Jadi, mesin transkripsi Anda sering kali bisa salah mengartikannya, tetapi ketika Anda memprosesnya pasca
00:17:24dengan lapisan LLM, itu akan langsung mengoreksinya dari sudut pandang pengumpulan. Maksud saya, dan yang terakhir,
00:17:30seperti yang saya bilang, transliterasi adalah keluaran STT Anda yang bersifat multibahasa juga dinormalisasi,
00:17:37menggunakan LLM yang Anda transliterasikan terlebih dahulu atau menggunakan semacam mesin transliterasi neural.
00:17:46Ada banyak sumber terbuka yang tersedia. Anda bisa memilih salah satunya,
00:17:49benar? Yang akan melakukan semua pekerjaan itu untuk Anda. Kirim transkrip yang sudah dibersihkan secara konsisten,
00:17:55terlepas dari mesin transkripsinya, ke LLM Anda.
00:18:00Baiklah. Poin ketiga yang biasanya kami temui adalah pengumpulan data. Di sinilah saya pikir 50 hingga 60
00:18:05persen agen AI melakukan kesalahan cukup fatal. Dan kami suka memandangnya sebagai masalah UX,
00:18:14tetapi khusus untuk suara. Jadi, pikirkan tentang model data, bukan sekadar transkrip yang masuk ke LLM lalu mencoba
00:18:21mencari tahu isi transkrip tersebut. Jadi, mari ambil inspirasi dari, saya berasumsi sebagian besar dari kita adalah
00:18:27pengembang di sini. Ambil inspirasi dari kelas data Python, Pydantic,
00:18:32Zod dari TypeScript atau ruas formulir di antarmuka pengguna, benar? Jika Anda mulai memikirkannya dari sudut pandang masalah itu,
00:18:39kita telah melihat akurasi meningkat dari 30% menjadi sekitar 95% dari sudut pandang pengumpulan data
00:18:46ketika Anda mulai berpikir dengan cara tersebut. Jadi, tentukan bentuknya sebelum Anda bertanya, benar? Alih-alih
00:18:52membiarkannya terbuka, bisakah Anda membatasinya? Bisakah nomor telepon menjadi
00:18:58ruas tipe nomor telepon? Begitu Anda melakukannya, Anda tahu berapa banyak digit yang harus dimilikinya.
00:19:03Anda dapat melakukan validasi di atasnya, dan juga menentukan nilai apa saja yang diizinkan di dalamnya.
00:19:10Jadi, dalam contoh sebelumnya, jika huruf E muncul di tengah nomor telepon dan Anda tahu
00:19:15itu adalah nomor telepon, Anda langsung tahu apakah akan menebaknya sebagai angka tiga dan mengonfirmasikannya dengan pengguna,
00:19:20atau Anda tahu itu adalah kesalahan, lalu Anda memvalidasinya dan meminta pengguna untuk mengulanginya, kan?
00:19:26Jadi, saya pikir itu adalah salah satu pola umum yang kita lihat di sini dari pola pengumpulan.
00:19:31Nama, menurut saya, adalah hal yang menarik. Saya baru saja memilih nama yang sulit diucapkan.
00:19:36Tidak mungkin manusia bisa mengucapkannya dengan benar. Dan tidak mungkin mesin transkripsi kita bisa menangkapnya dengan benar,
00:19:43berapa pun kali Anda mencobanya. Jadi, saat Anda mulai memandangnya sebagai ruas data
00:19:47lalu memiliki aturan dan mekanisme konfirmasi untuk mengeja ini huruf demi huruf,
00:19:53hanya dengan cara itulah Anda bisa mendapatkannya dengan benar. Jika tidak, hasilnya akan sangat kacau
00:19:58dalam hal bagaimana Anda mengumpulkannya melalui panggilan suara. Dan itu hanyalah contoh dari
00:20:03apa yang saya bicarakan terkait bagian pengumpulan data.
00:20:11Bagian lain yang mengalami kegagalan besar adalah nilai relatif, dengan tanggal sebagai salah satu contohnya.
00:20:18Jika seseorang mengatakan hari Rabu depan jam 8, itu bisa berarti pukul 8 pagi atau 8 malam, lalu mencari tahu
00:20:25tanggal pastinya sekali lagi menjadi masalah yang sangat terbatas. Jika Anda tahu ini adalah ruas tanggal dan waktu
00:20:30dan Anda mengambil tanggal saat ini lalu mencari tahu apa nilai tersebut berdasarkan tanggal tersebut, benar?
00:20:35Jadi, begitulah cara Anda memastikan bahwa Anda melakukan ini dengan kombinasi LLM dan pemanggilan alat,
00:20:39di mana pemanggilan alat tersebut melakukan banyak pekerjaan berat untuk Anda dari sudut pandang ruas data.
00:20:44Ya. Dan kemudian Anda menjalankan ini dari perspektif pengujian unit.
00:20:50Jadi, semua evaluasi Anda perlu mulai memperlakukan ruas-ruas ini sebagai pengujian unit. Dan selama pengujian unit Anda
00:20:58divalidasi dan lulus, agen Anda akan menjadi andal dan dapat diulang.
00:21:06Anda tahu, agen Anda akan menjadi andal dan konsisten.
00:21:10Anda tidak perlu menjalankan ratusan kasus pengujian agen ujung ke ujung
00:21:15hanya untuk mengetahui satu pengumpulan data kolom rusak. Lakukan eval pada tingkat kolom dan unit.
00:21:24Dan ya, seperti yang saya katakan, pola pikir ini membuat segalanya lebih terstruktur
00:21:30daripada berharap saya akan menulis banyak prompt, terus mengubah prompt setiap kali
00:21:36dengan beberapa karakter. Dan entah bagaimana teknik prompt saya akan membuat LLM jauh lebih patuh
00:21:41pada instruksi dan secara ajaib mulai mengikuti hal-hal tersebut. Faktanya, seperti yang saya katakan,
00:21:47kita telah melihat akurasi mencapai 95, 97% tanpa harus melakukan fine-tune pada model.
00:21:53Baiklah. Dan intinya pada dasarnya adalah memecah konteks
00:21:57sedang dilakukan agen pada saat itu dengan status spesifik dari apa yang dialami agen.
00:22:04Baiklah. Saya akan segera melewati bagian ini dari segi
00:22:10waktu. Saya lihat sisa waktu saya tinggal tiga menit. Semoga itu hanya bug, tetapi kita biarkan saja.
00:22:16Oke. Jadi, ini adalah area keempat tempat kita melihat adanya masalah. Sebagian besar orang mengambil
00:22:24output LLM lalu mengirimkannya ke TTS. Tentu saja, ada banyak TTS yang bagus di pasaran
00:22:30yang menangani banyak pekerjaan berat, tetapi sering kali hasilnya berantakan. Yang kami sarankan dan
00:22:37yang telah kami lihat adalah Anda biasanya ingin memiliki lapisan normalisasi antara LLM Anda dan apa
00:22:43yang dimasukkan ke TTS. Anda tidak mengirim output LLM langsung ke TTS, bukan? Mari kita bahas
00:22:50beberapa contoh. Dasarnya adalah menghapus emoji dan markdown sebelum sintesis apa pun ke dalam TTS.
00:22:58Sebagian besar alur orkestrasi melakukan ini, seperti LiveKit atau PipeKit yang akan melakukannya untuk Anda
00:23:02jika Anda mengatur beberapa flag. Jadi, pastikan jika Anda tidak menggunakannya atau
00:23:08membangunnya dari awal, Anda telah menetapkan ini secara eksplisit karena Anda tidak ingin emoji muncul
00:23:12pada teks yang dibacakan, atau markdown muncul di sana.
00:23:17Oke. Contoh yang lebih umum adalah kamus kustom. Sebagian besar mesin TTS menyediakan ini
00:23:23untuk Anda, seperti cara mengucapkan kata-kata kustom, baik itu kata benda khusus, merek,
00:23:30akronim, dan sebagainya. Jadi, atur itu saat Anda berpindah dari output LLM ke TTS,
00:23:36karena jika tidak, hasilnya akan berantakan. Dan saya akan tunjukkan contoh bagaimana kami mengujinya.
00:23:40Hal lainnya adalah sebagian besar mesin juga memberi Anda kontrol kecepatan. Jadi, jika Anda tahu Anda sedang mengucapkan
00:23:47suatu entitas, perlambat lajunya, buat agen Anda melambat. Misalnya pada 0,8x atau 0,7x, sehingga ia dapat
00:23:54melafalkan entitas spesifik tersebut dengan jelas dan tidak salah mengucapkan email, nomor telepon,
00:24:00atau nama huruf demi huruf. Dan ya, normalisasi semua hal yang rumit, seperti email, mata uang, tanggal.
00:24:09Jangan serahkan itu pada TTS. Sebagian besar memang bisa melakukannya, tetapi jangan andalkan TTS untuk melakukannya.
00:24:15Bangun lapisan normalisasi Anda sendiri sehingga di kemudian hari jika Anda perlu mengganti TTS
00:24:21atau karena alasan tertentu TTS yang pertama sedang bermasalah dan Anda ingin menggunakan TTS lain,
00:24:25Anda tidak perlu bergantung secara native pada mesin TTS tersebut, melainkan membangunnya secara internal
00:24:32untuk dikelola sendiri. Dan ya, saya tidak membawa catatan saya di sini, tetapi saya tidak memiliki nama belakang saya di sana.
00:24:39Jadi, ujian pertama saya adalah jika sistem tidak dapat mengucapkan nama belakang saya atau nama perusahaan saya,
00:24:44itu sudah gagal. Nama belakang saya adalah Balasubramanian,
00:24:50dan jika Anda tidak dapat mengucapkannya menggunakan agen AI suara, itu adalah ujian bagi saya. Saya tahu
00:24:56agen tersebut akan salah mengucapkan banyak kata yang perlu dieja dari hari ke hari.
00:25:04Yang kedua adalah nama perusahaan kami, Pliwo. Banyak mesin yang mengucapkannya Pliwo atau yang lainnya.
00:25:09Namun, saya pikir kemampuan untuk mengontrol hal ini secara spesifik dalam pipeline Anda sangatlah krusial.
00:25:16Dan jika Anda membangun produk yang menghadap langsung ke pelanggan, berikan opsi ini kepada pelanggan Anda.
00:25:21Baiklah, saya akan segera melewati dua slide terakhir karena waktu saya sudah sangat habis.
00:25:26Baiklah, saya akan segera melewati dua slide terakhir karena waktu saya sudah sangat habis.
00:25:32Deteksi akhir giliran bicara (end-of-turn), saya pikir ini adalah topik terpisah, tetapi saya akan
00:25:36segera menampilkan semua poin agar Anda dapat melihatnya sekilas. Dan jika Anda ingin mengobrol
00:25:41setelah ini, kita bisa membahasnya. Baiklah, saya akan membiarkannya tampil selama sekitar lima
00:25:49detik dan kemudian kita bisa mengobrol di luar sesi ini. Waktu saya benar-benar sudah habis. Lalu,
00:25:53yang terakhir adalah penyelaan (barging) dan backchanneling. Ada banyak pembahasan tentang
00:25:58model speech-to-speech yang melakukan sebagian hal ini, tetapi kita telah melihat bagaimana kita dapat melakukan semua ini
00:26:03dalam pipeline speech-to-speech. Anda sebenarnya tidak memerlukan model speech-to-speech khusus untuk melakukan semuanya.
00:26:07Sekali lagi, saya akan menayangkan ini di slide dan menutupnya sampai di sini.
00:26:15Baiklah. Sepertinya kita tidak punya waktu untuk tanya jawab. Kita bisa membawanya ke luar sesi jika ada waktu, tetapi
00:26:19semoga ini bermanfaat dan memberi Anda beberapa wawasan tentang apa yang kita lihat dalam produksi
00:26:24dengan miliaran panggilan dalam skala besar. Baiklah. Terima kasih.
00:26:29Sampai jumpa di lain waktu.

설명

Nearly every intelligence gain in language models over the past year has come from letting them think longer. Voice agents have to turn thinking off, because the budget between a user finishing a sentence and the agent starting to speak is measured in hundreds of milliseconds. Venky B is founder and CEO of Plivo, which carries over a billion voice calls a month and has been building telephony infrastructure since 2011, and this talk is a tour of what breaks when a voice agent leaves the demo and meets production. On latency his numbers are blunt. Teams aim for under 550 milliseconds and most land between 750 and 1,200, and past that users simply hang up. His team's answer is smaller open source models hosted themselves, targeting under 300 milliseconds, chosen partly on how many tokens a language needs per word. The failure he says wrecks half of all deployments is data collection, and his fix is to stop treating it as transcription at all. Decide the shape before you ask. A phone number is a typed field with a length and a validator, so a stray letter in the middle is either corrected with confidence or sent back to the caller, and evaluation happens per field as a unit test rather than end to end. That reframing took his accuracy from roughly 30 percent to the mid nineties with no fine tuning. He is equally specific about transcription being brittle by default, especially with proper nouns and code switched languages, and about never feeding model output straight into speech synthesis. His own benchmark for a vendor is whether it can pronounce his surname and his company's name. Speaker info: - https://x.com/bevenky - https://www.linkedin.com/in/bevenky/ Timestamps: 0:00 - Where voice agents break between demo and production 2:20 - A billion calls a month 4:28 - The pipeline everyone builds first 5:34 - Failure one: latency and time to first audio 6:42 - Balancing cost, intelligence, and latency 7:48 - Why thinking models do not fit 9:56 - Choosing and sizing open source models 13:06 - Failure two: assume transcription is brittle 15:14 - Code switched languages break everything downstream 16:17 - Dynamic keyword boosting and LLM post processing 18:24 - Failure three: collect data as typed fields 20:31 - Relative dates and other traps 21:37 - Field level evals instead of end to end 22:47 - Failure four: normalize before synthesis 25:00 - Failure five: turn detection and barge in

커뮤니티 글

아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!

이 영상에 대해 글쓰기