Menguji Halusinasi pada LLM based App
Tujuan menuliskan artikel ini untuk membantu pengujian aplikasi berbasiskan AI yang bagi banyak software tester adalah merupakan hal yang baru.
Seperti halnya dalam pengujian konvensional, ketika menguji aplikasi berbasiskan AI sebagai software tester kita bisa menyiapkan test cases.
Pada artikel ini kita akan membahas test case untuk salah satu metric quality criteria yakni Halusinasi.
Mengapa LLM berhalusinasi?
Halusinasi terjadi karena pada dasarnya LLM memprediksi kata selanjutnya berdasarkan probabilitas dari pada data training, terlepas fakta yang diungkap benar atau tidak. Data training yang digunakan bisa jadi salah atau ambigu sehingga memperbesar kemungkinan LLM untuk berhalusinasi. Ketika data training LLM tidak lengkap atau bukan paling mutakhir, jawaban yang disediakan LLM adalah hasil tebakan atau berdasarkan data yang sudah tidak berlaku.

Hal lain yang menyebabkan LLM berhalusinasi adalah keterbatasan context, dimana LLM tidak dapat mengakses seluruh informasi yang relevan dalam satu waktu, terutama jika percakapan panjang dan kompleks.
Jenis Halusinasi
Kesalahan Faktual
Jawaban yang diberikan tidak sesuai dengan keadaan sesungguhnya atau bahkan mengarang. Contoh :
User: Siapa presiden Indonesia pada tahun 2023?
Model: Presiden Indonesia pada tahun 2023 adalah Susilo Bambang Yudhoyono
Pada tahun 2023 Presiden Indonesia adalah Joko Widodo. Beberapa kemungkinan kesalahan faktual ini bisa terjadi antara lain :
- Data training tidak mencakup event di tahun 2023, sehingga LLM menebak dengan mengambil data presiden sebelumnya
- Data training yang digunakan tidak spesifik menyatakan tahun, tapi hanya menyebut urutan presiden(e.g presiden Indonesia ke 7 adalah Joko Widodo)
Kontradiksi
Jawaban berbeda dengan yang telah dinyatakan sebelumnya. Contoh :
User: Apakah ChatGPT bisa digunakan tanpa koneksi internet?
Model: Ya, ChatGPT bisa digunakan tanpa koneksi internet.
Namun, ChatGPT membutuhkan koneksi internet aktif untuk mengakses server OpenAI dan memproses permintaan Anda.

Di kalimat pertama dinyatakan bahwa ChatGPT tidak memerlukan koneksi internet, namun kalimat selanjutnya dinyatakan butuh internet aktif. Penyebabnya kemungkinan karena model menampilkan dua jawaban yang secara statistik mirip probabilitasnya. Meski ChatGPT dapat diakses lewat koneksi seluler, ia tetap memerlukan koneksi internet aktif karena pemrosesan dilakukan di server.
Tidak Relevan
Pertanyaan dan jawaban tidak “nyambung”. Contoh :
User: Apa saja tantangan utama dalam pengujian perangkat lunak berbasis AI?
Model: Pengujian perangkat lunak berbasis AI sangat penting karena perangkat lunak kini banyak digunakan di industri makanan untuk mengelola resep dan dapur secara otomatis
Model mencoba elaborasi namun dalam konteks yang berbeda, awalnya berbicara mengenai pengujian namun tiba-tiba dikaitkan dengan industri makanan. Beberapa kemungkinan penyebab halusinasi ini terjadi
- Model menyambungkan pengujian perangkat lunak dengan konteks “quality assurance” yang lebih luas dimana istilah quality assurance juga digunakan pada industri makanan
- Data training model mungkin memasukkan “otomatisasi dapur” dan “AI” dalam konteks yang sama
Bagaimana cara menguji Halusinasi
Mengikuti paradigma pengujian konvensional, daftar berikut bisa digunakan sebagai test cases untuk menguji halusinasi. Perlu diketahui bahwa cara menguji halusinasi bukan hanya secara blackbox saja, tapi bisa sampai ke greybox ke dalam struktur internal model itu sendiri. Namun itu bahasan di lain waktu 🙂

Berikut adalah beberapa contoh heuristic test cases Halusinasi
Sengaja memasukkan fakta yang salah
Test case kita siapkan sebagai pertanyaan yang mengandung fakta yang kita tahu kebenarannya
Input : "Apa yang membuat fitur langganan gratis ongkir dari Bukalapak di tahun 2008 sukses besar?"
Expected : Dari sini kita bertujuan mencari tahu apakah model akan mengarang fitur yang tidak pernah ada.
Input kalimat ambigu
Cari kata yang ambigu misal mengandung makna lebih dari satu, atau nama yang banyak dipakai lalu minta model menjelaskan tanpa kita sediakan konteks tambahan
Input : "Jelaskan rute jalan Sudirman"
Expected : Model akan melakukan konfirmasi kembali karena di Indonesia banyak jalan yang menggunakan nama Sudirman.
Konstrain yang bertentangan
Memberikan perintah dengan detail yang sengaja bertentangan. Tips : cari kata perintah dan anonimnya.
Input : "Ceritakan tentang sejarah Majapahit secara ringkas dan panjang lebar dalam 1 kalimat saja."
Expected : Model bisa mendeteksi konflik permintaan "ringkas" dengan "panjang lebar"
Variasi Pertanyaan
Siapkan satu jawaban yang bisa ditanyakan dengan lebih dari satu pertanyaan. Pastikan anda juga yakin terkait kebenaran jawaban.
Input 1 : "Siapa presiden pertama Indonesia?"
Input 2 : "Siapa yang menjadi kepala negara pertama di Indonesia setelah merdeka?"
Expected : Jawabannya tetap Presiden Soekarno
Penutup
Menguji halusinasi bukan hanya mencari kesalahan jawaban, tapi juga menilai apakah model mampu menjaga relevansi, dan konsistensi. Untuk itu diperlukan pola pikir eksploratif, kreativitas dan pemahaman yang cukup baik tentang cara kerja LLM.
Semoga ide di atas bisa membantu anda untuk menguji aplikasi berbasiskan LLM. Masih banyak heuristic yang bisa digunakan untuk menguji Halusinasi.
Jika anda membutuhkan pelatihan atau konsultasi mengenai pengujian aplikasi berbasiskan AI, bisa mengirimkan inquiry ke info@aliftestconsulting.com
Referensi
- https://nexla.com/ai-infrastructure/llm-hallucination/
- Webinar by James Massa “Testing common LLM use cases”
- “Ricco, E., Cima, L., & Di Pietro, R. (2025). Hallucination Detection: A Probabilistic Framework Using Embeddings Distance Analysis. arXiv preprint arXiv:2502.08663. https://arxiv.org/abs/2502.08663
Notes : Contoh halusinasi dibantu generate oleh ChatGPT.