Lewati ke isi

AI & Otomasi

Guardrail untuk Chatbot AI agar Tidak Keluar Jalur

Guardrail menjaga chatbot AI tetap di topik, tidak membocorkan data, dan tidak salah janji. Ini lapisan yang perlu dipasang dan cara mengujinya.

Terbit 5 menit baca

Jawaban singkat

Guardrail adalah aturan dan pemeriksaan di sekitar model AI yang menjaga chatbot tetap di topik bisnis, menolak permintaan berbahaya, dan memeriksa jawaban sebelum sampai ke pelanggan. Pasang berlapis: sebelum input masuk model, di prompt sistem, dan setelah jawaban keluar.

Daftar isi
  1. Apa saja yang bisa membuat chatbot keluar jalur?
  2. Lapisan pertama, saring sebelum masuk model
  3. Lapisan kedua, instruksi dan konteks yang terbatas
  4. Lapisan ketiga, periksa jawaban sebelum dikirim
  5. Guardrail juga harus diuji
  6. Ringkasnya

Bayangkan chatbot toko kamu baru seminggu aktif di WhatsApp. Sebagian besar percakapan berjalan normal, sampai seseorang memintanya menulis puisi, lalu orang lain menanyakan "harga khusus karyawan" dan chatbot dengan percaya diri menyebut diskon yang tidak pernah ada. Tidak ada yang salah dengan modelnya. Yang kurang adalah pagar di sekelilingnya.

Pagar itu disebut guardrail: aturan dan pemeriksaan yang menjaga chatbot tetap di jalur bisnis kamu. Guardrail yang baik tidak bergantung pada satu instruksi di prompt sistem, melainkan dipasang berlapis, sebelum pesan masuk ke model, di dalam instruksi model, dan setelah jawaban keluar.

Apa saja yang bisa membuat chatbot keluar jalur?

Masalahnya jarang berupa satu kejadian besar. Lebih sering berupa hal kecil yang menumpuk: chatbot menjawab topik di luar bisnis, mengarang kebijakan retur, menyebut harga yang salah, atau terpancing instruksi pengguna yang mencoba menimpa aturan, yang dikenal sebagai prompt injection. Ada juga risiko kebocoran, misalnya chatbot membacakan isi prompt sistem atau data pelanggan lain yang tidak sengaja ikut ke konteks.

OWASP memasukkan prompt injection, kebocoran informasi sensitif, dan keluaran yang tidak ditangani dengan benar dalam daftar risiko utama aplikasi LLM. Daftar itu berguna sebagai cek awal karena disusun khusus untuk aplikasi berbasis model bahasa, bukan aplikasi web biasa. Penjelasan lebih dalam soal serangan lewat instruksi ada di prompt injection pada aplikasi AI.

Lapisan pertama, saring sebelum masuk model

Lapisan input bekerja sebelum model membaca pesan. Tujuannya membuang atau menandai pesan yang jelas tidak perlu dijawab.

Pemeriksaan sederhana sudah banyak membantu. Batasi panjang pesan agar pengguna tidak bisa menempelkan dokumen panjang berisi instruksi tersembunyi. Deteksi pola yang umum dipakai untuk menimpa aturan, seperti permintaan "abaikan instruksi sebelumnya". Samarkan data pribadi yang tidak dibutuhkan model, misalnya nomor KTP yang dikirim pelanggan tanpa diminta.

Untuk klasifikasi yang lebih cerdas, banyak tim memakai model kecil terpisah yang hanya bertugas menjawab satu pertanyaan: apakah pesan ini masih dalam topik bisnis, dan apakah ada indikasi berbahaya? Model kecil seperti ini murah dan cepat, dan keputusannya bisa dipakai untuk memilih jalur: jawab normal, jawab dengan penolakan sopan, atau serahkan ke manusia.

Lapisan kedua, instruksi dan konteks yang terbatas

Prompt sistem tetap penting, asal tidak dianggap satu-satunya pengaman. Tuliskan dengan jelas apa saja yang boleh dibahas, apa yang tidak boleh, dan apa yang dilakukan bila ragu. Instruksi "kalau informasinya tidak ada di dokumen, katakan tidak tahu dan tawarkan bicara dengan admin" jauh lebih efektif daripada "jangan berhalusinasi".

