Apa Itu Vibe Coding, Sebenarnya?
Vibe coding berarti menulis software dengan mendeskripsikan intent ke model AI dan melakukan iterasi pada output, daripada mengetik setiap baris dengan tangan.
Istilah "vibe coding" menyebar cepat pada 2024-2025 karena ia memberi nama pada sesuatu yang sudah banyak developer lakukan dengan diam-diam: mendeskripsikan apa yang mereka inginkan dalam bahasa Inggris biasa kepada model seperti GPT-4, Claude, atau tool seperti Cursor atau GitHub Copilot, dan membiarkannya menghasilkan sebagian besar kode aktual. Programmer tetap dalam loop, tetapi loop terlihat berbeda dari coding tradisional.
Definisi sebenarnya
Andrej Karpathy menciptakan frasa tersebut, mendeskripsikan workflow di mana Anda "fully give in to the vibes" — Anda prompt, menerima saran, menjalankan kode, melihat apa yang rusak, dan prompt lagi. Anda tidak membaca setiap diff baris demi baris. Anda mengarahkan berdasarkan hasil: apakah app melakukan hal itu, apakah test lulus, apakah halaman render dengan benar. Skill bergeser dari menulis syntax ke mendeskripsikan intent dengan jelas dan mengenali saat output salah.
Ini berbeda dari hanya menggunakan autocomplete. Saran inline gaya Copilot masih mengasumsikan Anda menulis fungsi sendiri dengan beberapa bantuan menyelesaikan baris. Vibe coding mengasumsikan model menulis fungsi, file, terkadang seluruh feature, dan Anda me-review dan mengalihkan daripada authoring dari awal.
Seperti apa sesi nyata
Loop vibe-coding tipikal dengan tool seperti Cursor atau Replit's Agent mode kurang lebih seperti ini:
- Prompt: "Add a rate limiter to this Express API, 100 requests per 15 minutes per IP, return 429 with a JSON error body."
- Model mengedit
middleware/rateLimit.js, memasangnya keapp.js, mungkin pullexpress-rate-limit. - Anda menjalankan
npm testatau hit endpoint dengancurldalam loop untuk cek 429 benar-benar aktif. - Ada yang salah — limiter reset di setiap deploy karena in-memory. Anda memberitahu begitu.
- Model menukar dengan Redis-backed store, menambah dependency
ioredis, update file docker-compose. - Anda re-test, berhasil, Anda commit.
Tak ada baris middleware itu yang diketik dengan tangan. Tetapi enam atau tujuh keputusan judgment dibuat oleh manusia: berapa limit seharusnya, bahwa in-memory storage salah untuk production, bahwa file docker-compose juga perlu update.
Di mana ini bekerja dengan baik
Vibe coding kuat untuk pekerjaan boilerplate-heavy: CRUD endpoints, form validation, test scaffolding, config files, glue code antara dua API yang sudah Anda pahami. Ini juga baik untuk prototyping — spinning up demo kerja dari ide dalam satu jam daripada sehari, lalu memutuskan apakah worthnya dibangun dengan benar.
Ini genuinely cepat untuk solo dev dan tim kecil mengirim internal tools atau MVP di mana cost bug rendah dan iteration speed lebih penting daripada architectural purity.
Di mana ini gagal
Failure mode yang orang tidak bicarakan cukup: model menghasilkan kode yang jalan tetapi subtly salah dengan cara yang tidak muncul sampai nanti. Query SQL yang dihasilkan mungkin bekerja untuk happy path tetapi vulnerable terhadap injection karena string concatenation terlihat fine untuk model. Auth check yang dihasilkan mungkin pass tests tetapi skip role check di satu route. Jika Anda tidak membaca kodenya, Anda tidak akan tangkap itu — Anda hanya akan lihat tests pass dan ship itu.
Ini penting lebih banyak dalam security-sensitive code daripada hampir di tempat lain. Simon Willison dan lainnya telah menunjukkan bahwa proyek vibe-coded dengan user data nyata butuh review rigor yang sama seperti kode lain, arguably lebih, karena orang yang "wrote" itu mungkin tidak bisa jelaskan apa yang dikerjakan baris demi baris.
Sistem kompleks dengan banyak implicit state — concurrency, distributed transactions, apa pun dengan subtle timing bugs — juga bad fit. Model cenderung generate kode plausible-looking untuk kasus ini yang fail dengan cara yang hard debug precisely karena nobody, human atau model, fully model edge cases dari awal.
Skill yang sebenarnya penting sekarang
Jika Anda vibe coding, skill berharga bukan typing speed, ini specification. Vague prompts dapat vague, buggy code. Specific prompts — dengan exact library names, error-handling expectations, dan edge cases disebut — dapat much better output. Skill kedua paling berharga adalah reading code cepat cukup untuk catch apa yang salah, yang berarti Anda masih perlu pahami language dan domain bahkan jika Anda tidak ketik setiap karakter.
Treat AI-generated code cara Anda treat pull request dari junior dev yang cepat tetapi occasionally overconfident: useful, sering correct, tetapi worth actual review sebelum itu touch production.
Ingin go deeper pada writing code dengan AI tools tanpa lose control of quality? Check out segmen AI dan Python dari Korra Studio untuk hands-on walkthroughs.
Ditulis dengan bantuan AI, ditinjau dan dipublikasikan oleh Michal Pilch (CISSP), Korra Studio.
Ini satu catatan dari basis pengetahuan Korra Studio — platform ini memasangkan setiap topik dengan bimbingan privat.
Mulai gratisarrow_forward