Cara Mencegah Halusinasi pada Chatbot AI
Oleh Apex Horizon Digital
Tidak ada prompt yang dapat menjamin chatbot generatif tidak pernah menghasilkan pernyataan tanpa dukungan. Pencegahan berarti merancang beberapa kontrol agar sistem memiliki bukti yang andal, mengenali saat bukti tidak cukup, tidak dapat melewati aturan aplikasi, dan memperlihatkan kegagalan sebelum menjangkau lebih banyak pelanggan. Tujuan praktisnya bukan bahasa yang percaya diri. Tujuannya adalah perilaku yang benar untuk pertanyaan yang dapat dijawab, ambigu, kedaluwarsa, adversarial, dan tidak dapat dijawab.
Ringkasan utama
- Batasi jawaban bisnis pada bukti resmi, dapat ditelusuri, terkini, dan hasil tool yang sempit.
- Definisikan perilaku untuk pertanyaan answerable, ambiguous, outdated, adversarial, dan unanswerable.
- Blokir rilis ketika evaluasi atau percakapan terpantau menemukan jawaban material tanpa dukungan atau handoff yang terlewat.
Definisikan halusinasi sebagai kegagalan yang dapat diamati
Untuk chatbot bisnis, kategori kegagalan yang berguna mencakup klaim tanpa dukungan sumber resmi, citation yang tidak memuat klaim, jawaban terkini yang dibangun dari sumber kedaluwarsa, hasil tool yang berubah saat dijelaskan, dan komitmen yang tidak boleh dibuat sistem. Tentukan severity berdasarkan dampak kepada pelanggan serta bisnis, bukan berdasarkan kelancaran respons.
Catat perilaku yang diharapkan untuk setiap intent. Sebagian pertanyaan perlu jawaban langsung dengan sumber. Sebagian memerlukan satu klarifikasi. Yang lain harus menolak, transfer, atau hanya menjelaskan proses aman. Reviewer tidak dapat menilai kualitas secara konsisten jika batas yang diinginkan hanya ada di kepala penulis prompt.
- Klaim tanpa dukungan: bukti resmi tidak membenarkan jawaban.
- Atribusi keliru: sumber yang dicantumkan tidak mendukung poin.
- Kegagalan freshness: sumber lama disajikan sebagai informasi terkini.
- Distorsi tool: penjelasan mengubah atau memperluas hasil terstruktur.
- Kegagalan otoritas: bot membuat janji atau keputusan di luar permission.
Bangun evaluation set lima bagian
Kasus answerable memiliki satu atau lebih sumber resmi dan kondisi selesai. Kasus ambiguous menghilangkan konteks seperti produk, cabang, tanggal, atau identitas pelanggan. Kasus outdated memakai bahasa yang kemungkinan mengambil campaign lama atau kebijakan yang sudah diganti. Kasus adversarial meminta sistem mengabaikan aturan, mengungkap informasi tersembunyi, atau menyalahgunakan tool. Kasus unanswerable tidak memiliki bukti resmi dan tidak boleh menghasilkan tebakan.
Untuk setiap kasus, simpan pertanyaan, sumber yang diharapkan atau kondisi tanpa sumber, poin jawaban yang dapat diterima, klaim terlarang, kebutuhan klarifikasi, ekspektasi tool, dan perilaku eskalasi. Sertakan variasi bahasa nyata dan jalankan suite setelah perubahan model, prompt, retrieval, dokumen, tool, serta aturan keamanan.
- Answerable: ambil bukti yang benar dan jawab hanya sesuai dukungannya.
- Ambiguous: minta konteks yang hilang sebelum memilih kebijakan atau tindakan.
- Outdated: tolak materi lama dan gunakan sumber resmi terkini.
- Adversarial: pertahankan aturan sistem dan tolak instruksi tidak aman.
- Unanswerable: nyatakan batas dan arahkan ke langkah berikutnya yang disetujui.
Ground respons dan tampilkan bukti
Index hanya sumber resmi yang memiliki pemilik, tanggal berlaku, dan tanggal review. Ambil sedikit passage relevan dan minta jawaban tetap berada di dalam bukti tersebut. Terapkan filter metadata untuk produk, locale, audiens, status, dan sensitivitas jika diperlukan. Jika retrieval menghasilkan bukti lemah, bertentangan, atau kosong, layer orkestrasi harus memilih klarifikasi atau handoff.
Pertahankan ID sumber dan passage di trace percakapan agar reviewer dapat memeriksa alasan jawaban. Citation yang terlihat dapat membantu pengguna, tetapi citation itu sendiri bukan bukti kebenaran. Evaluasi harus memastikan passage memang mendukung klaim dan tidak ada sumber lebih baru yang menggantikannya.
- Kelola sumber yang boleh masuk index.
- Tambahkan metadata ownership, freshness, locale, topik, dan sensitivitas.
- Lakukan retrieval sebelum generasi dan pertahankan trace bukti.
- Periksa bahwa klaim didukung passage yang diambil.
- Klarifikasi atau handoff ketika bukti hilang atau bertentangan.
Jauhkan tindakan berdampak tinggi dari generasi bebas
Language model boleh mengidentifikasi intent atau mengusulkan permintaan tool, tetapi kode aplikasi harus memvalidasi identity, permission, input, state, dan confirmation. Buka fungsi sempit seperti membaca status order atau membuat kasus support, bukan akses database atau administratif mentah. Kembalikan hasil terstruktur dan batasi cara hasil tersebut dijelaskan.
Human handoff adalah kontrol pencegahan, bukan pengakuan kegagalan. Rutekan jawaban dengan confidence rendah, topik sensitif, kegagalan klarifikasi berulang, permintaan eksplisit untuk manusia, dan kondisi tool yang tidak dapat diselesaikan dengan aman. Berikan bukti serta tindakan yang dicoba kepada agent agar transfer tidak menciptakan interpretasi tanpa dukungan berikutnya.
- Gunakan tool least-privilege dengan validasi server-side.
- Minta konfirmasi untuk tindakan berdampak pada pelanggan atau keuangan.
- Jangan biarkan teks generatif melewati authorization atau aturan bisnis.
- Fail closed ketika identity, data, atau sistem upstream tidak tersedia.
- Transfer bersama transcript, bukti, hasil tool, dan alasan eskalasi.
Monitor produksi dan tegakkan release gate
Ambil sampel percakapan berdasarkan intent dan risiko, bukan hanya secara acak. Tinjau klaim tanpa dukungan, source mismatch, freshness, penjelasan tool yang salah, eskalasi terlewat, dan kontak ulang. Izinkan agent serta pelanggan menandai jawaban meragukan, tetapi jangan bergantung pada laporan saja karena error yang terdengar masuk akal dapat tidak terdeteksi. Hubungkan temuan ke pemilik knowledge, orkestrasi, tool, atau kebijakan.
Tetapkan release gate sebelum deployment. Regresi evaluasi material, jawaban tanpa dukungan yang berat, perilaku refusal rusak, akses tool tidak aman, atau data trace hilang harus menghentikan rilis sampai ditinjau. Beri versi pada prompt, sumber, konfigurasi retrieval, model, dan tool agar tim dapat mereproduksi kegagalan serta membandingkan koreksi.
- Tinjau intent berisiko tinggi dan perilaku yang berubah secara sengaja.
- Lacak jawaban tanpa dukungan dan handoff terlewat sebagai outcome terpisah.
- Berikan setiap temuan kepada pemilik dan verifikasi penyelesaiannya.
- Beri versi pada setiap komponen yang dapat mengubah jawaban.
- Hentikan deployment ketika gate kualitas atau keamanan yang ditentukan gagal.