Ilustrasi tiga lapisan bertumpuk

Di episode 3, "Nulis PRD: Spesifikasi yang Bikin AI Ngerti Maumu", kita sudah belajar menulis peta besar: PRD mini yang menjelaskan apa yang harus dibangun. Tapi ada masalah baru yang muncul begitu PRD-mu selesai. Fitur yang agak kompleks, misalnya login plus dashboard, tidak bisa dikerjakan AI dalam satu perintah raksasa. Kamu mengetik satu prompt panjang, AI menghasilkan ratusan baris kode, lalu ada error di baris 200 dan kamu tidak tahu harus mulai memperbaiki dari mana.

Solusinya adalah prompt berlapis. Ibarat membangun rumah, kamu tidak menuang fondasi, memasang dinding, dan mengecat atap dalam satu gerakan. Kamu kerjakan lapis demi lapis, dan setiap lapis diperiksa sebelum lanjut ke lapis berikutnya. Episode 4 ini mengajarkan teknik itu untuk fitur software.

Kenapa Prompt Raksasa Itu Bermasalah

Ada tiga alasan kenapa satu prompt raksasa hampir selalu berakhir kecewa. Pertama, konteksnya bocor. Semakin panjang perintahmu, semakin besar peluang AI melupakan detail di awal perintah saat mengerjakan bagian akhir. Kedua, tidak bisa di-debug. Kalau hasilnya error, kamu tidak tahu apakah masalahnya di desain databasenya, di logika fungsinya, atau di tampilannya. Semuanya tercampur dalam satu gumpalan kode. Ketiga, tidak bisa di-review. Kamu sebagai manusia tidak mungkin memeriksa 500 baris kode sekaligus dengan teliti. Hasilnya, kamu asal setuju, dan bug-nya baru ketahuan minggu depan.

Prompt berlapis menyelesaikan ketiganya dengan satu prinsip sederhana. Kecilkan unit kerja sampai kamu bisa memeriksanya dengan nyaman. Kalau satu lapis hasilnya salah, kamu tahu persis di lapis mana masalahnya, dan kamu hanya perlu mengulang lapis itu, bukan semuanya.

Konsep Tiga Lapisan

Untuk kebanyakan fitur, tiga lapisan ini sudah cukup. Lapisan 1: arsitektur. Di sini AI diminta merancang struktur besarnya saja, tanpa menulis kode implementasi. File apa saja yang dibutuhkan, data apa yang mengalir ke mana, teknologi apa yang dipakai. Outputnya adalah rancangan, bukan kode. Lapisan 2: modul. Setiap bagian dari arsitektur dikerjakan satu per satu. Misalnya modul login dulu sampai beres, baru modul dashboard. Lapisan 3: fungsi. Di dalam tiap modul, fungsi-fungsi kecil ditulis dan diuji satu per satu.

Aturan mainnya: jangan naik ke lapisan berikutnya sebelum lapisan saat ini kamu setujui. Arsitekturnya salah? Betulkan dulu, jangan lanjut ke modul. Modul login belum jalan? Jangan sentuh dashboard. Disiplin ini terasa lambat di awal, tapi jauh lebih cepat daripada mengulang semuanya dari nol di akhir.

Berhenti dan tebak dulu! Kenapa lapisan arsitektur sengaja tidak menghasilkan kode, padahal AI bisa langsung menulis kodenya?

Jawaban: karena keputusan arsitektur adalah keputusan termahal untuk diubah. Mengubah nama tabel database setelah 10 file kode ditulis jauh lebih menyakitkan daripada mengubah satu paragraf rancangan. Lapisan arsitektur memindahkan keputusan mahal ke tempat yang murah untuk diubah, yaitu teks rancangan. Murah salah di kertas, mahal salah di kode.

Contoh Nyata: Fitur "Login + Dashboard"

Mari kita terapkan ke fitur yang familiar: halaman login plus dashboard sederhana. Berikut tiga prompt berlapisnya, dari lapisan 1 sampai 3. Kamu bisa copy semuanya, tapi jalankan satu per satu.

LAPISAN 1 - ARSITEKTUR
"Rancang arsitektur untuk fitur login + dashboard sederhana.
Jangan tulis kode dulu. Hasilkan: (1) daftar file yang dibutuhkan,
(2) alur data dari form login sampai dashboard tampil,
(3) di mana data user disimpan. Tunggu persetujuan saya
sebelum lanjut."

LAPISAN 2 - MODUL
"Dari arsitektur yang sudah saya setujui, kerjakan MODUL LOGIN saja.
Jangan sentuh dashboard dulu. Buat form login, validasi input,
dan penyimpanan sesi. Beri tahu saya cara mengujinya."

LAPISAN 3 - FUNGSI
"Di modul login, buatkan fungsi validasiPassword(password).
Aturan: minimal 8 karakter, harus ada angka.
Kembalikan true/false plus pesan error yang jelas.
Jangan ubah fungsi lain."

