- On yıllardır tekrarlanan “programcıların sonu” kehanetleri her seferinde yanlış çıktı; teknolojik ilerleme ise tersine daha fazla geliştiriciye ve daha fazla programa yol açtı
- WYSIWYG, 4GL, No-Code, LLM gibi çeşitli otomasyon teknolojileri ortaya çıktı, ancak pratikte geliştiricilere olan ihtiyacı azaltamadı
- LLM tabanlı araçlar, geçmiş teknolojilere kıyasla güvenilirlik ve bakım yapılabilirlik açısından daha zayıf; çoğu ekipte verimlilik düşüşüne ve kalite bozulmasına neden oluyor
- Programlamanın özündeki zorluk kod yazmak değil, insanın muğlak düşüncesini mantıksal biçime dönüştürebilme yeteneğidir ve bu hâlâ insanların alanıdır
- Bu nedenle yapay zekanın geliştiricilerin yerini alma olasılığı düşüktür; aksine yetkin geliştiricilere olan talebin daha da artması beklenmektedir
Tekrarlanan “programcıların sonu” döngüsü
- Son 43 yılda Visual Basic, Delphi, Executable UML, No-Code, Low-Code gibi çeşitli teknolojilerin programcılara olan ihtiyacı ortadan kaldıracağı öne sürüldü
- 1970~80'lerde 4GL, 5GL, ondan önce Fortran, COBOL, daha da geriye gidildiğinde A-0 derleyicisi bile aynı kehanetlere konu oldu
- İlk elektronik bilgisayar COLOSSUS fiziksel kablolamayla programlanıyordu; daha sonraki kuşaklar bile “gerçek programcı değil” diye küçümsendi
- Ancak sonuçta programcı sayısı azalmadı, aksine arttı; bu durum Jevons Paradox için tipik bir örnek olarak anılıyor
LLM ile geçmiş teknolojiler arasındaki fark
- Geçmiş teknolojiler gerçekten de yazılım üretim hızını artırdı ve güvenilirliği korudu, ancak LLM'ler çoğu ekipte bunun tersini gösteriyor
- LLM'ler kod kalitesini düşürüp bakımı zorlaştırarak “LOSE-LOSE” durumu yaratıyor
- Aynı prompt ile bile aynı sonucu veremiyorlar ve üretilen kod için insan geliştiricilerin doğrulaması ve düzeltmesi zorunlu oluyor
- Yapay zekanın geliştiricilerin yerini aldığına dair bir kanıt yok; son dönemdeki işten çıkarmalar ise pandemi dönemindeki aşırı işe alım, faiz artışları, veri merkezi yatırımlarına yoğunlaşma gibi ekonomik nedenlerden kaynaklanıyor
Programlamanın özsel zorluğu
- Programlamanın özü, insanın muğlak düşüncesini mantıksal olarak kesin hesaplamalı düşünceye dönüştürme sürecidir
- Bu, delikli kart döneminden COBOL, Visual Basic ve Python'a kadar değişmeyen bir zorluktur
- Doğal dil doğası gereği muğlak ve kesin değildir; bu yüzden İngilizce ya da Fransızca ile programlama yapılan bir çağın gelmeyeceği yönündeki Dijkstra öngörüsüne atıf yapılıyor
- Bu düşünme biçimi öğrenilebilir olsa da, herkesin keyif alacağı ya da iyi yapabileceği bir iş değildir; yetkin insan kaynağı arzı da her zaman yetersiz kalır
Yapay zekanın sınırları ve sürdürülebilirlik
- AGI (genel yapay zeka) hâlâ uzaktadır ve insan düzeyinde anlama, akıl yürütme ve öğrenme yeteneği gerektirir
- Büyük ölçekli LLM'ler çok yüksek maliyet ve zarar üretiyor; bu yüzden uzun vadede sürdürülebilir değiller
- Zaman geçtikçe modellerin eğitildiği dil ve kütüphane sürümleriyle ilgili kısıtlar nedeniyle kullanışlılıklarının azalması mümkündür
- Bu nedenlerle aşırı büyük LLM'ler, “Apollo Ay keşfi” gibi ekonomik olmayan deneyler olarak kalabilir
Gelecekteki geliştirme ortamına bakış
- Yakın gelecekte yazılım geliştirme, küçük dil modeli tabanlı yardımcı araçların prototip üretimi ya da kod otomatik tamamlama gibi yardımcı roller üstlendiği bir yapıya evrilebilir
- Ancak önemli kararlar ve kalite güvencesi insan geliştiriciler tarafından yönlendirilmeye devam edecek ve Jevons yasası uyarınca geliştirici talebi tersine artabilir
- Şirketler şimdiden yetkin geliştiricilerin işe alımına ve eğitimine yatırım yapmalı; bu, yapay zeka olsun ya da olmasın verimliliği ve güvenilirliği artıran temel stratejidir
1 yorum
Hacker News görüşleri
Uzun yıllar agent-LLM kullandıktan sonra, gerçek programlama için hiç faydalı olmadığını gördüm
Karmaşık düşük seviye kütüphane sorunlarını ya da sezgisel olmayan bug'ları çözemiyor, soyut katmanlardaki mantığı da anlayamıyor
Ancak basit web sitesi kurma gibi zaten binlerce kez tekrarlanmış boilerplate işlerinde mükemmeldi. Bu tür basit işlerde bir günlük zaman kazandırdı
Ama LLM'lerin basit işlerin ötesine geçip karmaşık problemleri anlayabilecek noktaya gelme ihtimali görünmüyor
Düşük seviye kodlama ya da legacy bug çözmek programlamanın tek hali değil. LLM'in yaptığı web sitesi kurma işi de açıkça bir programlama türü
Büyük kod tabanlarını anlama, özellikler için beyin fırtınası yapma, uygulamadaki boşlukları tespit etme gibi konularda inanılmaz zaman kazandırdı
Tam bir ikame mümkün olmasa da, bir mühendisin güçlü bir aracı olarak değeri açık
Ama çoğu geliştirici framework ve kütüphaneleri birleştirme işi yapıyor.
Elektrikli araçlar büyük yük taşımacılığı için uygun olmayabilir ama sıradan sürücüler için fazlasıyla kullanışlıdır; LLM'ler de böyle bir yerde duruyor
Birkaç ay öncesine kadar sana katılırdım ama artık teknoloji o sınırı aşmış gibi görünüyor
Ben ERP alanında çalışıyorum ve ajanlar üretkenliği sıçrattı
Aylık abonelik 500 dolara çıksa bile kullanmaya devam edecek kadar değerli
AI'nın programcılara olan ihtiyacı azaltacağı yönündeki öngörünün gerçeğe dönüşmesinden korkuyorum
Zaten AI'nın tasarım, kod inceleme, bug tespiti, proje planlama gibi işlerde benden daha iyi olduğunu hissediyorum
Sanki ben sadece süreci yöneten bir orkestra şefi rolündeyim
Eskiden 20 kişinin yaptığı işi tek başıma yapıyormuşum gibi geliyor, bu da korkutucu
Uzun vadeli planlama ve karar vermede iyi olan hâlâ insanlar. Bizim kaygılarımız, gururumuz, duygularımız var ve asıl güç burada
AI sadece bir kelime torbası; ne sevgisi var ne de sürekliliği
Temel düzeyde yetkinliği olan bir insanın çok daha iyi olduğunu düşünüyorum
Eğer tek başına 20 kişinin işini yapıyorsan, o 20 kişinin zaten baştan verimsiz olması muhtemel
Orada kilit nokta bulaşık makinesini sürekli çalıştırmaktı; AI kodlama ajanları da o makine gibi
Ben prompt'u veriyorum, çıkan sonucu gözden geçirip düzenliyorum. Sonuçta insan eli hâlâ gerekiyor
AI sayesinde 20 kişinin yaptığı işi 1 kişi yapıyorsa, bu üretkenlik artışı demektir ve daha büyük bir refah üretir
Şu anki LLM çılgınlığının büyük ölçekli bir Eliza etkisi olduğunu düşünüyorum
Konuyla ilgili kavramlar ELIZA effect ve Weizenbaum'un Computer Power and Human Reason kitabında görülebilir
LLM'ler sanki etkili insanları (CEO'lar, yatırımcılar) etkileyecek şekilde evrilmiş gibi
Gerçek uzman seviyesinde olmaları gerekmiyor; sadece “yeterince iyi görünüyor” olmaları benimsenmeleri için yetiyor
Amerikalı geliştiriciler için gerçek tehdit AI değil, outsourcing
Ben bir göçmenim ve New York'ta bir finans şirketinde çalışıyorum. Çalışanların %95'i yabancı kökenli ve yeni işe alımların çoğu da H1B vizesi sahibi
Dijkstra'nın 50 yıl önce söylediği gibi, insan diliyle programlama yapmak imkânsız
Çünkü doğal dil özünde muğlak ve kesinlikten uzak
“Prompt yeni source code'dur” diyenler, biraz Excel ile uygulama yapan insanlar gibi
“Blood in the Machine” kitabını okuyunca Luddite hareketinin tarihini öğrendim
Sanayi Devrimi'nden önce kıyafetler aile bazında üretiliyordu ama makineler gelince zanaat temelli sektör çöktü
Şimdi geliştiriciler de aynı yoldan gidiyor gibi görünüyor
Ama yazılım geliştirmede kod yazmak tüm sürecin sadece bir parçası
Toyota nasıl zanaatkârları yerinden ettiyse, LLM'ler bakımı da otomatikleştirirse geliştiriciler de aynı kaderi yaşayacak
Ucuz kıyafetler her yeri kaplasa da tasarımcılar ve üst segment markalar ayakta kaldı. Yazılım da muhtemelen böyle dönüşecek
Eskiden Visual Basic ve Delphi gibi WYSIWYG araçlarının programcıların yerini alacağı söylenirdi ama öyle olmadı
AI da benzer. Kırılgan ve istikrarsız kod üretebilir ama bunu kararlı hâle getirmek için hâlâ gerçek programcılar gerekiyor
1980'lerde de devletler ve sektör 4GL'e devasa yatırımlar yaptı ama sonuçta başarısız oldular
Japonya'nın MITI Fourth Generation Project girişimi de benzerdi. O dönemin “yazılım krizi”, bugünkü AI çılgınlığına benziyor
Bu yazı bana AI övgüsü yapan bir makale gibi geldi. Özellikle sonda eğitim hizmeti tanıtması öyle hissettirdi
Yine de üretkenliğimin gerçekten arttığı da bir gerçek, bu yüzden sonuçta geliştirici talebinin azalması kaçınılmaz görünüyor
Hatta farklı görüşlerin bir araya getirilmiş olduğu LLM yazısı gibi hissettirdi
Geliştirme maliyeti yarıya inerse yazılım çok daha fazla alanda kullanılacaktır
Bkz. Jevons paradox
Havacılık güvenliğinde geçen Swiss cheese modeli gibi, LLM'ler de yazılım geliştirmenin katmanlarından biri olarak görülebilir
Her katman kusursuz olmasa da birbirinin açıklarını kapatıp toplam kaliteyi yükseltir
Onları kod doğrulama ya da test analizinde akıllıca uyguladığımız aşamada değiliz
Ama bir gün gerçekten doğru kullanım örneklerinin çıkacağına eminim
Güvenliği garanti etmek için sonuçta yine bir insanın her şeyi gözden geçirmesi gerekiyor
Havacılık yazılımının güvenilirliğiyle LLM'lerin istikrarsızlığını kıyaslamak bile mümkün değil