Batasi juga apa yang dilihat model. Chatbot yang hanya diberi dokumen kebijakan dan katalog produk tidak bisa membocorkan data pelanggan, karena data itu memang tidak ada di konteksnya. Kalau chatbot bisa memanggil tool, misalnya mengecek status pesanan, pastikan tool itu hanya mengembalikan data milik pengguna yang sedang bertanya, dan pemeriksaan identitasnya dilakukan oleh kode kamu, bukan oleh model.

Prinsipnya sederhana. Apa pun yang tidak boleh terjadi, cegah di kode atau di izin akses. Prompt hanya mengarahkan perilaku, tidak menjamin.

Lapisan ketiga, periksa jawaban sebelum dikirim

Lapisan output memeriksa jawaban model sebelum sampai ke pelanggan. Beberapa pemeriksaan yang praktis:

  • Angka harga, ongkir, atau diskon dicocokkan dengan data resmi. Bila tidak cocok, jawaban ditahan.
  • Jawaban yang menyebut kebijakan (retur, garansi) harus merujuk ke dokumen yang memang ada di konteks.
  • Tautan hanya boleh mengarah ke domain milik bisnis kamu.
  • Jawaban yang mengandung pola data pribadi, seperti nomor telepon orang lain, diblokir.

Untuk pemeriksaan yang lebih kompleks, ada kerangka kerja seperti NVIDIA NeMo Guardrails, toolkit open source untuk menambahkan aturan input, output, dan alur percakapan ke aplikasi LLM. Kerangka seperti ini membantu, tetapi aturan bisnisnya tetap harus kamu tulis sendiri.

Ketika pemeriksaan gagal, jangan biarkan chatbot diam. Berikan jawaban cadangan yang sopan dan jalur ke manusia. Cara merancang perpindahan ini dibahas di handover chatbot ke manusia.

LapisanContoh pemeriksaanBila gagal
InputPanjang pesan, topik, pola injeksi, data pribadiTolak sopan atau samarkan
Prompt dan konteksDaftar topik boleh, dokumen terbatas, izin toolJawab "tidak tahu", tawarkan admin
ToolCek identitas di kode, data hanya milik penanyaTolak pemanggilan
OutputCocokkan harga, kebijakan, tautan, data pribadiTahan jawaban, kirim jawaban cadangan
PemantauanLog percakapan, tanda pengguna, sampel acakPerbaiki aturan, tambah kasus uji

Guardrail juga harus diuji

Guardrail yang tidak pernah diuji hanyalah harapan. Kumpulkan daftar pertanyaan uji yang mewakili tiga kelompok: pertanyaan normal yang harus dijawab benar, pertanyaan di luar topik yang harus ditolak sopan, dan pertanyaan nakal yang mencoba menembus aturan. Jalankan daftar itu setiap kali kamu mengubah prompt, mengganti model, atau menambah dokumen.

Simpan juga log percakapan nyata, dengan data pribadi disamarkan, lalu baca sampelnya secara rutin. Pertanyaan aneh yang muncul di log adalah bahan kasus uji berikutnya. Panduan menyusun pengujian seperti ini ada di cara menguji akurasi chatbot AI.

Perhatikan juga keseimbangannya. Guardrail yang terlalu ketat membuat chatbot menolak pertanyaan wajar, misalnya pelanggan yang bertanya cara merawat produk dianggap di luar topik. Pelanggan yang terus ditolak akan berhenti memakai chatbot atau langsung meminta admin, sehingga manfaat otomasi hilang. Karena itu, catat juga berapa sering chatbot menolak dan baca alasannya. Penolakan yang tidak perlu sama pentingnya untuk diperbaiki dengan jawaban yang salah.

Mulailah dari aturan yang sedikit tetapi jelas, lalu tambahkan berdasarkan kasus nyata. Daftar aturan yang dibuat dari kejadian di log jauh lebih berguna daripada daftar panjang hasil menebak di awal proyek.

Satu hal yang perlu diterima sejak awal: tidak ada guardrail yang membuat chatbot sempurna. Tujuannya mengurangi kesalahan yang paling merugikan, dan memastikan kesalahan yang lolos cepat ketahuan.

Ringkasnya

Chatbot yang keluar jalur biasanya bukan karena modelnya buruk, melainkan karena hanya dijaga satu instruksi di prompt. Pasang saringan input, batasi konteks dan izin tool, periksa jawaban sebelum dikirim, lalu uji semuanya secara rutin. Hal yang benar-benar tidak boleh terjadi harus dicegah oleh kode dan izin akses, bukan oleh kalimat di prompt.

Sumber & referensi

Baca juga