Proofig ile yeni bir ortaklık duyurusu! Daha fazla bilgi edinin
Her geçen gün yapay zeka ile yazılan kodların sayısı artıyor. Google CEO'su Sundar Pichai'ye göre, 2024 yılının sonlarında Google'ın kodlarının %25'inden fazlası yapay zeka tarafından yazılmıştı. Robinhood'un CEO'su, Robinhood'da kullanılan kodların çoğunun artık AI tarafından yazıldığını söylüyor. "Vibe coding" ( Andrej Karpathy'nin bir tweetinde popüler hale gelen) terimi kamuoyunun sözlüğüne girmiştir: bu terim, kodlamanın "vibes"ine tamamen teslim olup AI'nın kontrolü ele almasına ve sizin için kodu yazmasına izin verdiğinizde kullanılır.
Cursor, Lovable ve Replit gibi girişimler, kodlamaya giriş engelini ortadan kaldırmaya çalışıyor: yani programlamaya başlamak o kadar kolay hale geliyor ki, şirketteki herkes Python veya React bilgisi olmadan kod yazabilir, hatta tam teşekküllü bir web sitesi veya uygulama geliştirebilir.
2025 StackOverflow Geliştirici Anketi, bu eğilimin ne kadar yaygınlaştığını ortaya koyuyor. Geliştiricilerin %84'ü geliştirme iş akışlarında AI araçlarını kullanıyor veya kullanmayı planlıyor, profesyonel geliştiricilerin %51'i ise AI araçlarını günlük olarak kullanıyor. Bu, sektör genelinde kod yazma biçiminde önemli bir değişimi temsil ediyor.
Ancak, anket aynı zamanda bu AI destekli geliştirme çağında yaşanan büyüme sancılarını da ortaya koyuyor. Geliştiricilerin %52'si AI araçlarının üretkenliklerini olumlu yönde etkilediğini bildirirken, AI araçlarına yönelik olumlu duygu 2025 yılında %70'in üzerindeyken %60'a düşmüştür. AI tarafından üretilen bu araçlarla ilk keşif döneminin ardından, geliştiriciler artık bu araçlara daha tarafsız bir bakış açısıyla yaklaşıyor gibi görünüyor.
Hayal kırıklığının kaynağı çok açık: Geliştiricilerin %66'sı "neredeyse doğru ama tam olarak doğru olmayan AI çözümleri"nden dolayı hayal kırıklığına uğruyor ve %45'i AI tarafından üretilen kodların hata ayıklamasının beklenenden daha fazla zaman aldığını düşünüyor. Geliştiricilerin sadece %3'ü AI araçlarının çıktılarına "büyük ölçüde güveniyor", %46'sı ise AI araçlarının doğruluğuna aktif olarak güvenmiyor.
Bu ilginç bir paradoks yaratıyor: geliştiriciler kod yazmak için giderek daha fazla yapay zekaya güveniyorlar, ancak yapay zekanın ürettiği sonuçlara tam olarak güvenmiyorlar. Anketin belirttiği gibi, geliştiricilerin %75'i "yapay zekanın cevaplarına güvenmediklerinde" yine de bir insandan yardım isteyeceklerini belirtiyor ve kendilerini "kalite ve doğruluğun nihai hakemleri" olarak konumlandırıyorlar. Simon Willison'a göre, "her satırı gözden geçirmeden, piyasaya sürmeyi planladığı projeler için AI tarafından üretilen kodu kullanmaz. Halüsinasyon riski olmakla kalmaz, chatbot'un hoşgörülü olma isteği, kullanılamaz bir fikrin işe yaradığını söyleyebileceği anlamına gelir. Bu, kodu düzenlemeyi bilmeyenler için özel bir sorundur. Yerleşik sorunları olan yazılımlar yaratma riskiyle karşı karşıyayız."
AI tarafından üretilen kodlar artık hayatımızın bir parçası olsa da, kodun insan tarafından yazıldığını doğrulamanın hala mantıklı olduğu bazı durumlar kesinlikle vardır.
İşe alım sürecinde, bir yazılım geliştiriciyi işe alırken, programcının AI yardımı olmadan yüksek kaliteli kod yazma becerisine sahip olup olmadığını değerlendirmek önemlidir. Ayrıca, işlerinde AI tarafından üretilen veya AI yardımıyla yazılmış hatalı kodları başarıyla hata ayıklayabilmeleri ve teşhis edebilmeleri için kodları ne kadar iyi anladıklarını değerlendirmek de önemlidir.
Eğitimde, öğrencilere AI yardımı olmadan programlamayı öğretmek önemlidir. AI yardımı çok fazla olduğunda, öğrenciler temel kavramları kaçırabilir ve başarılı yazılım mühendisleri olmak için ihtiyaç duydukları becerileri öğrenmeyi atlayabilirler. StackOverflow geliştirici anketinde de belirtildiği gibi, bu öğrenciler işlerinde AI yardımına erişebilecek olsalar da, sağlam bir temel olmadan, öğrenciler AI tarafından üretilen hatalı kodları düzeltemeyecek ve hatta neyin yanlış olduğunu anlayamayacaklardır.
Uyumluluk ve güvenlik. Birçok uyumluluk çerçevesi, potansiyel halüsinasyonlar ve hatalar nedeniyle AI tarafından üretilen kodları daha yüksek riskli olarak değerlendirir. Ayrıca, önemli lisans ve telif hakkı hususları da vardır. AI modelleri, uyumsuz lisanslara sahip kodları istemeden yeniden üretebilir ve bu da uyumluluk ihlallerine yol açabilir. Ek olarak, AI tarafından üretilen kodların tescilli veya telif hakkı ile korunabilir olarak değerlendirilip değerlendirilemeyeceği konusunda açık sorular bulunmaktadır.
Kaynak ve kod izleme. AI'dan önce, git blame gibi araçlar, her bir kod satırını kimin yazdığını ve değişikliklerin neden yapıldığını kolayca izlemeyi sağlıyordu. AI'nın büyük miktarda kod üretmesiyle, geliştiricilerin her satırın arkasındaki bağlamı ve mantığı hatırlaması daha zor hale geliyor. AI tarafından üretilen kodu tespit edip takip edebilmek, kod bakımı, hata ayıklama ve kaynak yönetimine yardımcı olur. CTO'lar ve mühendislik liderleri bu bilgileri, farklı AI modellerinin etkinliğini değerlendirmek ve ekiplerinin mevcut en iyi araçları kullandığından emin olmak için kullanabilirler.
Genel olarak, Pangram, özellikle kod 40 satırdan uzun olduğunda, AI tarafından üretilen kodların çoğunu ihtiyatlı bir şekilde tespit edebilmektedir. Pangram ihtiyatlıdır çünkü insan tarafından yazılmış kodları nadiren AI tarafından üretilmiş olarak işaretler, ancak AI tarafından üretilen kodların yaklaşık %8'ini kaçırır ve bunları yanlış bir şekilde insan tarafından yazılmış olarak tahmin eder.
Tüm kod parçacıklarını incelediğinde, Pangram yapay zeka tarafından üretilen kodların yaklaşık %20'sini gözden kaçırıyor. Bunun nedeni, kısa yapay zeka kod parçacıklarının çoğunun insan kodundan ayırt edilemeyen kalıplar olması veya tespit edilebilecek kadar yeterli sinyale sahip olmamasıdır.
| Metrik | Skor |
|---|---|
| Doğruluk | %96,2 (22.128/22.997) |
| Yanlış Pozitif Oranı | %0,3 (39/13.178) |
| Yanlış Negatif Oran | %8,5 (830/9.819) |
| Metrik | Skor |
|---|---|
| Doğruluk | %89,4 (41.395/46.319) |
| Yanlış Pozitif Oranı | %0,4 (99/25.652) |
| Yanlış Negatif Oran | %23,3 (4.825/20.667) |
Bu analizi gerçekleştirmek için GitHub veri setini kullanıyoruz. AI kodu için, basit iki aşamalı sentetik yansıtma aşaması kullanıyoruz:
Veri setini oluşturmak için GPT-4o, Claude Sonnet, Llama 405b, Mistral 7B, Gemini 1.5 Flash ve Gemini 1.5 Pro kullanıyoruz.
AI tarafından üretilen kod, AI tarafından üretilen yazılardan daha zor tespit edilir, çünkü serbestlik derecesi önemli ölçüde daha azdır: bir programcının yaptığı stilistik seçimler, bir yazarın yaptığı seçimlere kıyasla daha azdır. Gözlemlediğimiz yanlış negatiflerde, birçok dosyanın yaratıcılık veya esneklik için fazla bir alana sahip olmadığını fark ediyoruz. Örneğin, otomatik olarak üretilen şablon kodlar veya yapılandırma dosyaları gibi. C, Assembly ve derleyici kodu gibi düşük seviyeli diller de sözdiziminde çok daha katıdır ve bu nedenle kodun AI tarafından üretildiğini anlayabileceğimiz sinyaller daha azdır.
AI tarafından oluşturulan kodun belirtilerini arıyorsanız, aşağıdakileri öneririz:
