Apa Itu RAG?
Retrieval-Augmented Generation atau RAG adalah pendekatan yang mengambil informasi dari sumber eksternal, lalu memberikan informasi tersebut sebagai context kepada model generatif sebelum jawaban dibuat. Tujuannya adalah membantu model menggunakan pengetahuan yang lebih relevan, mutakhir, privat, atau dapat ditelusuri daripada hanya mengandalkan parametric knowledge.
RAG bukan jenis model tunggal. Ia merupakan arsitektur sistem yang menghubungkan data source, retrieval, context construction, large language model, dan evaluation.
Untuk melihat posisi retrieval dalam sistem yang lebih luas, mulai dari cara kerja generative AI dan LLM, lalu gunakan artikel ini untuk memperdalam lapisan RAG.
- RAG menggabungkan retrieval dengan generation.
- Dokumen tidak “dimasukkan permanen” ke dalam LLM; bagian relevan dipilih saat request berlangsung.
- RAG berguna untuk informasi privat, sering berubah, atau membutuhkan citation.
- Kualitas jawaban dibatasi kualitas sumber dan retrieval, bukan model saja.
- RAG dapat mengurangi risiko factual error, tetapi tidak menghilangkan hallucination.
- Governance dokumen dan evaluation merupakan bagian inti, bukan pekerjaan tambahan.
Mengapa RAG Dibutuhkan?
Large language model mempelajari pola dari data training. Namun, pengetahuan dalam parameter memiliki beberapa batas:
- informasi dapat berubah setelah training;
- data internal organisasi mungkin tidak pernah masuk training;
- asal suatu claim sulit ditelusuri;
- memperbarui fakta melalui training ulang mahal dan tidak praktis;
- model tetap dapat menghasilkan jawaban ketika pengetahuannya tidak cukup.
RAG memberi aplikasi jalur untuk mencari informasi saat diperlukan. Misalnya, assistant internal dapat mengambil kebijakan terbaru, customer support dapat membuka dokumentasi produk, dan sistem riset dapat menyertakan sumber yang mendukung jawaban.
Paper asli Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks menggambarkan kombinasi parametric memory dari model generatif dengan non-parametric memory berupa index dokumen yang diakses retriever. Implementasi modern dapat berbeda, tetapi prinsip penggabungan retrieval dan generation tetap sama.
Bagaimana Cara Kerja RAG?
Pipeline RAG biasanya memiliki dua fase: menyiapkan pengetahuan dan menjawab request.
Menyiapkan sumber
- Dokumen dikumpulkan dari source yang diizinkan.
- Content dibersihkan serta dipisahkan dari navigation atau noise.
- Dokumen dipecah menjadi bagian yang cukup kecil untuk retrieval tetapi tetap memiliki konteks.
- Setiap bagian dapat diubah menjadi embedding dan disimpan dalam vector index.
- Metadata seperti judul, tanggal, owner, permission, atau versi ikut disimpan.
Menjawab pertanyaan
- Pertanyaan diubah menjadi query retrieval.
- Sistem mencari bagian yang dianggap relevan.
- Kandidat dapat difilter atau diurutkan ulang melalui reranking.
- Bagian terpilih dimasukkan ke context bersama instruction.
- LLM menyusun jawaban berdasarkan context tersebut.
- Aplikasi dapat menampilkan citation, meminta klarifikasi, atau menolak menjawab jika bukti tidak cukup.
Retrieval tidak selalu menggunakan vector database. Keyword search, database query, knowledge graph, API, atau hybrid search dapat dipakai sesuai bentuk informasi.
Komponen Utama Sistem RAG
| Komponen | Pekerjaan utama |
|---|---|
| Data source | Menyediakan dokumen atau fakta yang diizinkan |
| Ingestion | Mengambil, membersihkan, dan memperbarui content |
| Chunking | Membagi dokumen tanpa kehilangan konteks penting |
| Index | Menyimpan representasi yang dapat dicari |
| Retriever | Menemukan kandidat informasi |
| Reranker/filter | Memperbaiki urutan, relevance, dan permission |
| Context builder | Menyusun evidence dan instruction untuk model |
| Generator | Menghasilkan respons dari context |
| Citation layer | Menghubungkan claim dengan sumber |
| Evaluation | Mengukur retrieval dan kualitas jawaban |
Kegagalan pada satu komponen dapat terlihat seperti kegagalan model. Jawaban yang salah mungkin berasal dari dokumen lama, metadata lemah, chunk tanpa konteks, query yang buruk, atau evidence yang terpotong.
Kapan RAG Layak Digunakan?
RAG relevan ketika pekerjaan membutuhkan:
- pengetahuan internal yang tidak ada dalam model publik;
- informasi yang sering diperbarui;
- jawaban berdasarkan kumpulan dokumen tertentu;
- akses sesuai peran atau permission;
- provenance, source link, atau citation;
- kemampuan memperbaiki sumber tanpa melatih ulang model;
- pencarian pada katalog, policy, knowledge base, atau dokumentasi.
Contohnya mencakup assistant kebijakan karyawan, pencarian dokumentasi teknis, customer support berbasis knowledge base, analisis kontrak, serta riset dengan rujukan.
RAG tidak diperlukan untuk setiap task. Mengubah tone, mengklasifikasikan teks singkat, membuat outline umum, atau mengikuti format tertentu mungkin cukup diselesaikan melalui prompt dan model yang sesuai.
RAG, Search, Fine-Tuning, dan Long Context
Pendekatan tersebut dapat saling melengkapi.
| Pendekatan | Pertanyaan yang dijawab |
|---|---|
| Search | Dokumen mana yang relevan? |
| RAG | Bagaimana evidence yang ditemukan digunakan untuk menghasilkan respons? |
| Fine-tuning | Bagaimana perilaku atau pola output model diubah? |
| Long context | Berapa banyak informasi dapat diberikan dalam satu interaction? |
Memasukkan seluruh dokumen ke long context dapat bekerja pada corpus yang terbatas. Namun, volume besar, biaya, latency, permission, dan perubahan dokumen sering membuat retrieval tetap dibutuhkan.
Fine-tuning juga bukan pengganti langsung RAG. Fine-tuning cocok untuk pola tugas, style, atau format yang stabil; RAG lebih mudah diperbarui untuk fakta yang berubah dan perlu ditelusuri.
Mengapa RAG Tetap Dapat Menghasilkan Jawaban Salah?
RAG memindahkan sebagian masalah dari “apa yang diketahui model” menjadi “evidence apa yang ditemukan dan bagaimana digunakan.” Failure mode yang umum meliputi:
- source salah, tidak lengkap, atau kedaluwarsa;
- chunk memisahkan syarat dari penjelasannya;
- query memakai istilah berbeda dari dokumen;
- retriever mengambil bagian yang mirip tetapi tidak menjawab;
- permission filter gagal;
- context berisi sumber yang bertentangan;
- model mengabaikan evidence atau menambah detail sendiri;
- citation mengarah ke dokumen yang tidak mendukung claim tertentu.
Karena itu, hallucination pada LLM tetap perlu diukur. RAG dapat meningkatkan groundedness pada kondisi tertentu, tetapi bukan garansi factuality.
Cara Mengevaluasi RAG
Evaluasi perlu memisahkan retrieval dan generation agar lokasi masalah dapat diketahui.
Retrieval
- Apakah evidence yang benar masuk kandidat teratas?
- Apakah permission dan filter bekerja?
- Apakah chunk menyimpan konteks yang diperlukan?
- Apakah query sulit dan istilah alternatif terwakili?
Generation
- Apakah jawaban didukung evidence?
- Apakah citation mendukung claim di dekatnya?
- Apakah model menyatakan keterbatasan ketika sumber tidak cukup?
- Apakah respons relevan dan mengikuti instruction?
Sistem
- Berapa latency dan biaya per request?
- Apakah perubahan dokumen masuk index tepat waktu?
- Apakah data sensitif tercatat atau terekspos?
- Query mana yang paling sering gagal?
Test set sebaiknya mencakup pertanyaan normal, ambigu, tanpa jawaban, konflik sumber, perubahan versi, serta upaya mengakses informasi yang tidak diizinkan.
Prinsip Implementasi yang Sehat
- Tentukan sumber resmi dan owner setiap jenis dokumen.
- Simpan metadata versi, tanggal, entity, dan permission.
- Buat chunk berdasarkan struktur informasi, bukan jumlah karakter semata.
- Gunakan hybrid retrieval jika exact term dan semantic similarity sama-sama penting.
- Beri model opsi untuk meminta klarifikasi atau tidak menjawab.
- Tampilkan citation yang dapat dibuka dan benar-benar mendukung claim.
- Simpan feedback serta query gagal untuk evaluasi.
- Uji ulang ketika source, index, model, atau prompt berubah.
Pertanyaan Umum
Apakah RAG sama dengan vector database?
Tidak. Vector database dapat menjadi bagian retrieval, tetapi RAG mencakup sumber, ingestion, search, context, generation, citation, dan evaluasi. Retrieval juga dapat memakai keyword search atau database biasa.
Apakah RAG melatih ulang LLM?
Tidak secara default. RAG memberikan informasi saat inference. Parameter model tidak berubah hanya karena dokumen dimasukkan ke index.
Apakah RAG cocok untuk data real-time?
Bisa jika sistem mengambil data dari source live atau index yang diperbarui sesuai kebutuhan. “Real-time” tetap perlu didefinisikan berdasarkan toleransi keterlambatan dan risiko.
Apakah RAG menjamin jawaban memiliki sumber?
Tidak. Aplikasi perlu membangun attribution dan menguji apakah citation benar-benar mendukung claim yang dihasilkan.
Kesimpulan
RAG menghubungkan kemampuan bahasa LLM dengan informasi eksternal yang dapat diperbarui dan ditelusuri. Pendekatan ini berguna ketika jawaban harus mengikuti dokumen, data privat, atau fakta yang berubah.
Nilainya tidak datang dari vector database semata. Source governance, retrieval quality, context construction, citation, permission, dan evaluation menentukan apakah RAG benar-benar menghasilkan jawaban yang lebih dapat dipercaya.