Kultus vibe coding itu gila
(bramcohen.com)- Kasus kebocoran source code Claude menjadi pemicu yang memperlihatkan bagaimana fanatisme terhadap "vibe coding" dapat merusak kualitas proyek nyata
- Vibe coding menjadikan tidak melihat ke dalam kode sama sekali sebagai prinsip, tetapi ini tak lebih dari takhayul murni; dalam praktiknya tetap harus ada rancangan struktur buatan manusia seperti file rencana, skill, aturan, dan sebagainya
- AI memang sangat unggul dalam tugas seperti merapikan duplikasi kode dan utang teknis, tetapi untuk memanfaatkannya manusia tetap harus meninjau kode secara langsung, menemukan masalahnya, lalu menjelaskannya kepada AI
- AI jarang secara sukarela menyadari bahwa "ada spaghetti code di sini jadi harus dirapikan"; hasil berkualitas tinggi muncul ketika manusia lebih dulu memberi arah dan konteks
- Seperti ungkapan "perangkat lunak buruk adalah pilihan pengembang", penurunan kualitas bukanlah karena AI melainkan hasil dari pengambilan keputusan
- Artinya, penurunan kualitas perangkat lunak bukan salah AI, melainkan pilihan yang diambil pengembang sendiri
Kebocoran source code Claude dan masalah vibe coding
- Source code Claude bocor, dan banyak orang mengejeknya karena kualitas kodenya rendah
- Penyebab masalah ini disebut sebagai dogfooding yang berlebihan, yaitu budaya menggunakan produk sendiri secara terlalu buta
- Dogfooding itu sendiri adalah ide yang bagus, tetapi bisa berubah menjadi aktivitas kultus yang melampaui batas kewajaran apa pun
Wujud nyata vibe coding
- Vibe coding adalah pendekatan yang menjadikan tidak memberi kontribusi apa pun ke dalam kode, bahkan tidak melihat ke dalamnya, sebagai prinsip
- Namun vibe coding murni adalah mitos — dalam kenyataannya selalu ada framework buatan manusia seperti file rencana (daftar tugas), skill, aturan, dan sebagainya, dan tanpa struktur ini AI akan menunjukkan performa yang sangat rendah
- Kode ditulis dalam bahasa Inggris sehingga siapa pun bisa membacanya, tetapi para pengembang menolak memeriksa langsung dengan logika bahwa "melihat ke dalam itu curang"
- Faktanya, ketika satu orang manusia meninjau kodenya, ditemukan bahwa ada duplikasi besar-besaran antara agent dan tool, dan ini adalah masalah yang mudah disadari jika seseorang sempat melihatnya sebentar saja
AI dan perapian utang teknis
- Proyek perangkat lunak sering kali dimulai sambil membawa utang teknis, dan dulu ada kasus yang membutuhkan waktu sampai satu tahun hanya untuk membereskannya
- Dengan memanfaatkan AI, pekerjaan perapian ini bisa selesai dalam hitungan beberapa minggu, atau dikurangi secara bertahap sambil tetap mengembangkan fitur baru
- AI sangat unggul dalam merapikan kode, tetapi lemah dalam mendeteksi masalah sendiri — hasil yang baik muncul ketika manusia memberi tahu bahwa "ada spaghetti code di sini" dan menyediakan panduan
Cara memanfaatkan AI yang benar — pendekatan berbasis percakapan
- Sebagai cara yang benar untuk menyelesaikan masalah duplikasi, diajukan langkah-langkah berikut:
- Menyusun daftar item yang termasuk di sisi agent maupun tool
- Meninjau contoh lalu menentukan apakah tiap item adalah agent atau tool
- Mendiskusikan kriteria umum dan menyusun pedoman umum
- Mengaudit seluruh item lalu memperbaiki item yang salah klasifikasi
- Untuk item yang ada di kedua sisi, meninjau kedua versinya lalu menggabungkannya menjadi satu
- Mode Ask memang ditujukan untuk proses ini, dan intinya adalah meninjau contoh bersama sambil meluruskan bagian yang salah ketika AI terlalu mudah setuju
- Setelah cukup banyak percakapan, orang bisa merasa AI menghasilkan hasil yang tampak seperti one-shot, tetapi sebenarnya itu adalah hasil yang sejak awal ditopang banyak interaksi dengan manusia
- Tim Claude menerapkan dogfooding ekstrem tanpa proses ini, sehingga mereka menolak bahkan upaya minimum untuk melihat ke dalam kode sebentar dan menjelaskan masalahnya
Contoh penggunaan nyata
- Contoh workflow pribadi: saat memulai percakapan, ia berkata seperti "mari audit unreachable code di codebase ini" atau "fungsi ini bikin mata sakit", lalu memulai diskusi
- Percakapan dilanjutkan sampai muncul arah yang bisa dieksekusi, lalu ia menjelaskan apa yang harus dikerjakan dan terus berdiskusi sampai AI berhenti mengatakan hal-hal bodoh
- Setelah itu membuat rencana dan menjalankan build adalah cara kerja sehari-hari
Kualitas perangkat lunak adalah masalah pilihan
- Menggunakan AI bukan berarti harus menerima perangkat lunak berkualitas rendah
- Library yang dibuat pengembang dengan bayaran berlebihan tanpa bantuan AI pun bisa berkualitas buruk
- Perangkat lunak buruk adalah keputusan yang diambil sendiri, dan orang harus bertanggung jawab atas itu serta mengejar kualitas yang lebih baik
9 komentar
Sambil melakukan FULL AUTO MATION dengan AI AGENT hingga pembuatan kode, merge, review, dan verifikasi dibuat sepenuhnya otonom, lalu merasa semuanya beres asalkan kode tersusun dan kita sama sekali tidak perlu pusing kecuali sesekali saat para agen saling kusut atau developer perlu turun tangan, suasana yang menganggap developer yang tidak bisa melakukan itu sebagai orang aneh yang ketinggalan tren jadi bertebaran... kalau lihat orang-orang yang biasanya menebar kode boilerplate dan menulis kode yang cuma rangkaian pola sederhana sambil menerima gaji tinggi, lalu sekarang besar mulut bilang dengan AI mereka tak perlu ngoding lagi, itu benar-benar menyedihkan.
Anda harus melakukan micromanagement hingga ke bagian yang sangat sepele untuk menghasilkan kode dengan kualitas yang lumayan meyakinkan. Menurut saya, otomatisasi penuh itu tidak masuk akal kecuali untuk memproduksi massal kode boilerplate yang benar-benar boilerplate. Orang-orang yang bicara tentang otonomi penuh biasanya termasuk salah satu dari dua golongan: entah mereka tidak terlalu paham, atau mereka penipu.
Proyek setengah jadi membanjiri…
Orang-orang yang hanya paham pemrograman setengah-setengah pun bertepuk tangan…
dogfoodingsebaiknya dipahami bukan sebagai monopoli, melainkan sebagai dog pudding.dog食...
Judul dan isi berbeda…?
Rasanya seperti kritik yang menyimpulkan bahwa vibe coding pada akhirnya berarti tidak melakukan code review, lalu menempelkan alasan untuk membenarkannya.
Selain itu, mengaitkannya dengan Claude Code juga tidak masuk akal. Jika yang dipersoalkan adalah prinsip-prinsip engineering pada level yang menuntut kualitas setara, misalnya, pemeliharaan Linux, maka masalah kualitas kode tidak akan didekati secara sepotong-sepotong seperti ini. Hampir semuanya adalah pendekatan yang bersifat propaganda, bukan berdasarkan pengujian langsung, melainkan sekadar "katanya begitu".
Mirip seperti mengatakan desain gedung Samsung jelek dan bahwa mereka masih jauh dari mampu mengejar Sony.
Waktu pertama kali mencoba Claude Code, saya bilang ke teman-teman asing, "Saya baru pertama kali mencoba vibe coding!" Tapi setelah mereka mendengar cerita saya, mereka menjawab, "Bukan, itu bukan vibe coding; vibe coding yang sebenarnya itu ya benar-benar tidak melihat kode sama sekali." Sepertinya "vibe coding" yang umum dibicarakan di Korea didefinisikan jauh lebih luas daripada definisinya di Barat. Vibe coding yang dibicarakan di Hacker News memang tepat jika didefinisikan sebagai "tidak melakukan code review".
Opini Hacker News
Aneh melihat orang mengatakan ‘vibe coding’ gagal dengan menjadikan kualitas source code bocor milik Claude Code sebagai contoh
Justru menurut saya kebalikannya. Itu bukti bahwa kita bisa melanggar aturan tradisional tentang “kode yang baik” dan tetap membuat produk yang populer serta sukses
Kode darurat yang dibuat demi tenggat waktu sering kali tetap tinggal di production
Dalam proyek pribadi pun commit pertama biasanya berantakan, lalu baru dirapikan belakangan di branch pembersihan
Namun di perusahaan hampir tidak pernah ada waktu untuk membuat draf kedua atau ketiga, jadi akhirnya draf pertama yang dirilis
Jujur saja, saya juga khawatir kalau kode yang memakai nama saya sampai bocor. Tapi memang begitulah kenyataannya
Saat mengubah kode dan terasa seperti “ini agak dipaksakan”, memperbaikinya saat itu juga pada akhirnya justru menghemat waktu
Soal LLM, saya belum cukup banyak pengalaman jadi belum yakin
Claude Code pada dasarnya adalah produk yang sederhana, dan nilai utamanya ada pada model itu sendiri
Artinya ini memungkinkan karena merupakan produk berisiko rendah sehingga kualitas kode yang rendah tidak menjadi masalah besar
Ini juga bukan pelanggaran terhadap konsep “vibe coding”. Strukturnya adalah memberi ide abstrak tingkat tinggi, lalu AI yang menulis kode sebenarnya
Claude Code berada di level AI Level 7 (manusia membuat spesifikasi, bot membuat kode), dan penulis berpendapat Level 6 lebih baik
Tingkat ideal tiap orang berbeda. Ada yang menganggap Level 5 ke bawah adalah batasnya, ada juga yang merasa Level 2 ke atas sudah berbahaya
Tingkat yang tepat berubah tergantung kompleksitas dan kebaruan bidang tersebut
Misalnya, di aplikasi yang saya buat bagian algoritma ada di Level 0, UI di Level 7, dan middleware ada di tengah-tengah
Menemukan tingkat yang tepat untuk tiap area kode itulah keterampilan yang sesungguhnya
Dalam bahasa dinamis, melampaui ini terasa tidak aman. Jika sampai Level 7 atau lebih, menurut saya lebih baik pindah total ke bahasa dengan tipe statis
Coding nantinya tinggal tersisa sebagian kecil seperti pandai besi, sementara sisanya diotomatisasi
Tetapi justru karena itu satu orang akan bisa melakukan pekerjaan yang dulu membutuhkan satu tim penuh
Godaannya besar untuk menerima fitur tanpa benar-benar memahami cara kerjanya
Penulis tulisan ini adalah pendiri BitTorrent. Bukan blogger biasa
Kegunaan Claude Code yang paling saya suka adalah untuk meningkatkan kualitas kode
Hal-hal yang kalau dikerjakan manusia terasa seperti buang waktu tetap layak dilakukan karena AI bisa mengerjakannya nyaris gratis
Merapikan pola pengujian yang berulang, menjaga konsistensi serialisasi JSON, menghapus kode duplikat, dan sebagainya
Hasilnya codebase menjadi lebih kecil dan lebih mudah dirawat. Semacam linting skala besar
Hasil dari tiap model saya verifikasi silang, lalu pada akhirnya Opus membuat daftar final untuk diperbaiki
Memang ada banyak perubahan yang tidak perlu, tetapi masalah yang tertangkap benar-benar berguna
Sudut pandang “Dogfooding” menarik
Intinya bukan kualitas kode, melainkan apakah pengguna mampu mengevaluasi hasil AI secara kritis
Engineer berpengalaman yang tetap menjaga penilaiannya saat memakai AI sangat berbeda dengan orang yang menyerahkan penilaian itu ke AI
Masalahnya, alatnya tidak bisa membedakan keduanya, dan pemasarannya justru diarahkan ke kelompok kedua
Orang yang mendukung ‘vibe coding’ berargumen bahwa LLM bisa melakukan iterasi jauh lebih cepat daripada manusia, jadi kualitas kode tidak penting
Manusia punya biaya tinggi di setiap tahap (menulis–memverifikasi–memperbaiki), sementara LLM bisa mengulang dengan cepat hanya dengan biaya token
Namun saya skeptis terhadap pendekatan ini. Saya sudah terlalu banyak melihat kasus yang rusak dalam praktik
Meski begitu, kalau LLM makin maju, bisa jadi merekalah yang benar
Dalam spektrum “vibe coding” ada dua golongan
Yang satu tidak punya latar belakang teknis tetapi menyukainya karena terasa ajaib, yang lain adalah pembenci AI
Di antara keduanya ada lapisan tengah yang tenang namun produktif. Mereka optimistis sekaligus berpengalaman
Saya sendiri menghabiskan kredit Claude Code senilai sekitar $2500 selama 6 bulan terakhir, dan meskipun sebagian besar hasilnya tidak benar-benar dirilis, saya tetap mendapat nilai yang sangat besar
Saya tidak setuju dengan klaim bahwa “Claude Code tidak berguna”
Sebagian besar web app hanya berada di tingkat CRUD yang sederhana. 99% perusahaan bahkan tidak punya 50 ribu pengguna
Perusahaan tempat saya pernah bekerja harus menjalankan program 22 jam sehari karena kode yang tidak efisien
Fenomena ini mengingatkan saya pada teori inovasi Clayton Christensen
Perusahaan mapan menikmati produk mereka saat ini yang lebih menguntungkan dan mengabaikan teknologi baru berkualitas rendah, tetapi pada akhirnya teknologi itu berkembang cukup jauh hingga membalikkan pasar
Claude Code pun sudah berada di tingkat yang “cukup bagus”, dan jika AI terus berkembang pada akhirnya akan melampaui kode yang ditulis manual
Orang-orang di sekitar ‘vibe coding’ terbagi ke beberapa kelompok
① pihak yang punya kepentingan finansial, ② developer yang lelah dengan coding, ③ pemula yang untuk pertama kalinya berhasil membuat sesuatu
② tidak ingin belajar hal baru, dan ③ benar-benar sedang merasakan kegembiraan berkarya
AI coding bisa menjadi jalur masuk yang baik bagi mereka
Saya juga termasuk tipe itu. Selama 30 tahun saya mencintai coding, tetapi waktu yang dibutuhkan untuk mewujudkan apa yang saya bayangkan selalu terlalu lama
Sekarang kesenjangan itu hilang dan saya merasa bebas. Tujuannya adalah belajar cara meningkatkan kecepatan sambil menjaga kualitas
Produktivitas turun dan kelelahan meningkat karena orang meniru masalah perusahaan besar apa adanya
Sekarang berkat AI, kita bisa mengabaikan kompleksitas semacam itu dan langsung mendapatkan hasil
Tidak perlu peduli meski ada framework atau cara deployment baru. AI yang akan menangani semuanya
Konflik seperti ini selalu berulang setiap kali terjadi pergantian generasi teknologi