Munculnya generasi kode bertenaga AI menciptakan masalah yang belum pernah terjadi sebelumnya dalam pengembangan software: proyek dengan bus factor nol. Ini berarti secara harfiah tidak ada seorang pun dalam tim pengembangan yang memahami bagaimana bagian-bagian kritis dari software mereka benar-benar bekerja.
Bus factor secara tradisional mengukur berapa banyak anggota tim yang bisa tertabrak bus sebelum sebuah proyek kehilangan semua pengetahuan institusionalnya. Selama beberapa dekade, skenario terburuk adalah bus factor satu - di mana hanya satu orang yang memahami sistem tertentu. Namun munculnya vibe coding dengan large language model telah memperkenalkan sesuatu yang jauh lebih berbahaya.
Definisi Bus Factor:
- Bus Factor 1 Tradisional: Hanya satu orang yang memahami sistem (risiko tinggi)
- Bus Factor Zero: Tidak ada seorang pun yang memahami sistem (risiko yang belum pernah terjadi sebelumnya)
- Bus Factor Ideal: Beberapa anggota tim (3+) memahami setiap komponen sistem
Munculnya Vibe Coding dan Hilangnya Pengetahuan
Sejak rilis publik ChatGPT pada November 2022, banyak developer telah mengadopsi apa yang sekarang disebut pengembangan AI-first. Alih-alih menulis dan memahami kode sendiri, mereka mengandalkan AI untuk menghasilkan seluruh fungsi, fitur, atau bahkan proyek lengkap. Pendekatan ini mengutamakan kecepatan daripada pemahaman, meninggalkan tim dengan software yang sebenarnya tidak dipahami oleh siapa pun.
Komunitas telah mengidentifikasi beberapa skenario di mana tools coding AI unggul, seperti menghasilkan boilerplate code, membuat scaffolding test, dan menerapkan perubahan berulang di seluruh codebase besar. Namun, penggunaan yang sah ini dibayangi oleh developer yang menghasilkan sejumlah besar kode yang tidak direview tanpa memahami cara kerjanya.
Kasus Penggunaan Coding AI yang Efektif (Menurut Komunitas):
- Menghasilkan kode boilerplate dan scaffolding proyek
- Membuat data tes dan fondasi unit test
- Menerapkan perubahan berulang di seluruh codebase yang besar
- Membangun prototipe cepat dan proof-of-concept
- Menghasilkan dokumentasi dari kode yang sudah ada
- Membuat skrip utilitas dan tools sekali pakai
Mimpi Buruk Maintenance
Masalah sebenarnya muncul ketika sistem yang dihasilkan AI ini memerlukan debugging, patch keamanan, atau fitur baru. Tidak seperti kode yang ditulis manusia di mana developer dapat melacak alasan di balik keputusan, kode yang dihasilkan AI tidak memiliki pengetahuan institusional yang biasanya menyertai pengembangan software. Model AI asli tidak memiliki memori tentang proses generasi kode, dan prompt yang digunakan untuk membuat software sering hilang atau tidak memadai untuk referensi masa depan.
Jika Anda menggunakan llm untuk mengeluarkan bagian besar kode yang tidak direview, Anda melakukannya dengan salah dan proyek Anda memang akan menjadi tidak dapat dipelihara pada menit itu juga ketika mengambil jalur yang salah secara arsitektural, atau Anda mendapat bug dengan penyebab yang kompleks atau apa pun.
Ini menciptakan skenario yang sangat meresahkan bagi pengguna yang mengunggah dokumen pribadi, informasi kartu kredit, dan data privat ke aplikasi yang tidak benar-benar dipahami oleh siapa pun di Bumi.
Pushback Industri dan Solusi Praktis
Komunitas pengembangan tidak sepenuhnya terjual pada generasi kode AI yang tidak terbatas. Banyak developer berpengalaman mengadvokasi pendekatan yang lebih terukur, menggunakan tools AI untuk tugas-tugas spesifik seperti menghasilkan dokumentasi, membuat scaffolding proyek awal, atau menangani transformasi berulang. Developer ini menekankan bahwa AI harus menambah pemahaman manusia daripada menggantinya sepenuhnya.
Beberapa tim menemukan kesuksesan dengan pendekatan hibrid yang mencakup review kode menyeluruh, generasi dokumentasi komprehensif, dan mempertahankan pengawasan manusia sepanjang proses pengembangan. Wawasan kuncinya adalah bahwa tools AI bekerja paling baik ketika developer sudah memiliki keterampilan untuk mengevaluasi dan memahami kode yang dihasilkan.
Strategi Mitigasi Risiko:
- Tinjauan kode menyeluruh terhadap semua kode yang dihasilkan AI
- Dokumentasi komprehensif sistem yang dihasilkan AI
- Mempertahankan pemahaman manusia terhadap arsitektur sistem
- Menggunakan AI untuk tugas-tugas terbatas dan berukuran kecil daripada fitur keseluruhan
- Melestarikan pengetahuan institusional melalui berbagi pengetahuan tim
- Memperlakukan AI sebagai alat produktivitas daripada pengganti pemahaman
Implikasi yang Lebih Luas
Tren ini meluas melampaui proyek individu untuk mempengaruhi seluruh industri software. Program ilmu komputer melaporkan penurunan pendaftaran karena mahasiswa khawatir tentang AI yang menggantikan karir pemrograman. Ini menciptakan loop umpan balik yang berbahaya di mana lebih sedikit orang yang mengembangkan keahlian yang diperlukan untuk memelihara sistem kritis.
Situasi ini menyerupai tantangan otomasi lainnya di mana manusia berjuang untuk mempertahankan keterampilan sambil sebagian mendelegasikan tugas kepada mesin. Sama seperti pilot dapat kehilangan keterampilan terbang ketika terlalu mengandalkan autopilot, developer berisiko kehilangan kemampuan coding ketika terlalu bergantung pada generasi AI.
Kesimpulan
Meskipun tools coding AI menawarkan manfaat produktivitas yang nyata ketika digunakan dengan tepat, dorongan menuju pengembangan AI-first mengancam untuk menciptakan generasi software yang tidak dapat dipelihara. Solusinya bukan untuk meninggalkan tools ini sepenuhnya, tetapi menggunakannya dengan bijak sambil mempertahankan pemahaman manusia dan pengetahuan institusional.
Industri perlu menetapkan praktik yang lebih baik seputar pengembangan yang dibantu AI, memastikan bahwa keuntungan produktivitas tidak datang dengan mengorbankan maintainability dan keamanan jangka panjang. Jika tidak, kita berisiko menciptakan infrastruktur digital yang tidak benar-benar dipahami atau dapat dipelihara dengan andal oleh siapa pun.
Referensi: Al First and the Bus Factor of 0