- Yazılım geliştirmede Bus Factor, belirli bir bilgiye sahip kaç kişi olduğunda bir projenin sürdürülebileceğini gösteren bir kavramdır; geleneksel olarak en kötü durumda değer 1 idi
- Ancak ChatGPT’nin yayımlanmasından sonra (30 Kasım 2022) üretken yapay zekanın yaygın biçimde benimsenmesiyle, birçok kişi bilgiyi doğrudan korumak yerine yapay zekaya bağımlı hale geldi ve fiilen bus factor 0 durumu ortaya çıktı
- Programlama sahasında giderek daha fazla geliştirici, LLM’in ürettiği kod ve işlevleri olduğu gibi kullanıyor, kod tabanını anlamaya çalışma çabasından vazgeçip “vibe coding”e geçiyor
- Bunun sonucunda hata düzeltme, güvenlik yaması veya özellik genişletme sırasında kodun neden öyle yazıldığını kimsenin bilmediği bir durumla karşılaşılabilir
- Bu, yazılım güvenilirliği ve güvenliği için ciddi riskler yaratır ve yapay zekanın kusursuz kodu kusursuz biçimde ürettiği gün gelene kadar temel bir sınıra sahiptir
Bus Factor kavramı ve tarihi
- Bus Factor, belirli bir bilginin kaç kişi arasında paylaşıldığını sayısal olarak ifade eden bir kavramdır
- Örnek: 3 kişi veritabanı yedeğini geri yüklemeyi biliyorsa, ilgili işlevin bus factor’ı 3’tür
- Geleneksel olarak en kötü değer 1’di ve bir kişi bu bilgiyi kaybettiğinde projeyi sürdürmek imkansız hale geliyordu
- İnsanlık bunu aşmak için dokümantasyon, eğitim, bilgi aktarımı, seminerler, okullar ve daha pek çok yöntemle bilgiyi yaydı
- Bu, bilgiyi aktarmak ve korumak için çok sayıda insan kaynağı ve zaman harcanan sistematik çabalara dönüştü
Yapay zeka kullanımı ve bus factor 0
- Kasım 2022’de ChatGPT’nin çıkışıyla “AI First” çağı başladı
- Yapay zeka kod ve işlev üretirken birçok kişi bilginin korunmasında özne olmaktan çıktı ve yapay zeka çıktılarına bağımlı hale gelerek projeyi anlama düzeyi hızla düştü
- Sonuç olarak bilgi sahibi kimsenin olmadığı durum, yani bus factor 0 ortaya çıktı
- Programcılar kodu ve işlevleri kendileri yazıp anlamak yerine, bunu tamamen yapay zekaya devretme eğilimi gösteriyor
- Bu süreçte geliştiriciler kod tabanını anlama ve dokümantasyondan kaçınıp yalnızca yapay zekadan yeniden açıklama isteme kalıbına yöneliyor
LLM tabanlı kodlamanın sorunları
- Kod kalitesi sorunlarını bir kenara bıraksak bile, asıl nokta okuma ve bakımın doğası gereği yazmaktan daha zor olmasıdır
- Geçmişte mentorlar veya belgeler asgari düzeyde yardım sağlıyordu, ancak yapay zekaya bağımlı ortamda bu güvenlik ağı bile ortadan kalkıyor
- LLM tabanlı geliştirmede kod üretim süreci kaydedilmez ve yapay zekanın kendisi bile ürettiği kodun bağlamını hatırlayamaz
- Sonuçta geliştiriciler, yapay zekanın yazdığı ama bağlamı belirsiz olan kodu analiz edip düzeltmek zorunda kalır
- Bu da hata çözümü, güvenlik açığı yamaları, bağımlılık yükseltmeleri gibi durumlarda kodun niyetini ve yapısını kimsenin bilemediği bir durum yaratır
Kullanıcı açısından risk
- Risk yalnızca geliştiricileri değil kullanıcıları da etkiler
- Kişisel belgeler, kredi kartı bilgileri, özel fotoğraflar veya düşünceler yüklenen bir yazılım, iç yapısını ve amacını kimsenin bilmediği kodla oluşturulmuş olabilir
- Bu, veri koruma ve güvenilirlik açısından ciddi riskler barındırır ve hizmet istikrarı konusunda soru işaretleri doğurur
Sonuç
- Bus factor 0’a yol açan vibe coding, temelden kusurlu bir yaklaşımdır
- Bu, yapay zeka %100 doğru kodu %100 doğru prompt ile üretebilene kadar kaçınılmaz bir sınırlamadır
- Bu nedenle mevcut durumda yapay zekadan yararlanmanın yanında bilgi koruma ve kodu anlama önemini göz ardı etmek mümkün değildir; bilgi yönetimi ve dokümantasyon düzenini sürdürmek zorunludur
Henüz yorum yok.