- Dalam pengembangan perangkat lunak, Bus Factor adalah konsep yang menunjukkan berapa banyak orang yang harus memiliki pengetahuan tertentu agar proyek tetap dapat dipelihara; sebelumnya nilai terburuknya adalah 1
- Namun, setelah rilis ChatGPT (30 November 2022), adopsi luas AI generatif membuat banyak orang tidak lagi menyimpan pengetahuan secara langsung dan justru bergantung pada AI, sehingga secara efektif muncul situasi bus factor 0
- Di lapangan pemrograman, semakin banyak developer yang langsung memakai kode dan fitur yang dihasilkan LLM apa adanya, menyerah untuk memahami codebase, lalu beralih ke “vibe coding”
- Akibatnya, saat memperbaiki bug, menerapkan patch keamanan, atau memperluas fitur, tim bisa menghadapi situasi di mana tidak seorang pun tahu mengapa kode itu ditulis seperti itu
- Ini menimbulkan risiko serius bagi keandalan dan keamanan perangkat lunak, dan sampai hari ketika AI bisa menghasilkan kode sempurna secara sempurna tiba, keterbatasan mendasarnya akan tetap ada
Konsep dan sejarah bus factor
- Bus factor adalah konsep yang menyatakan dalam angka berapa banyak orang yang berbagi pengetahuan tertentu
- Contoh: jika 3 orang tahu cara memulihkan backup database, maka bus factor untuk fungsi itu adalah 3
- Secara tradisional, nilai terburuknya adalah 1, dan jika satu orang kehilangan pengetahuan itu, proyek tidak bisa dipertahankan
- Umat manusia telah menyebarkan pengetahuan untuk mengatasinya melalui dokumentasi, pelatihan, transfer pengetahuan, seminar, sekolah, dan banyak cara lainnya
- Ini berlanjut sebagai upaya sistematis untuk mewariskan dan melestarikan pengetahuan dengan menginvestasikan banyak sumber daya manusia dan waktu
Adopsi AI dan bus factor 0
- Rilis ChatGPT pada November 2022 membuka era “AI First”
- Dalam proses AI menghasilkan kode dan fitur, banyak orang tersingkir dari peran sebagai penyimpan pengetahuan dan mulai bergantung pada hasil buatan AI, sehingga pemahaman mereka terhadap proyek menurun tajam
- Akibatnya, muncul keadaan tanpa pemilik pengetahuan sama sekali, yaitu situasi bus factor 0
- Para programmer menunjukkan kecenderungan untuk tidak menulis dan memahami kode maupun fitur sendiri, melainkan mendelegasikannya sepenuhnya kepada AI
- Dalam proses ini, developer menghindari pemahaman codebase dan dokumentasi, lalu berubah ke pola yang sekadar meminta AI menjelaskan ulang
Masalah coding berbasis LLM
- Terlepas dari masalah kualitas kode, inti persoalannya adalah bahwa membaca dan memelihara pada dasarnya lebih sulit daripada menulis
- Di masa lalu, mentor atau dokumentasi setidaknya memberi bantuan minimal, tetapi dalam lingkungan yang bergantung pada AI, bahkan jaring pengaman ini pun menghilang
- Dalam pengembangan berbasis LLM, proses pembuatan kode tidak terekam, dan AI pun tidak dapat mengingat konteks kode yang dihasilkannya sendiri
- Pada akhirnya, developer harus menganalisis dan memodifikasi kode yang ditulis AI tetapi konteksnya tidak jelas
- Ini menyebabkan keadaan di mana tidak seorang pun dapat mengetahui maksud dan struktur kode saat menangani perbaikan bug, patch kerentanan keamanan, upgrade dependensi, dan sebagainya
Risiko dari sudut pandang pengguna
- Bukan hanya developer, pengguna pun terekspos pada risiko
- Perangkat lunak tempat orang mengunggah dokumen pribadi, informasi kartu kredit, foto pribadi, atau pikiran personal bisa saja dibuat dengan kode yang struktur internal dan tujuannya tidak diketahui siapa pun
- Ini mengandung risiko serius dari sisi perlindungan data dan keandalan, serta menimbulkan pertanyaan tentang stabilitas layanan
Kesimpulan
- Vibe coding yang menyebabkan bus factor 0 adalah pendekatan yang pada dasarnya cacat
- Ini adalah keterbatasan yang tak terhindarkan sampai AI dapat menghasilkan kode yang 100% akurat dari prompt yang 100% akurat
- Karena itu, dalam situasi saat ini, selain memanfaatkan AI, kita tidak boleh mengabaikan pentingnya pelestarian pengetahuan dan pemahaman kode, dan menjaga sistem manajemen pengetahuan serta dokumentasi adalah hal yang esensial
Belum ada komentar.