- Son araştırmalara göre açık kaynak geliştiricileri iyi bildikleri bir kod tabanında AI araçlarını kullandığında çalışma süresi aksine %19 artıyor
- Geliştiriciler AI'ın kendilerini daha hızlı yaptığını düşünse de, gerçekte daha yavaşlıyorlar; yani algı ile gerçeklik arasında bir fark var
- Bunun temel nedeni, geliştiricinin sahip olduğu gelişmiş mental model (anlama yapısı) ile AI arasındaki bilgi aktarımı sınırları
- Peter Naur'un teorisine göre programlamadaki en önemli şey, geliştiricinin zihnindeki "zihinsel model"
- Danimarkalı bilgisayar bilimi öncüsü ve 2005 Turing Ödülü sahibi. Programlama dili sözdizimini açıklamakta kullanılan Backus-Naur biçimi (BNF) gösterimine katkıda bulundu
- Uzun vadeli bakış açısından, bir projeyi derinlemesine anlamak için doğrudan kod yazarak mental model kurmak önemli
AI'ın açık kaynak geliştiricilerini yavaşlatması
- Metr'in araştırmasına göre AI araçları kullanıldığında problem çözme hızının aksine %19 yavaşladığı görüldü
- Geliştiriciler işten önce AI'ın %24 daha hızlı yardımcı olacağını bekledi ve işten sonra da gerçekte olduğundan %20 daha hızlı olduğunu düşündü
- Bu araştırma, derinlemesine anladıkları açık kaynak projeleri bizzat yöneten deneyimli geliştiriciler üzerinde yapıldı
- Sonuçlar tüm geliştiricilere genellenemese de, bu grupta AI araçlarının üretkenlik üzerinde ters etki yaptığını gösteriyor
- Kurumsal ortamlarda ya da yeni bir kod tabanına uyum sağlamak zorunda olan genel geliştiriciler için AI araçları üretkenliği artırmada daha olumlu bir rol oynayabilir
AI neden deneyimli açık kaynak geliştiricilerini yavaşlatıyor
- Peter Naur'un “Programming as Theory Building” makalesine göre programlamanın asıl çıktısı kod değil, geliştiricinin ‘projeye dair mental modeli’dir
- Bu mental model, sistemi anlama, sorun teşhis etme ve etkili iyileştirme yapmanın merkezindedir
- LLM tabanlı AI, geliştiricinin mental modeline doğrudan erişemez; bazı bilgiler verilse bile bilgi aktarım sürecinde kaçınılmaz kayıplar yaşanır
- Örneğin birine bebeği uyutma işini verdiğinizde, açıkça anlatsanız bile çoğu zaman gerçekte niyetinizden farklı davranabilir
- Mental modelin aktarımı son derece karmaşıktır ve AI'ın bunu yalnızca metinle içselleştirmesi neredeyse imkânsızdır
- Bu nedenle derinlemesine anladığınız bir projede işi AI'a devretmek aksine üretkenliği düşürür
- Geliştiricinin zengin bağlam bilgisi ve sezgisel kavrayışı AI tarafından kolayca ikame edilemez
İş hayatında AI araçları yasaklanmalı mı?
- Şart değil. Bu durum yalnızca “kendi iyi bildiği, iyi anladığı projede çalışan kişi” için geçerlidir
- Birçok şirket geliştiricisi, çoktan ayrılmış kıdemli birinin kodunu bakımda tutar ya da sistemin genel yapısını derinlemesine anlamadan çalışır
- Böyle ortamlarda AI, kod tabanını hızlıca kavrayıp değişiklikleri otomatik üretmesiyle kısa vadeli üretkenlik artışına katkı sağlayabilir
- Kısa vadeli iş değeri üretimi ve anlık verimlilik açısından bakılırsa AI araçları üretkenlikte olumlu bir rol oynayabilir
Mental model kurma ve AI
- Projeye dair bir mental modeliniz yoksa, LLM üretkenlik artışına yardımcı olabilir
- Ancak yazılım geliştirmenin özü ‘mental model kurmak’ ise, AI'a aşırı bağımlılık bu yeteneği zayıflatabilir
- Uzun vadede projeyi derinlemesine anlamak ve onu etkin biçimde dönüştürmek istiyorsanız bizzat kod yazma deneyimi gerekir
- Buna karşılık, iş sadece ‘çalışsın yeter’ yaklaşımındaysa AI kullanımı verimli olabilir
Ek tartışma ve sonuç
- Mevcut düzeydeki AI araçlarıyla yeterli mental modele sahip geliştiricilerin üretkenliğini artırmak zor
- AI'ın mental modeli gerçekten destekleyebilmesi ya da deneyimli geliştiricilerin üretkenliğini çarpıcı biçimde artırabilmesi için hâlâ araştırma ve gelişim gerekiyor
- Gelecekte modeller ilerlerse, insan geliştiricilerin mental modele ille de sahip olması gerekmeyen bir gün gelebilir; ancak bugünkü seviyede doğrudan anlama ve öğrenme şart
- Sonuç olarak AI, ‘ne yaptığımı derinlemesine anlıyorum’ denilen ortamlarda engel olabilirken, ‘hızlı çıktıların önemli olduğu’ ortamlarda bir üretkenlik aracı olabilir
5 yorum
> Geliştiriciler, yapay zekanın kendilerini daha hızlı hale getirdiğine inanıyor, ancak
Yapay zeka destekli araştırma hızlandıkça kaliteyi daha yüksek seviyeye çıkarmak mümkün oluyor; bu yüzden aynı işte bile ortaya çıkan kalitenin biraz daha yükselmesi söz konusu değil mi? Geliştiriciler, işi bitirdikten sonra ortaya çıkan sonucun kalitesine uygun şekilde geliştirme yapmaya çalışırken, tek başına ulaşmaktansa yapay zekanın yardımıyla o noktaya daha hızlı ulaşabileceklerini düşünüyor olabilirler.
En başta yapay zekayı hiç kullanmamış olsalardı, sadece daha fazla bildikleri şeylerle uygulama geliştirirlerdi; acaba mesele bundan kaynaklanıyor olabilir mi diye düşünüyorum.
> Tersine, iş ‘sadece çalışsın yeter’ yaklaşımıyla yapılacak türdense, yapay zekadan yararlanmak verimli olabilir.
Bu sadece geliştiricilere özgü değil ama farklı eğilimlere sahip insanlar olduğu için, tesadüfen geliştiricilik yapıyor olup kod yazmaktan ya da koda bakmaktan hoşlanmayan veya bundan çekinen, sistematik yapı ya da bakım perspektifli yorumlardan ziyade sadece çalışmasının yeterli olduğunu düşünen kişilerde yapay zekaya bağımlılığın ya da körü körüne güvenin daha güçlü olduğu hissine kapılıyorum. Ya da değildir.
Deneyimli açık kaynak geliştiricilerinin üretkenliği üzerindeki "yapay zekanın etkisini" ölçmek
Hacker News görüşleri
İlgili blog yazısının, yapay zekanın geliştirme hızını yavaşlatmasına katkıda bulunabilecek somut bir etkeni ilginç biçimde ele aldığını düşünüyorum.
Makalede de (Bölüm C.1.5) geliştirici alıntıları var, bakabilirsiniz.
Pek çok kişi makaleyi okuyup kendine yakın gelen bir etken bulunca, “Yavaşlamanın sebebi yalnızca bu tek sorun” sonucuna varmaya meyilli oluyor.
Ama gerçekte birden fazla unsur var (en az 5 güçlü aday var, en fazla 9'a kadarı da dışlanamıyor; bkz. s.11'deki etken tablosu).
Tek bir neden varsaymaktansa çok yönlü bir neden analizi daha isabetli olur.
Kendi başına deney yapmayı planlayan varsa, sonuçları mutlaka makaledeki e-posta üzerinden paylaşmasını isterim.
Ayrıca başlığın “AI slows down open source developers. Peter Naur can teach us why” şeklinde yazılmış olmasıyla ilgili olarak, daha doğru bir ifade bence şu olurdu: “2025'in başlarında yapay zeka, deneyimli açık kaynak geliştiricilerini yavaşlatıyor. Peter Naur belirli bir etken hakkında daha fazla bağlam sunabilir.”
Belki daha az sansasyonel duruyor ama doğruluğun önemli olduğunu düşünüyorum.
Bir kez daha harika yazı için teşekkürler; yorumları da okumaya devam ediyorum
Önceki ilgili tartışma
Makalenin tamamı
xkcd zaman yönetimi karikatürü
Joel on Software: Things you should never do, part I
AI'nin ürettiği kodların çoğu sadece yazılıyor, basit birkaç testten geçiyor ve orada kalıyor. Hatta kişinin kendisinin bile tüm bağlamı ya da nedenleri yeterince anlamadığı kodlar çoğalıyor
(Makalenin C.2.7 “Ortalamanın altında AI araç kullanımı” bölümünde daha ayrıntılı ele alınıyor)
Bkz.: eski bir AI spam meselesi
try:catchbloklarını fazla geniş kullanarak sorunun kaynağını bulmayı zorlaştırdığına dikkat çekiliyor. Ben ise sorunun hızlı ve sert biçimde ortaya çıkmasını, yani fail fast olmasını isterim ki hemen düzeltebileyimBen de benzer bir düşünceye sahiptim ama bunu nasıl ifade edeceğim biraz belirsizdi.
Mental model gerçekten yerinde bir adlandırma. Ara sıra kullanmam gerekecek.