Model bahasa besar punya satu kelemahan yang sulit dihilangkan lewat pelatihan saja: ia hanya tahu apa yang pernah ada dalam datanya. Ketika ditanya tentang kebijakan internal perusahaan, harga terbaru, atau dokumen yang terbit pekan lalu, model akan menjawab dengan percaya diri meski jawabannya keliru. Retrieval-augmented generation (RAG) lahir sebagai jawaban praktis atas persoalan ini: alih-alih mengandalkan ingatan model, sistem mengambil potongan dokumen yang relevan terlebih dahulu, lalu menyuruh model menjawab berdasarkan potongan itu. Untuk memperluas konteks, baca panduan semantic caching untuk LLM dan makalah penelitian RAG di arXiv.
Kedengarannya sederhana, dan memang itulah daya tariknya. Namun banyak tim yang mengira RAG cukup berarti “tempel dokumen ke prompt”, lalu kecewa ketika hasilnya tetap ngawur. Artikel ini membedah cara kerja RAG secara teknis, alasan ia bisa menekan halusinasi, serta jebakan yang jarang dibahas dalam tutorial singkat.
Alur kerja RAG dari dokumen mentah sampai jawaban
Secara garis besar, RAG berjalan dalam dua fase: indeksasi (dilakukan sekali atau berkala) dan kueri (dilakukan setiap ada pertanyaan).
Fase indeksasi
- Pemecahan dokumen (chunking). Dokumen panjang dipotong menjadi bagian kecil, misalnya 300–800 token per potongan, dengan sedikit tumpang tindih antar-potongan agar konteks kalimat tidak terputus.
- Embedding. Setiap potongan diubah menjadi vektor angka oleh model embedding. Vektor ini merepresentasikan makna, sehingga dua teks dengan kata berbeda tetapi makna serupa akan berdekatan.
- Penyimpanan. Vektor disimpan di basis data vektor bersama metadata asalnya: nama file, nomor halaman, tanggal, dan sebagainya.
Fase kueri
- Pertanyaan pengguna diubah menjadi vektor dengan model embedding yang sama.
- Sistem mencari
kpotongan terdekat, umumnya 3–10 potongan, menggunakan metrik seperti cosine similarity. - Potongan terpilih disusun menjadi konteks, lalu dimasukkan ke prompt bersama pertanyaan asli.
- Model bahasa menyusun jawaban dengan instruksi untuk bersandar pada konteks tersebut.
Perhatikan bahwa model bahasa tidak dilatih ulang. Pengetahuan baru masuk lewat konteks saat inferensi. Inilah yang membuat RAG murah diperbarui: cukup ganti dokumen di indeks, tanpa menyentuh bobot model.
Mengapa RAG menekan halusinasi, tetapi tidak menghilangkannya
Halusinasi muncul sebagian karena model dipaksa menjawab tanpa rujukan. Dengan RAG, model mendapat bahan faktual di dalam prompt, sehingga peluang mengarang angka atau nama menurun. Selain itu, jawaban dapat disertai sitasi ke potongan sumber, sehingga pengguna bisa memverifikasi sendiri.
Namun RAG bukan obat mujarab. Jika potongan yang diambil tidak relevan, model tetap bisa menyusun jawaban yang terdengar meyakinkan dari bahan yang salah. Risiko lain: model kadang mengabaikan konteks dan kembali mengandalkan pengetahuannya sendiri, terutama bila instruksi prompt lemah. Karena itu, evaluasi RAG harus mencakup dua hal terpisah, yakni kualitas pengambilan (apakah dokumen yang benar ikut terambil) dan kualitas generasi (apakah jawaban setia pada dokumen).
Jebakan yang sering luput
Chunking yang memotong makna
Memotong dokumen per 500 karakter tanpa mempedulikan struktur paragraf atau tabel adalah kesalahan umum. Potongan yang terbelah di tengah definisi akan menghasilkan embedding yang kabur. Solusi praktis: pecah berdasarkan struktur (heading, paragraf, baris tabel) dan pertahankan judul bagian sebagai awalan setiap potongan.
Mengandalkan pencarian vektor saja
Pencarian semantik lemah untuk kueri yang menuntut kecocokan persis, misalnya nomor faktur, kode produk, atau istilah teknis langka. Pendekatan hybrid, yang menggabungkan pencarian kata kunci (BM25) dengan pencarian vektor lalu menggabungkan peringkatnya, biasanya memberi hasil lebih baik. Menambahkan reranker lintas-encoder di atas sejumlah kandidat juga membantu menyaring potongan yang hanya mirip secara dangkal.
Konteks yang terlalu panjang
Menjejalkan sepuluh potongan besar ke prompt tidak selalu lebih baik. Model bisa kehilangan fokus pada informasi di tengah konteks, dan biaya token naik. Mengambil lebih sedikit potongan tetapi dengan mutu lebih tinggi kerap lebih efektif.
Dokumen basi dan duplikat
Indeks yang tidak pernah dibersihkan akan mengembalikan versi lama sebuah kebijakan bersamaan dengan versi barunya. Model lalu memilih salah satunya secara acak. Perlu mekanisme versi dan penghapusan, bukan sekadar penambahan.
Tidak ada pagar pengaman
RAG tidak otomatis mencegah pertanyaan di luar cakupan. Tanpa instruksi eksplisit seperti “jika konteks tidak memuat jawabannya, katakan tidak diketahui”, model akan tetap berusaha menjawab. Menyertakan skor relevansi minimum sebelum konteks dipakai juga membantu menolak kueri yang sebenarnya tidak punya rujukan.
Kapan RAG tepat, kapan tidak
RAG cocok ketika pengetahuan bersifat dinamis, berasal dari korpus dokumen milik sendiri, dan jawabannya perlu dapat ditelusuri ke sumber. Contohnya basis pengetahuan dukungan pelanggan, pencarian di dalam kontrak, atau asisten yang menjawab berdasarkan dokumentasi teknis internal.
RAG kurang tepat bila tugasnya menuntut penguasaan gaya atau keterampilan baru, seperti menulis dengan nada khas perusahaan secara konsisten atau melakukan penalaran mendalam atas data terstruktur. Untuk kasus terakhir, fine-tuning atau pemanggilan alat khusus seperti kueri SQL sering lebih masuk akal. Keduanya juga bisa dikombinasikan: RAG untuk fakta, penyesuaian ringan untuk gaya.
RAG bukan fitur yang ditambahkan di akhir proyek. Ia adalah arsitektur data, dan mutunya ditentukan sejauh mana dokumen sumber dikurasi.
Langkah awal yang masuk akal
Mulailah dari korpus kecil yang benar-benar terkurasi, misalnya 50–100 dokumen, lalu bangun evaluasi sebelum menambah fitur. Siapkan sekitar 30 pertanyaan uji beserta jawaban acuannya, dan ukur dua metrik: berapa persen dokumen yang benar berhasil diambil, dan berapa persen jawaban yang konsisten dengan dokumen tersebut. Baru setelah itu pertimbangkan hybrid search, reranker, atau penambahan sumber.
Kesimpulannya, retrieval-augmented generation adalah cara yang efisien untuk membuat model bahasa menjawab berdasarkan pengetahuan yang Anda kendalikan. Kekuatannya bukan pada kecanggihan model, melainkan pada disiplin dalam menyiapkan, memotong, dan mengevaluasi dokumen. Tanpa disiplin itu, RAG hanya memindahkan halusinasi dari ingatan model ke tumpukan dokumen yang salah ambil.
