Mengapa Sistem RAG Anda Berhalusinasi
Sistem RAG Anda memiliki akurasi retrieval sebesar 34%. Anda telah mengikuti setiap tutorial. Anda menggunakan library yang tepat. Anda memilih ukuran chunk dari sebuah postingan blog. Namun, sistem tersebut tetap gagal.
Ini bukan masalah tooling. Ini adalah masalah fundamental.
Saat Anda menumpuk library tanpa memahami lapisan di bawahnya, Anda menciptakan abstraction debt. Anda mendapatkan kecepatan tetapi kehilangan kemampuan untuk melakukan debugging. Anda membangun sebuah black box.
Untuk memperbaiki pipeline RAG Anda, Anda harus menguasai tiga lapisan:
Strategi Chunking Ukuran chunk adalah keputusan semantik. Jika chunk Anda berukuran 512 token, Anda mengambil paragraf. Jika pertanyaan Anda memerlukan penghubungan ide di berbagai paragraf, chunk Anda terlalu kecil. Anda harus memutuskan seberapa banyak konteks yang mengalir di antara chunk.
Model Embedding Dense embedding menangkap makna tetapi kehilangan sintaksis yang tepat. Sebuah model mungkin menganggap "error 403" dan "error 404" hampir identik. Anda harus tahu apa yang ditangkap oleh model Anda. Kontrak hukum membutuhkan embedding yang berbeda dibandingkan repositori kode.
Retrieval vs. Recall Pencarian vektor menemukan segala sesuatu yang berpotensi relevan. Ini adalah recall. RAG untuk produksi membutuhkan presisi. Anda membutuhkan jawaban yang tepat, bukan sepuluh paragraf yang serupa. Inilah mengapa Anda membutuhkan hybrid search.
Hybrid search menggabungkan dense vector dengan pencocokan kata kunci (BM25).
- Pencarian semantik murni melewatkan kode atau ID yang tepat.
- Pencarian kata kunci murni melewatkan makna konseptual.
- Hybrid search memberikan bobot pada keduanya untuk menemukan kebenaran.
Bobot yang tepat tidak ada di dalam manual. Anda menemukannya dengan menguji data spesifik Anda.
Berhentilah mengandalkan keajaiban. Jika Anda tidak dapat membangun pipeline RAG dasar dari awal, Anda belum siap untuk Agentic RAG. Kompleksitas akan berlipat ganda ketika Anda tidak memahami dasar-dasarnya.
Lakukan empat hal ini sebelum proyek Anda berikutnya:
- Benchmark chunking. Uji tiga ukuran yang berbeda. Ukur presisi pada top-1 dan top-5.
- Uji embedding dengan data asli. Jangan gunakan tes sintetis. Gunakan kueri pengguna Anda yang sebenarnya.
- Log kegagalan. Selama dua minggu, catat setiap kueri yang gagal. Cari pola pada apa yang terlewatkan oleh pencarian Anda.
- Implementasikan BM25 sekali saja. Meskipun Anda menggunakan library nantinya, Anda perlu memahami baseline kata kunci.
Library memberi Anda waktu. Pemahaman memberi Anda keandalan.
Komunitas pembelajaran opsional: https://t.me/GyaanSetuAi