Agen dukungan pelanggan
Panduan ini menjelaskan cara memanfaatkan kemampuan percakapan canggih Claude untuk menangani pertanyaan pelanggan secara real-time, menyediakan dukungan 24/7, mengurangi waktu tunggu, dan mengelola volume dukungan tinggi dengan respons akurat dan interaksi positif.
Sebelum membangun dengan Claude
Putuskan apakah akan menggunakan Claude untuk obrolan dukungan
Berikut adalah beberapa indikator utama bahwa Anda sebaiknya menggunakan LLM seperti Claude untuk mengotomatisasi bagian dari proses dukungan pelanggan Anda:
Beberapa pertimbangan untuk memilih Claude dibandingkan LLM lainnya:
- Anda memprioritaskan percakapan yang alami dan bernuansa: Pemahaman bahasa Claude yang canggih memungkinkan percakapan yang lebih alami dan sadar konteks yang terasa lebih manusiawi daripada obrolan dengan LLM lainnya.
- Anda sering menerima pertanyaan kompleks dan terbuka: Claude dapat menangani berbagai topik dan pertanyaan tanpa menghasilkan respons yang sudah jadi atau memerlukan pemrograman ekstensif dari permutasi ucapan pengguna.
- Anda membutuhkan dukungan multibahasa yang dapat diskalakan: Kemampuan multibahasa Claude memungkinkannya terlibat dalam percakapan dalam lebih dari 200 bahasa tanpa perlu chatbot terpisah atau proses terjemahan ekstensif untuk setiap bahasa yang didukung.
Tentukan interaksi obrolan ideal Anda
Buatlah garis besar interaksi pelanggan yang ideal untuk menentukan bagaimana dan kapan Anda mengharapkan pelanggan berinteraksi dengan Claude. Garis besar ini akan membantu menentukan persyaratan teknis dari solusi Anda.
Berikut adalah contoh interaksi obrolan untuk dukungan asuransi mobil:
- Pelanggan: Memulai pengalaman obrolan dukungan
- Claude: Menyapa pelanggan dengan hangat dan memulai percakapan
- Pelanggan: Bertanya tentang asuransi untuk mobil listrik baru mereka
- Claude: Memberikan informasi relevan tentang cakupan kendaraan listrik
- Pelanggan: Mengajukan pertanyaan terkait kebutuhan unik untuk asuransi kendaraan listrik
- Claude: Merespons dengan jawaban yang akurat dan informatif serta memberikan tautan ke sumber
- Pelanggan: Mengajukan pertanyaan di luar topik yang tidak terkait dengan asuransi atau mobil
- Claude: Mengklarifikasi bahwa ia tidak membahas topik yang tidak terkait dan mengarahkan pengguna kembali ke asuransi mobil
- Pelanggan: Mengungkapkan minat untuk mendapatkan penawaran asuransi
- Claude: Mengajukan serangkaian pertanyaan untuk menentukan penawaran yang sesuai, beradaptasi dengan respons mereka
- Claude: Mengirim permintaan untuk menggunakan alat API pembuat penawaran bersama dengan informasi yang diperlukan yang dikumpulkan dari pengguna
- Claude: Menerima informasi respons dari penggunaan alat API, mensintesis informasi menjadi respons alami, dan menyajikan penawaran yang diberikan kepada pengguna
- Pelanggan: Mengajukan pertanyaan lanjutan
- Claude: Menjawab pertanyaan lanjutan sesuai kebutuhan
- Claude: Memandu pelanggan ke langkah selanjutnya dalam proses asuransi dan mengakhiri percakapan
Pecah interaksi menjadi tugas-tugas unik
Obrolan dukungan pelanggan adalah kumpulan dari beberapa tugas berbeda, mulai dari menjawab pertanyaan hingga pengambilan informasi hingga mengambil tindakan atas permintaan, yang terbungkus dalam satu interaksi pelanggan. Sebelum Anda mulai membangun, pecah interaksi pelanggan ideal Anda menjadi setiap tugas yang ingin Anda agar Claude dapat melakukannya. Ini memastikan Anda dapat memberikan prompt dan mengevaluasi Claude untuk setiap tugas, dan memberi Anda gambaran yang baik tentang berbagai interaksi yang perlu Anda perhitungkan saat menulis kasus uji.
Berikut adalah tugas-tugas utama yang terkait dengan contoh interaksi asuransi di atas:
-
Salam dan panduan umum
- Menyapa pelanggan dengan hangat dan memulai percakapan
- Memberikan informasi umum tentang perusahaan dan interaksi
-
Informasi Produk
- Memberikan informasi tentang cakupan kendaraan listrik
Ini akan memerlukan Claude memiliki informasi yang diperlukan dalam konteksnya, dan mungkin menyiratkan bahwa integrasi RAG diperlukan.
- Menjawab pertanyaan terkait kebutuhan asuransi kendaraan listrik yang unik
- Menjawab pertanyaan lanjutan tentang penawaran atau detail asuransi
- Menawarkan tautan ke sumber saat sesuai
- Memberikan informasi tentang cakupan kendaraan listrik
-
Manajemen Percakapan
- Tetap pada topik (asuransi mobil)
- Mengarahkan pertanyaan di luar topik kembali ke subjek yang relevan
-
Pembuatan Penawaran
- Mengajukan pertanyaan yang sesuai untuk menentukan kelayakan penawaran
- Menyesuaikan pertanyaan berdasarkan respons pelanggan
- Mengirimkan informasi yang dikumpulkan ke API pembuatan penawaran
- Menyajikan penawaran yang diberikan kepada pelanggan
Tetapkan kriteria keberhasilan
Bekerjalah dengan tim dukungan Anda untuk menentukan kriteria keberhasilan yang jelas dan tulis evaluasi terperinci dengan tolok ukur dan tujuan yang dapat diukur.
Berikut adalah kriteria dan tolok ukur yang dapat digunakan untuk mengevaluasi seberapa sukses Claude melakukan tugas yang ditentukan:
Berikut adalah kriteria dan tolok ukur yang dapat digunakan untuk mengevaluasi dampak bisnis dari penggunaan Claude untuk dukungan:
Cara mengimplementasikan Claude sebagai agen layanan pelanggan
Pilih model Claude yang tepat
Pilihan model tergantung pada trade-off antara biaya, akurasi, dan waktu respons.
Untuk obrolan dukungan pelanggan, claude-opus-4-20250514
sangat cocok untuk menyeimbangkan kecerdasan, latensi, dan biaya. Namun, untuk kasus di mana Anda memiliki alur percakapan dengan beberapa prompt termasuk RAG, penggunaan alat, dan/atau prompt konteks panjang, claude-3-haiku-20240307
mungkin lebih cocok untuk mengoptimalkan latensi.
Bangun prompt yang kuat
Menggunakan Claude untuk dukungan pelanggan memerlukan Claude memiliki cukup arahan dan konteks untuk merespons dengan tepat, sambil memiliki cukup fleksibilitas untuk menangani berbagai pertanyaan pelanggan.
Mari kita mulai dengan menulis elemen-elemen prompt yang kuat, dimulai dengan prompt sistem:
User
pertama (dengan satu-satunya pengecualian adalah prompting peran). Baca lebih lanjut di Memberi Claude peran dengan prompt sistem.Sebaiknya memecah prompt kompleks menjadi subbagian dan menulis satu bagian pada satu waktu. Untuk setiap tugas, Anda mungkin menemukan kesuksesan yang lebih besar dengan mengikuti proses langkah demi langkah untuk menentukan bagian-bagian prompt yang dibutuhkan Claude untuk melakukan tugas dengan baik. Untuk contoh dukungan asuransi mobil ini, kita akan menulis secara bertahap semua bagian untuk prompt dimulai dengan tugas “Salam dan panduan umum”. Ini juga membuat debugging prompt Anda lebih mudah karena Anda dapat lebih cepat menyesuaikan bagian-bagian individual dari keseluruhan prompt.
Kita akan menempatkan semua bagian ini dalam file bernama config.py
.
Kita kemudian akan melakukan hal yang sama untuk informasi asuransi mobil dan asuransi mobil listrik kita.
Sekarang kita memiliki konten statis, mari tambahkan setidaknya 4-5 contoh interaksi “baik” untuk memandu respons Claude. Contoh-contoh ini harus mewakili interaksi pelanggan ideal Anda dan dapat mencakup pagar pembatas, panggilan alat, dll.
Anda juga akan ingin menyertakan instruksi penting yang menguraikan Hal yang Boleh dan Tidak Boleh dilakukan tentang bagaimana Claude harus berinteraksi dengan pelanggan. Ini mungkin diambil dari pagar pembatas merek atau kebijakan dukungan.
Sekarang mari kita gabungkan semua bagian ini menjadi satu string untuk digunakan sebagai prompt kita.
Tambahkan kemampuan dinamis dan agentic dengan penggunaan alat
Claude mampu mengambil tindakan dan mengambil informasi secara dinamis menggunakan fungsionalitas penggunaan alat sisi klien. Mulailah dengan membuat daftar alat atau API eksternal yang harus digunakan prompt.
Untuk contoh ini, kita akan mulai dengan satu alat untuk menghitung penawaran.
Contoh kalkulator penawaran asuransi:
Deploy prompt Anda
Sulit untuk mengetahui seberapa baik prompt Anda bekerja tanpa men-deploy-nya dalam pengaturan produksi uji dan menjalankan evaluasi, jadi mari kita bangun aplikasi kecil menggunakan prompt kita, SDK Anthropic, dan streamlit untuk antarmuka pengguna.
Dalam file bernama chatbot.py
, mulailah dengan menyiapkan kelas ChatBot, yang akan mengenkapsulasi interaksi dengan SDK Anthropic.
Kelas ini harus memiliki dua metode utama: generate_message
dan process_user_input
.
Bangun antarmuka pengguna Anda
Uji men-deploy kode ini dengan Streamlit menggunakan metode main. Fungsi main()
ini menyiapkan antarmuka obrolan berbasis Streamlit.
Kita akan melakukan ini dalam file bernama app.py
Jalankan program dengan:
Evaluasi prompt Anda
Prompting sering memerlukan pengujian dan optimasi agar siap untuk produksi. Untuk menentukan kesiapan solusi Anda, evaluasi kinerja chatbot menggunakan proses sistematis yang menggabungkan metode kuantitatif dan kualitatif. Membuat evaluasi empiris yang kuat berdasarkan kriteria keberhasilan yang Anda tentukan akan memungkinkan Anda untuk mengoptimalkan prompt Anda.
Tingkatkan kinerja
Dalam skenario kompleks, mungkin membantu untuk mempertimbangkan strategi tambahan untuk meningkatkan kinerja di luar teknik rekayasa prompt standar & strategi implementasi pagar pembatas. Berikut adalah beberapa skenario umum:
Kurangi latensi konteks panjang dengan RAG
Ketika berurusan dengan jumlah konteks statis dan dinamis yang besar, termasuk semua informasi dalam prompt dapat menyebabkan biaya tinggi, waktu respons lebih lambat, dan mencapai batas jendela konteks. Dalam skenario ini, menerapkan teknik Retrieval Augmented Generation (RAG) dapat secara signifikan meningkatkan kinerja dan efisiensi.
Dengan menggunakan model embedding seperti Voyage untuk mengubah informasi menjadi representasi vektor, Anda dapat membuat sistem yang lebih skalabel dan responsif. Pendekatan ini memungkinkan pengambilan dinamis informasi yang relevan berdasarkan kueri saat ini, daripada menyertakan semua konteks yang mungkin dalam setiap prompt.
Menerapkan RAG untuk kasus penggunaan dukungan resep RAG telah terbukti meningkatkan akurasi, mengurangi waktu respons, dan mengurangi biaya API dalam sistem dengan persyaratan konteks yang luas.
Integrasikan data real-time dengan penggunaan alat
Ketika berurusan dengan kueri yang memerlukan informasi real-time, seperti saldo akun atau detail kebijakan, pendekatan RAG berbasis embedding tidak cukup. Sebagai gantinya, Anda dapat memanfaatkan penggunaan alat untuk secara signifikan meningkatkan kemampuan chatbot Anda untuk memberikan respons yang akurat dan real-time. Misalnya, Anda dapat menggunakan penggunaan alat untuk mencari informasi pelanggan, mengambil detail pesanan, dan membatalkan pesanan atas nama pelanggan.
Pendekatan ini, diuraikan dalam resep penggunaan alat kami: agen layanan pelanggan, memungkinkan Anda untuk mulus mengintegrasikan data langsung ke dalam respons Claude Anda dan memberikan pengalaman pelanggan yang lebih personal dan efisien.
Perkuat pagar pembatas input dan output
Ketika men-deploy chatbot, terutama dalam skenario layanan pelanggan, penting untuk mencegah risiko yang terkait dengan penyalahgunaan, kueri di luar cakupan, dan respons yang tidak pantas. Meskipun Claude secara inheren tangguh terhadap skenario seperti itu, berikut adalah langkah-langkah tambahan untuk memperkuat pagar pembatas chatbot Anda:
- Kurangi halusinasi: Terapkan mekanisme pemeriksaan fakta dan kutipan untuk mendasarkan respons pada informasi yang diberikan.
- Periksa silang informasi: Verifikasi bahwa respons agen selaras dengan kebijakan perusahaan Anda dan fakta yang diketahui.
- Hindari komitmen kontraktual: Pastikan agen tidak membuat janji atau masuk ke dalam perjanjian yang tidak diizinkan untuk dibuatnya.
- Mitigasi jailbreak: Gunakan metode seperti layar keamanan dan validasi input untuk mencegah pengguna mengeksploitasi kerentanan model, yang bertujuan untuk menghasilkan konten yang tidak pantas.
- Hindari menyebutkan pesaing: Terapkan filter penyebutan pesaing untuk mempertahankan fokus merek dan tidak menyebutkan produk atau layanan pesaing.
- Jaga Claude tetap dalam karakter: Cegah Claude mengubah gaya konteksnya, bahkan selama interaksi yang panjang dan kompleks.
- Hapus Informasi Pribadi yang Dapat Diidentifikasi (PII): Kecuali secara eksplisit diperlukan dan diizinkan, hapus PII apa pun dari respons.
Kurangi waktu respons yang dirasakan dengan streaming
Ketika berurusan dengan respons yang berpotensi panjang, menerapkan streaming dapat secara signifikan meningkatkan keterlibatan dan kepuasan pengguna. Dalam skenario ini, pengguna menerima jawaban secara progresif alih-alih menunggu seluruh respons dihasilkan.
Berikut cara menerapkan streaming:
- Gunakan Anthropic Streaming API untuk mendukung respons streaming.
- Siapkan frontend Anda untuk menangani potongan teks yang masuk.
- Tampilkan setiap potongan saat tiba, mensimulasikan pengetikan real-time.
- Terapkan mekanisme untuk menyimpan respons lengkap, memungkinkan pengguna untuk melihatnya jika mereka menavigasi pergi dan kembali.
Dalam beberapa kasus, streaming memungkinkan penggunaan model yang lebih canggih dengan latensi dasar yang lebih tinggi, karena tampilan progresif mengurangi dampak waktu pemrosesan yang lebih lama.
Skalakan Chatbot Anda
Seiring dengan bertambahnya kompleksitas Chatbot Anda, arsitektur aplikasi Anda dapat berkembang untuk menyesuaikan. Sebelum Anda menambahkan lapisan lebih lanjut ke arsitektur Anda, pertimbangkan opsi yang kurang menyeluruh berikut:
- Pastikan bahwa Anda memanfaatkan prompt Anda semaksimal mungkin dan mengoptimalkan melalui rekayasa prompt. Gunakan panduan rekayasa prompt kami untuk menulis prompt yang paling efektif.
- Tambahkan alat tambahan ke prompt (yang dapat mencakup rantai prompt) dan lihat apakah Anda dapat mencapai fungsionalitas yang diperlukan.
Jika Chatbot Anda menangani tugas yang sangat bervariasi, Anda mungkin ingin mempertimbangkan untuk menambahkan pengklasifikasi maksud terpisah untuk mengarahkan kueri pelanggan awal. Untuk aplikasi yang ada, ini akan melibatkan pembuatan pohon keputusan yang akan mengarahkan kueri pelanggan melalui pengklasifikasi dan kemudian ke percakapan khusus (dengan set alat dan prompt sistem mereka sendiri). Perhatikan, metode ini memerlukan panggilan tambahan ke Claude yang dapat meningkatkan latensi.
Integrasikan Claude ke dalam alur kerja dukungan Anda
Sementara contoh kami telah berfokus pada fungsi Python yang dapat dipanggil dalam lingkungan Streamlit, men-deploy Claude untuk chatbot dukungan real-time memerlukan layanan API.
Berikut cara Anda dapat mendekati ini:
-
Buat wrapper API: Kembangkan wrapper API sederhana di sekitar fungsi klasifikasi Anda. Misalnya, Anda dapat menggunakan Flask API atau Fast API untuk membungkus kode Anda menjadi Layanan HTTP. Layanan HTTP Anda dapat menerima input pengguna dan mengembalikan respons Asisten secara keseluruhan. Dengan demikian, layanan Anda dapat memiliki karakteristik berikut:
- Server-Sent Events (SSE): SSE memungkinkan streaming respons real-time dari server ke klien. Ini penting untuk memberikan pengalaman yang lancar dan interaktif saat bekerja dengan LLM.
- Caching: Menerapkan caching dapat secara signifikan meningkatkan waktu respons dan mengurangi panggilan API yang tidak perlu.
- Retensi konteks: Mempertahankan konteks ketika pengguna menavigasi pergi dan kembali penting untuk kontinuitas dalam percakapan.
-
Bangun antarmuka web: Implementasikan UI web yang ramah pengguna untuk berinteraksi dengan agen yang didukung Claude.