Menara Penuh Cacat, Mabuk Vibe, dan Bobsled Vibe
(dustycloud.org)- Seiring meluasnya cara pengembangan di mana manusia tidak memahami kode yang dibuat LLM lalu kembali menyerahkan interpretasinya kepada LLM, batas antara agentic engineering dan vibe coding yang dulu dibedakan makin cepat kabur
- Bobsled vibe berarti jalur yang sudah ditentukan: dari autocomplete ke pembuatan kode, menyerah meninjau, lalu menyerah membuat prompt; makin kita memanfaatkan kecepatan generasi, makin jauh kita dari peran inti programmer, yaitu membangun teori dan melakukan peninjauan
- Dalam eksperimen Pvote, para pakar keamanan sudah diberi tahu lokasinya dan meninjau sekitar 100 baris kode selama kira-kira 20 jam, tetapi tetap tidak menemukan bug yang sulit dari tiga bug yang ada; ini menunjukkan asumsi bahwa manusia bisa meninjau sepenuhnya keluaran LLM dalam jumlah besar tidak realistis
- Mabuk vibe menyebar ketika kode dan artefak yang tidak dipahami menyusup ke poster restoran, chatbot dukungan pelanggan, kode verifikasi usia, hingga issue dan PR open source; bahkan orang yang tidak memakai alat ini pun terdampak karena harus meninjau hasil generasi orang lain
- AI generatif bisa berguna untuk menemukan masalah, tetapi sangat rapuh dalam generasi; bahkan ketika sistem yang tidak bisa dipahami menggantikan dunia, manusia tidak boleh sampai menyerah pada kemampuan untuk membangun sendiri lingkungan yang lebih baik
Menara kode yang tidak bisa dipahami
- The Tower Keeps Rising mengamati kondisi ketika, bahkan dalam situasi yang dulu harus diselesaikan lewat percakapan antaranggota tim, orang kini bisa terus membuat kemajuan dengan memakai agen
- Armin tidak menilai ini sebagai hal baik atau buruk, dan juga tidak membelanya sebagai kondisi yang berkelanjutan
- Namun ia berada di posisi yang mendorong arus ini, karena menjalankan perusahaan vibe coding
- Sistem vibe coding dapat terus menumpuk kode dan abstraksi hingga akhirnya mencapai kondisi di mana tidak ada manusia yang memahami codebase tersebut
- Muncul cara operasi baru: pengembangan tetap bisa berlanjut karena bagian yang tidak dapat dipahami manusia pun akan kembali ditafsirkan oleh LLM
- Bahkan pihak yang membelanya mengakui titik akhir ketika manusia tidak memahami sistem, dan mulai menerima kondisi itu sebagai cara pengembangan ke depan
Runtuhnya batas antara agentic engineering dan vibe coding
- Simon Willison awalnya membedakan dengan jelas agentic engineering dari vibe coding
- Dalam tulisan Maret 2025, ia menetapkan prinsip bahwa untuk pemrograman berbantuan AI berkualitas produksi, kita harus membaca semua kode yang di-commit ke repositori dan mampu menjelaskannya secara akurat kepada orang lain
- Ia membedakan bahwa meskipun kode ditulis LLM, jika manusia meninjaunya, mengujinya secara menyeluruh, dan bisa menjelaskan cara kerjanya, itu bukan vibe coding melainkan pengembangan perangkat lunak
- Sekitar setahun kemudian, dalam Vibe coding and agentic engineering are getting closer than I’d like, ia menyatakan bahwa seiring makin andalnya agen coding, bahkan kode produksi pun tidak lagi ia tinjau setiap barisnya
- Ia percaya Claude Code akan membuat endpoint API yang menjalankan query SQL dan mengembalikan JSON dengan benar, serta menambahkan tes dan dokumentasi
- Pada saat yang sama, ia merasa bersalah dan mempertanyakan apakah bertanggung jawab memakai kode yang belum ditinjau dalam produksi
- Jarak antara dua posisi itu hanya sedikit lebih dari 1 tahun
- Persepsi bahwa agentic engineering adalah cara penggunaan yang diinginkan telah tersebar luas, tetapi pengguna nyata, termasuk Simon sendiri, cenderung terseret ke arah vibe coding
Bobsled vibe
- Bobsled adalah olahraga yang meluncur cepat menuruni lintasan es, tetapi pada dasarnya hanya punya satu arah perjalanan
- Para atlet bisa bersaing dalam keterampilan dan merasakan sensasi mendebarkan, tetapi penumpang tidak punya banyak ruang untuk memilih perjalanannya sendiri
- Dalam bobsled vibe, LLM adalah kendaraannya dan pengguna adalah penumpangnya
- Kendali nyata yang dimiliki pengguna jauh lebih kecil daripada yang mereka rasakan; ini bukan sekadar lereng licin, melainkan lebih mirip perjalanan yang sudah dibuat sebelumnya
- Pengembang melewati tahap-tahap berikut sambil menghapus dirinya sendiri dari proses produksi kode
- Awalnya mengira hanya memakainya sebagai autocomplete tingkat lanjut
- Lalu menjalankan agen untuk eksplorasi ide, tetapi berkata akan menulis kodenya sendiri
- Berikutnya agen menghasilkan kode, tetapi ia bertekad meninjau semua hasilnya
- Tak lama kemudian ia hampir tidak meninjau kode, dan mulai percaya agen mungkin pengembang yang lebih baik daripada dirinya
- Pada akhirnya, ia bisa bergerak melampaui “tidak lagi coding” menuju tahap “tidak lagi menulis prompt”
- Setiap tahap adalah proses berpindah ke produksi kode berbasis kepercayaan, yakni percaya bahwa LLM memahami dan menangani pekerjaannya dengan baik
Benturan antara kecepatan generasi dan peninjauan
- Bagian yang lambat dalam coding bukanlah generasi, melainkan pembangunan teori dan peninjauan; hasil yang tampak meyakinkan tetapi salah sangat sulit di-debug dan dipahami
- Sifat paling kuat LLM adalah kecepatan generasinya, sehingga jika manusia meninjau semua hasilnya, kecepatan itu sulit dimanfaatkan sepenuhnya
- Sebaliknya, pembangunan teori dan peninjauan adalah peran terpenting programmer, sehingga muncul benturan: makin kita memaksimalkan keunggulan LLM, makin jauh kita dari peran inti tersebut
- Makalah Ka-Ping Yee Building Reliable Voting Machine Software menyebut empat faktor berikut sebagai hal yang membuat verifikasi perangkat lunak sulit
- Jumlah komponen
- Interaksi yang kompleks
- Dampak yang luas
- Nonlinearitas
- Keempat masalah ini dapat diperparah oleh cara LLM menghasilkan kode
Eksperimen peninjauan bug Pvote
- Ka-Ping Yee dan David Wagner menyisipkan masing-masing satu bug mudah, sedang, dan sulit yang dapat disalahgunakan untuk mengubah hasil pemilu ke dalam mesin pemungutan suara model Pvote
- Ketiga bug itu semuanya ditempatkan di area 100 baris, yaitu baris 11–109 pada
Navigator.py- Ini adalah bagian yang menarik dalam logika program sekaligus pilihan yang mempertimbangkan keterbatasan waktu para peninjau
- Para peninjau diberi tahu area yang harus diperiksa, tetapi tidak diberi tahu ada berapa bug
- Hasil peninjauan pada hari ketiga adalah sebagai berikut
- Dan Sandler, yang sangat akrab dengan Python, menemukan bug mudah dan bug sedang dalam sekitar 70 menit
- Yoshi Kohno dan Mark Miller menemukan bug mudah setelah sekitar 4 jam
- Bug sulit tidak ditemukan siapa pun
- Pada hari keempat, Ian Goldberg menemukan bug mudah dalam sekitar 2 jam, tetapi tidak menemukan bug lainnya
- Para pakar keamanan berpengalaman sudah tahu lokasinya, tetapi meski menghabiskan total sekitar 20 jam-peninjau, mereka tetap tidak menemukan ketiga bug tersebut
- Mark S. Miller kemudian terkejut ketika, setelah melihat bug-bug itu, semua orang sepakat bahwa semuanya adalah bug yang jelas dan seharusnya mereka temukan
- Jika programmer tingkat tertinggi pun bisa melewatkan bug yang pasti ada di dalam 100 baris, cara manusia meninjau keluaran LLM yang sangat besar akan sulit ditanggung
- Pada akhirnya pengguna menyerah meninjau dan secara bertahap menghapus dirinya dari proses produksi kode
Psikosis AI dan mabuk vibe
- “AI psychosis” dipakai secara luas untuk menyebut berbagai perilaku atau hasil buruk yang disebabkan AI generatif, tetapi awalnya lebih dekat pada kondisi ketika seseorang mengalami psikosis nyata dan keterputusan delusional dari realitas akibat berinteraksi dengan chatbot yang terlalu mengafirmasi pengguna
- Untuk rasa tidak nyaman luas akibat AI generatif yang bukan psikosis klinis, mabuk vibe (vibe sickness) lebih cocok
- Dalam catatan Glyph tentang PyCon US 2026, situasi berikut muncul bersamaan
- Mabuk vibe yang meluas
- Krisis keberlanjutan besar-besaran di open source
- Banjir PR keamanan berkualitas rendah
- Harapan, energi, dan upaya untuk saling memahami, serta rasa terima kasih atas pekerjaan yang dilakukan
Artefak generatif yang menyebar ke keseharian dan open source
- Orang-orang mengeluhkan slop, artefak generatif berkualitas rendah, tetapi pengguna AI generatif tidak menyebut hasil mereka sendiri sebagai slop
- Artefak yang tampak meyakinkan tetapi tidak bisa dipahami muncul di berbagai tempat dalam keseharian
- Poster restoran lokal dengan desain yang sulit dipahami
- Chatbot dukungan pelanggan yang membuat pengguna frustrasi
- Kode verifikasi usia
- Issue dan PR berkualitas rendah yang dikirimkan ke proyek open source
- Alat-alat ini berguna untuk sebagian pekerjaan, dan ada ruang untuk menilainya berbeda dalam hal menemukan masalah
- Namun generasi yang ditekankan oleh nama “genAI” justru merupakan bagian yang paling buruk dilakukan alat ini
- Masalahnya bukan hanya kualitas artefak, tetapi juga fakta bahwa tidak ada yang memahami bagaimana sistem itu dibangun, distrukturkan, dan dipelihara
Lingkungan yang tak bisa lepas dari AI generatif
- Bahkan jika tidak memakai AI generatif secara langsung, rekan kerja atau kontributor open source bisa mengirimkan artefak yang mereka sendiri tidak pahami sebagai “kontribusi”
- Peninjau harus mempertimbangkan apakah menanyakan apakah itu dibuat LLM akan dianggap tidak sopan
- Saat menjawab issue atau PR, mereka berinteraksi secara tidak langsung dengan agen dan tanpa sengaja ikut serta dalam alur kerja vibe coding
- Glyph menyamakan penolakan terhadap semua perangkat lunak yang mengandung LLM dengan menahan napas sampai semua orang berhenti memakai mobil sebagai protes terhadap pengenalan bensin fleksibel
- Secara realistis kita tidak punya pilihan selain menerimanya sampai batas tertentu; sekalipun menetapkan garis etika pribadi, itu tidak berarti ada harapan atau antusiasme terhadap lingkungan AI generatif
- Uncanny valley mengambil alih dunia nyata, sementara sistem yang tidak dipahami siapa pun menggantikan dunia yang ada
- Biaya yang harus dibayar untuk pulih dari kondisi ini belum diketahui, dan proyek yang memilih untuk tidak berpartisipasi dalam AI generatif saat ini layak dihormati
Pilihan untuk membuat medan yang lebih baik
- Karena pekerjaan atau lingkungan, mungkin kita tidak bisa sepenuhnya menolak berkontribusi pada masalah AI generatif
- Meski pengemudi mobil marah kepada pesepeda di jalan, jika infrastruktur sepeda kurang, pesepeda menjadi terancam oleh pintu mobil yang diparkir atau pengemudi yang tidak sabar
- Jika ada sepeda di depan saat mengemudi, kita bisa mensyukuri keberadaannya dan memikirkan cara mengubah medan dan infrastruktur agar sepeda bisa ikut berpartisipasi dengan lebih aman
- Perubahan seperti ini mempermudah mengemudi mobil, dan dalam situasi tertentu juga mempermudah memilih sepeda
- Daripada menyerahkan diri pada jalur yang ditentukan teknologi, kita tidak boleh menyerah pada keyakinan bahwa manusia dapat ikut langsung membangun dunia yang lebih baik
1 komentar
Opini Lobste.rs
Ini jelas salah satu tulisan terbaik yang membahas perubahan di industri rekayasa perangkat lunak yang belakangan ini saya amati dengan cemas
Bahkan setahun lalu, rekayasa berbasis agen terasa seperti arah yang diinginkan, tetapi tampaknya sebagian besar pengguna alat ini, meski enggan mengakuinya, justru condong ke vibe coding. Rasa takut bahwa LLM bisa membuat keterampilan dan kecintaan saya menjadi tak berguna jauh berkurang setelah saya menetapkan dua prinsip
Pertama, saat waktu luang saya tidak memakai LLM atau agen coding, dan juga menolak fitur AI di pencarian. Saya hanya memakainya saat benar-benar terdesak sampai tidak bisa menyelesaikannya sendiri, sambil menerima risiko halusinasi. Menolak teknologi memang tidak akan menyelesaikan dunia, tetapi ketika saya tidak bisa menyerang pengembang individu atau mengubah perusahaan besar, tidak melibatkan waktu luang saya adalah pilihan realistis yang masih mungkin dilakukan
Kedua, bahkan di tempat kerja yang sangat mendorong penggunaan AI, saya hanya memakainya untuk code review dan pekerjaan remeh. Paling jauh hanya menanyakan hal-hal yang sebenarnya bisa dicari langsung di codebase tetapi merepotkan, dan semua kode tetap saya tulis sendiri. Dengan begitu saya bisa memahami cara kerjanya secara intuitif dan bekerja pada level yang saya dan rekan-rekan harapkan
LLM cukup baik sebagai alat bantu untuk menemukan kesalahan berbasis pola yang tidak tertangkap linter deterministik. Memang kadang memberi jawaban ngawur, tetapi karena saya menulis dan memahami kodenya sendiri, saya tidak menelannya mentah-mentah. Jika kesalahan logika yang jelas dan asumsi yang salah bisa disaring sebelum review manusia, rekan kerja bisa fokus pada bagian yang lebih rumit, dan kita juga menghindari sikap tidak sopan yang membuat mesin berbicara dengan mesin di kanal publik menggantikan manusia
Baru-baru ini perusahaan membatasi pemakaian token dengan ketat, tetapi saya tidak terlalu khawatir karena alur kerja ini hanya menelan biaya 1–2 euro per hari. Mereka yang sepenuhnya bergantung pada firasat mungkin cemas karena harus kembali memakai penalaran manusia, tetapi yang lain tinggal mengerjakannya langsung bersama rekan kerja
Di baliknya juga ada epistemologi yang menyiksa diri sendiri: keyakinan bahwa makin menyakitkan sesuatu, makin kita harus menatapnya langsung. Menghindari informasi yang menyiksa bisa terasa seperti tindakan yang tidak berbudi, tetapi perhatian itu terbatas, jadi lebih baik dipakai untuk hal-hal yang membuat kita lebih bahagia dan lebih utuh, serta memberi tenaga untuk lanjut lagi besok
Orang yang memperlakukan segala hal dalam hidup seolah harus dioptimalkan dan dijalani seperti pekerjaan yang menuntut jadi yang terbaik justru rugi. Kalau suka coding, silakan lakukan juga saat waktu luang; kalau tidak suka, biarkan itu tetap hanya sebagai pekerjaan. Di waktu luang, tidak efisien pun kadang tidak masalah, kalau tidak begitu waktu bebas akan menjadi pekerjaan kedua dan kita tidak pernah benar-benar beristirahat
Salah eja Fawlty di sini terlalu mengganggu buat saya
Seperti biasa tulisannya bagus, tetapi rasanya tidak perlu bingung apakah bertanya apakah sesuatu dibuat oleh LLM itu tidak sopan. Terlepas dari apakah LLM dipakai dalam proses pembuatannya, kalau hasil yang kita terima buruk, kita bisa bilang saja kualitasnya jelek dan saya tidak suka
Sebaliknya, dengan rekan kerja atau orang yang sudah lama berinteraksi dengan kita secara online, kita mungkin ingin sebisa mungkin menghindari sikap kasar demi menjaga hubungan. Kita perlu tahu bagaimana kontribusi itu dibuat agar bisa membahasnya, dan hasilnya memang bisa sengaja memberi dampak besar pada hubungan tersebut. Mau mengambil risiko dianggap kasar, atau pada dasarnya menghindari konflik demi menjaga hubungan, itu pilihan yang bergantung pada karakter masing-masing
Saya memang cenderung menghindari konflik, jadi saya paham latar belakang kalimat itu muncul, dan saya juga tidak terlalu menentang argumen utamanya
Saya suka analogi bobsled. Saya tidak setuju bahwa pengguna LLM pasti akan meluncur sampai ke bawah, tetapi analogi itu menggambarkan perilaku yang terlihat di industri lebih baik daripada analogi mana pun yang pernah saya lihat sejauh ini
“Analogi bobsled” lebih dikenal sebagai kekeliruan logika slippery slope. Setahun lalu porsi vibe coding masih 0%, dan Simon Willison telah memublikasikan lewat beberapa tulisan bagaimana ia memperkenalkan agen coding secara hati-hati sambil perlahan meningkatkan tingkat kepercayaannya
Namun dari situ lalu disimpulkan bahwa “hanya ada satu tujuan akhirnya”. Lebih masuk akal jika kita menganggap Willison dan pengguna lain juga punya selera dan daya nilai mereka sendiri