Fine-Tuning vs Prompting vs RAG: Kapan Pilih yang Mana
Salah satu pertanyaan yang paling sering muncul begitu tim mulai serius memakai LLM di produk adalah: "apakah kita perlu fine-tuning?" Pertanyaan ini biasanya muncul terlalu cepat, sebelum opsi yang lebih murah dan lebih cepat dicoba. Dari pengalaman saya berkecimpung di sistem klinik dan rumah sakit yang mulai mengadopsi AI-LLM untuk hal-hal seperti bantu coding diagnosa atau ringkasan rekam medis, urutan eksplorasi yang sehat justru kebalikannya: mulai dari yang paling murah, baru naik ke yang lebih mahal kalau memang perlu. Tulisan ini berbagi kerangka berpikir yang saya pakai untuk memutuskan antara prompting, RAG (retrieval-augmented generation), dan fine-tuning.
Tiga pendekatan, tiga trade-off berbeda
Prompting (termasuk few-shot prompting, chain-of-thought, atau sekadar system prompt yang ditulis rapi) adalah cara termurah mengarahkan perilaku model: tidak ada infrastruktur tambahan, tidak ada data training, cukup ubah teks instruksi. Batasnya, model hanya tahu apa yang ada di dalam prompt dan pengetahuan umum dari saat dilatih. Kalau kebutuhannya "jawab berdasarkan dokumen internal yang berubah tiap minggu", prompting saja tidak cukup karena konteksnya harus disuntikkan.
RAG menjawab masalah itu: model tetap generik, tapi sebelum menjawab, sistem mengambil (retrieve) potongan dokumen relevan dari basis data atau vector store, lalu menyisipkannya ke prompt. Cocok untuk kasus di mana sumber kebenaran (source of truth) berubah-ubah dan besar, misalnya basis pengetahuan pedoman klinis atau kebijakan internal. RAG membuat model "tahu" hal spesifik tanpa harus dilatih ulang.
Fine-tuning mengubah bobot model itu sendiri lewat proses training tambahan menggunakan dataset contoh. Ini bukan soal menambah pengetahuan faktual, melainkan mengubah gaya, format keluaran, atau pola penalaran yang konsisten dan sulit dicapai lewat prompting saja — misalnya membuat model selalu mengeluarkan format terstruktur tertentu, atau meniru gaya penulisan tenaga medis yang spesifik untuk domain sempit.
Kerangka keputusan: biaya, data, dan frekuensi perubahan
Saya biasanya menimbang tiga faktor ini secara berurutan.
- Biaya (waktu dan infrastruktur). Prompting bisa dicoba dalam hitungan menit tanpa biaya tambahan selain token API. RAG butuh infrastruktur tambahan: pipeline ingesti dokumen, mekanisme retrieval, dan proses menjaga index tetap segar. Fine-tuning butuh dataset berkualitas (biasanya ratusan hingga ribuan contoh terkurasi, tergantung skenario), proses training, evaluasi, dan re-training tiap ada perubahan signifikan. Urutan biayanya nyaris selalu: prompting < RAG < fine-tuning.
- Ketersediaan dan bentuk data. Kalau yang dibutuhkan adalah pengetahuan faktual yang bisa direpresentasikan sebagai dokumen atau teks yang bisa dicari, RAG adalah jawaban natural — tidak perlu label atau pasangan input-output, cukup dokumen sumbernya. Kalau yang dibutuhkan adalah pola perilaku yang hanya bisa didemonstrasikan lewat banyak contoh berpasangan (input diberikan, output yang diinginkan) dan sulit dijelaskan lewat instruksi teks, itu sinyal ke arah fine-tuning.
- Seberapa sering kebutuhan berubah. Ini faktor yang paling sering diabaikan. Fine-tuning membekukan pengetahuan/pola pada titik waktu tertentu. Kalau sumber kebenarannya berubah tiap minggu — misalnya pedoman coding BPJS yang direvisi, atau daftar layanan yang bertambah — fine-tuning cepat basi dan Anda harus retraining berulang kali, yang mahal dan lambat. RAG jauh lebih cocok untuk kondisi ini karena cukup update dokumen sumber, tanpa menyentuh model. Sebaliknya, kalau pola yang ingin diajarkan sangat stabil dan jarang berubah (misalnya format keluaran standar suatu organisasi), fine-tuning sekali di awal bisa lebih efisien jangka panjang dibanding terus-menerus menyusun prompt panjang.
Sebagai ilustrasi kasar, kalau kita bayangkan skala usaha 1 (termurah) sampai 10 (termahal), prompting mungkin ada di sekitar 1-2, RAG di 4-6, dan fine-tuning di 7-10 — ini sekadar gambaran relatif, bukan angka hasil pengukuran nyata, karena biaya aktualnya sangat bergantung ukuran tim dan skala data.
Kombinasi, bukan pilihan eksklusif
Dalam praktik, ketiganya sering dipakai bersamaan, bukan dipilih salah satu. Pola yang umum: mulai dengan prompting solid sebagai baseline, tambahkan RAG begitu ada kebutuhan mengakses pengetahuan eksternal yang dinamis, dan baru pertimbangkan fine-tuning kalau setelah RAG dan prompting matang, masih ada gap konsisten pada gaya atau format yang tidak bisa diselesaikan lewat instruksi maupun konteks tambahan. Fine-tuning juga tidak menggantikan RAG — banyak sistem produksi memakai model yang sudah di-fine-tune untuk gaya tertentu, sekaligus tetap memakai RAG untuk pengetahuan faktual yang berubah-ubah.
Contoh sederhana: instruksi seperti "jawab hanya berdasarkan konteks yang diberikan, jangan mengarang" adalah pola prompting dasar yang tetap dipakai bahkan setelah RAG maupun fine-tuning diterapkan, karena instruksi itu tetap relevan untuk mengurangi halusinasi.
Takeaway
Jangan lompat ke fine-tuning sebagai langkah pertama. Coba prompting dulu, ukur di mana batasnya. Kalau batasnya soal pengetahuan yang dinamis dan bisa didokumentasikan, tambahkan RAG. Kalau setelah itu masih ada gap pada konsistensi gaya atau format yang sulit dijaga lewat instruksi, barulah fine-tuning masuk akal — dan bahkan saat itu terjadi, prompting dan RAG biasanya tetap dipakai berdampingan, bukan digantikan.