Bagaimana pengujian ini disusun
Penulis membangun sistem retrieval-augmented generation (RAG) kecil berbasis dua dokumen buku aturan pembayaran dan menjalankan dua pengecekan:
- Uji recall – apakah halaman yang benar muncul di antara lima hasil teratas? Hasil: 60%.
- Uji jawaban – apakah jawaban akhir yang dihasilkan oleh generator sudah benar? Hasil: 90%.
Kesenjangan sebesar 40% tampak mustahil. Jika retriever melewatkan halaman yang tepat empat dari sepuluh kali, bagaimana mungkin model tersebut masih bisa menjawab dengan benar sembilan dari sepuluh kali?
Upaya pertama untuk “memperbaiki” retriever
Pengembang mencoba dua trik umum:
- Hybrid search – mencampur sinyal leksikal dan vektor. Recall tetap sama.
- Reranker – menyusun ulang lima halaman yang diambil. Recall naik menjadi 70%, tetapi masih jauh tertinggal dari akurasi jawaban sebesar 90%.
Kedua alat tersebut hanya menyusun ulang apa yang sudah diambil; mereka tidak bisa memunculkan halaman yang tidak pernah masuk ke dalam set kandidat. Masalahnya terletak di tempat lain.
Metriknya, bukan modelnya, yang bermasalah
Alih-alih menilai keberhasilan berdasarkan label halaman, penulis memeriksa fakta aktual dalam chunk yang diambil. Dalam tiga dari empat kasus "meleset", fakta yang benar sebenarnya ada, tetapi terletak di halaman yang berbeda dari yang diharapkan oleh skrip pengujian. Evaluasi tersebut menghukum retriever karena menemukan jawaban yang benar pada halaman yang tidak terduga.
Ketika metrik diubah menjadi “apakah ada chunk yang diambil yang mengandung fakta yang diperlukan?”, recall melonjak ke 90%, menyamai akurasi jawaban. Retriever-nya bekerja; kerangka evaluasinya yang tidak bekerja.
Mengapa recall tradisional bisa menyesatkan
- Pelabelan tingkat halaman menciptakan kegagalan semu. Sebuah fakta tunggal mungkin muncul di beberapa halaman. Menandai hanya satu halaman sebagai ground truth akan menganggap semua temuan benar lainnya sebagai kesalahan.
- Korpus kecil memperkuat efek ini. Dengan sedikit dokumen, satu halaman yang salah label dapat mengubah recall secara drastis sementara akurasi jawaban tetap stabil.
- Derau (noise) embedding menyembunyikan fakta. Vektor memberikan skor pada seluruh halaman; teks hukum atau teknis di sekitarnya mengencerkan sinyal relevansi dari kalimat target, sehingga menurunkan peringkat halaman tersebut meskipun faktanya ada.
Pelajaran praktis bagi praktisi RAG
- Pisahkan kegagalan pemeringkatan dari kegagalan pengambilan (retrieval). Reranker hanya memperbaiki yang pertama; jika chunk yang benar tidak pernah masuk ke dalam set kandidat, penyusunan ulang tidak akan membantu apa pun.
- Labeli data pengujian pada tingkat fakta. Hubungkan setiap kueri dengan potongan informasi spesifik yang dibutuhkannya, bukan pada satu pengenal dokumen saja.
- Jangan percaya pada tolok ukur (benchmark) skala besar untuk dataset kecil. Korpus kecil yang spesifik pada domain tertentu berperilaku berbeda, dan skor recall generik bisa menipu.
- Perhatikan granularitas embedding. Chunk seukuran halaman berisi banyak kata, dan teks hukum di sekitarnya dapat menurunkan peringkat fakta yang Anda cari.
Intinya: skor akurasi jawaban yang tinggi dapat berdampingan dengan angka recall tradisional yang rendah ketika evaluasi tidak selaras dengan tugasnya. Memperbaiki metrik, bukan model, akan menghemat waktu, mengurangi alarm palsu, dan menghasilkan penerapan RAG yang lebih tepercaya.