Perhatikan pola di setiap lapisan. Setiap prompt menyebut batasannya dengan tegas. "Jangan tulis kode dulu", "jangan sentuh dashboard dulu", "jangan ubah fungsi lain". Batasan inilah yang menjaga AI tetap di jalurnya. Tanpa batasan, AI cenderung mengerjakan semuanya sekaligus, dan kita kembali ke masalah prompt raksasa.

Top-Down vs Bottom-Up: Kapan Pakai yang Mana

Cara di atas disebut top-down: mulai dari gambaran besar, turun ke detail. Ini cocok untuk fitur baru yang dibangun dari nol, karena kamu butuh peta sebelum mulai jalan. Tapi ada pendekatan sebaliknya, yaitu bottom-up: mulai dari fungsi-fungsi kecil yang sudah pasti dibutuhkan, lalu rangkai ke atas.

Bottom-up cocok untuk dua situasi. Pertama, saat kamu mengerjakan codebase yang sudah ada. Arsitekturnya sudah jadi, jadi tidak perlu dirancang ulang. Langsung saja ke fungsi yang perlu ditambah atau diperbaiki. Kedua, saat kamu belum yakin dengan gambaran besarnya. Daripada memaksa merancang arsitektur untuk sesuatu yang masih kabur, lebih baik bangun potongan kecil dulu untuk menguji pemahamanmu. Setelah potongannya jelas, arsitekturnya biasanya ikut jelas dengan sendirinya.

Aturan praktisnya begini. Fitur baru dari nol pakai top-down. Codebase yang sudah jalan pakai bottom-up. Keduanya tetap berlapis, yang beda hanya arahnya.

Cara Memeriksa Tiap Lapisan Sebelum Lanjut

Disiplin "jangan lanjut sebelum disetujui" hanya works kalau kamu tahu apa yang diperiksa. Setiap lapisan punya checklistnya sendiri. Di lapisan arsitektur, tanyakan tiga hal. Apakah semua fitur di PRD terpetakan ke file atau modul? Apakah alur datanya masuk akal dari awal sampai akhir? Apakah ada teknologi asing yang tidak kamu kenal dan tidak kamu butuhkan? Kalau satu saja jawabannya meragukan, minta AI merevisi rancangannya. Di lapisan modul, uji dengan cara memakainya. Modul login berarti kamu benar-benar mencoba login dengan data benar dan data salah. Jangan percaya kata AI bahwa "seharusnya sudah jalan". Di lapisan fungsi, uji kasus batasnya. Fungsi validasi password harus dicoba dengan password kosong, password 7 karakter, dan password tanpa angka. Tiga uji kecil ini menangkap 90 persen bug fungsi.

Satu kebiasaan yang mempercepat semuanya: minta AI menulis cara menguji di setiap lapisan, seperti contoh prompt lapisan 2 di atas yang diakhiri "beri tahu saya cara mengujinya". AI yang menulis kode biasanya tahu cara tercepat mengujinya. Kamu tinggal menjalankan, bukan menebak-nebak.

Jebakan: Satu Prompt Raksasa Sekaligus

Jebakan episode ini adalah godaan untuk menggabungkan semuanya menjadi satu prompt raksasa "biar cepat". Gejalanya mudah dikenali. Prompt-mu lebih dari satu layar penuh. Kamu memakai kata "sekalian" berkali-kali: "buatkan login sekalian dashboard sekalian laporannya". Hasilnya ratusan baris kode yang tidak kamu pahami sepenuhnya.

Obatnya juga sederhana. Setiap kali kamu tergoda menulis kata "sekalian", berhenti. Itu tanda kamu sedang menggabungkan dua lapis menjadi satu. Pecah di titik itu juga. Tulis prompt untuk lapis pertama saja, jalankan, periksa, baru lanjut. Kecepatan sejati di vibe coding bukan soal berapa cepat AI menulis kode, tapi soal berapa jarang kamu harus mengulang dari nol.

Kuis: Kamu diminta menambahkan fitur export PDF ke aplikasi kasir yang sudah jadi dan dipakai. Pendekatan berlapis mana yang paling tepat?

Latihan Minggu Ini

Ambil PRD mini yang kamu tulis di latihan episode 3. Pecah menjadi tiga lapis prompt mengikuti pola di artikel ini. Tulis ketiga prompt itu di catatanmu sebelum membukanya di AI. Lalu jalankan lapis 1, dan jangan lanjut ke lapis 2 sebelum kamu benar-benar paham dan setuju dengan rancangannya. Rasakan bedanya. Kebanyakan orang melaporkan satu hal yang sama: untuk pertama kalinya, mereka merasa memegang kendali atas AI, bukan sebaliknya.

Di episode 5 kita akan membahas "Plan Mode: Suruh AI Mikir Dulu Sebelum Ngoding". Prompt berlapis versi manual sudah kamu kuasai, sekarang saatnya mengenal fitur bawaan di tools modern yang mengotomatiskan pola ini: mode di mana AI wajib menyusun rencana dulu dan memintamu menyetujuinya sebelum menulis satu baris kode pun. Sampai jumpa besok jam 21:00. Bakar semangat kodingmu seperti api kompor.