- Son dönemde büyük dil modelleri (LLM), orta ölçekli projeleri neredeyse tek başına tamamlayabilecek kadar gelişti; bu da programlama biçiminin kökten değiştiği anlamına geliyor
- Kodu doğrudan yazma eyleminin gerekliliği azalırken, ne yapılacağını ve bunun nasıl anlatılacağını düşünme becerisi daha önemli bir yetkinlik haline geliyor
- Redis'in yaratıcısı Antirez, Claude Code kullanarak UTF-8 desteği ekleme, Redis testlerindeki hatayı düzeltme, BERT embedding'leri için bir C kütüphanesi oluşturma ve Redis Streams iç yapısını yeniden üretme dahil dört işi birkaç saat içinde gerçekleştirdi
- Yapay zeka, yazılım geliştirmenin demokratikleşmesini hızlandırıyor ve küçük ekiplerin de büyük şirketlerle rekabet edebileceği bir ortam yaratıyor
- Ancak yapay zeka teknolojisinin merkezileşmesi riski ve istihdam kaybı sorununa karşı toplumsal düzeyde yanıt verilmesi gerekiyor; yapay zekayı görmezden gelmek yerine onu aktif biçimde kullanmak lazım
Programlamadaki değişim ve LLM'nin rolü
- En yeni LLM'ler, yeterli ipucu verildiğinde orta ölçekli projeleri neredeyse bağımsız biçimde tamamlayabiliyor
- Başarı, programlama türüne ve problemi açık biçimde ifade etme becerisine bağlı olarak değişiyor
- Sistem programlama gibi metinle ifade edilebilen işler olduğunda etki daha büyük oluyor
- Çoğu projede kodu bizzat yazmak verimsiz; artık ne yapılacağını ve nasıl yapılacağını anlamak daha önemli
- Yazar Antirez, yapay zekayı kullanarak şu dört işi yaptı
- linenoise kütüphanesine UTF-8 desteği ekleme ve emülatör terminal tabanlı bir test çatısı kurma
- Daha önce test maliyetine kıyasla değeri düşük olduğu için vazgeçilen bir iş, yapay zeka sayesinde hayata geçirildi
- Redis testlerindeki zamanlama ve TCP deadlock ile ilgili aralıklı başarısızlık sorununu çözme
— Claude Code süreç durumunu analiz ederek hatayı çözdü
- BERT tabanlı embedding modeli çıkarımı için saf C ile yazılmış bir kütüphaneyi 5 dakikada oluşturma
- PyTorch'a kıyasla %15 daha yavaş ama aynı sonucu veriyor. Kod boyutu yaklaşık 700 satır
- GTE-small modelini dönüştürmek için bir Python aracı da içeriyor
- Redis Streams iç yapısındaki değişiklik çalışmasını yalnızca tasarım belgesinden yeniden üretme
- İnceleme ve çalıştırma onayı süresi hariç tutulduğunda yaklaşık 20 dakikada tamamlandı
- Bu deneyimler, yapay zekanın programlamanın özünü değiştirdiğini doğruluyor
Yapay zeka ile geliştirici arasındaki ilişki
- Yapay zeka kod yazsa bile geliştiricinin rolü ortadan kalkmıyor
- Asıl önemli olan, problemi tanımlama ve yapay zekanın ürettiği kodu gözden geçirip ayarlama becerisi
- Yapay zeka, üretkenliği en üst düzeye çıkaran bir iş ortağı (partner) gibi çalışıyor
- Yapay zeka şirketlerinin kârlılığı, hisse fiyatı ya da CEO açıklamaları uzun vadede önemli değil
- Programlamadaki temel dönüş artık geri döndürülemez durumda
- Yazar, kendi yazdığı kodun LLM eğitiminde kullanılmış olmasını olumlu değerlendiriyor
- Bunu bilginin ve sistemlerin demokratikleşmesi sürecinin bir parçası olarak görüyor
- 1990'larda açık kaynağın yaptığı gibi, yapay zekanın da küçük ekiplerin rekabet gücünü artıracağına inanıyor
Yapay zeka teknolojisinde demokratikleşme ve merkezileşme endişesi
- Şu anda Çin gibi ülkelerden gelen açık modeller sayesinde belli ölçüde bir demokratikleşme yaşanıyor
- Kapalı araştırma laboratuvarlarının önde gelen modelleriyle karşılaştırıldığında bile performans farkı çok büyük değil
- Ancak bu dengenin kalıcı olmama ihtimali var
- Yapay zeka teknolojisinin birkaç şirkette toplanması olasılığı konusunda endişe bulunuyor
- Büyük ölçekli sinir ağları doğası gereği şaşırtıcı performans gösteriyor; yalnızca belirli şirketlerin tekeline girecek kadar özel bir “sihir” söz konusu değil
Toplumsal etki ve verilecek yanıt
- Yapay zeka nedeniyle istihdam kaybı yaşanabileceğine dair endişeler var
- Şirketlerin çalışan sayısını mı azaltacağı, yoksa daha fazla projeye mi girişeceği belirsiz
- Bazı sektörlerde insanların tamamen yer değiştirilme riski de bulunuyor
- Bu nedenle devletin rolü önemli
- İşini kaybedenleri destekleyecek ve değişime uyum sağlayacak politikalar gerekli
- İşten çıkarmalar arttıkça siyasi baskının da büyüyerek toplumsal koruma taleplerini güçlendireceği öngörülüyor
Geliştiricilere verilen tavsiye
- Yapay zekayı reddetmek ya da ondan kaçınmak kariyer açısından faydalı değil
- Yeni araçları bizzat deneyip uzun süre kullanmak gerekiyor
- Kısa süreli testlerle sonuca varmamak, birkaç haftaya yayılan denemelerle sürekli olarak kullanmayı sürdürmek lazım
- Yapay zeka aracılığıyla kendi yeteneklerini genişletmenin yolları aranmalı
- Kodlamanın özü “yazmak” değil, bir şeyler üretmenin keyfi; yapay zekayla bunu daha çok ve daha iyi yapmak mümkün
5 yorum
Düşündüğümüzün aksine, kodla çözülebilecek sorunlar gerçek hayatta o kadar da fazla değil. Kod epey çok sorunu çözebilir ama sorunların çoğu kodun ya da monitörün dışında yer alır.
İnatçı güvensizlik kadar mutlak körü körüne inancın da yanlış olduğunu düşünüyorum.
Önemli olan artılarını ve eksilerini dengeli biçimde değerlendirip kullanmak; ama durmadan bir FOMO atmosferi yaratmanın AI şirketlerinin pazarlama taktiği olduğunu düşünüyorum.
Hacker News görüşleri
Gece boyunca kod yazıp projenin çalıştığını izlerken hissettiğim o tutku, “bir şeyler üretmenin keyfi”ydi
Her insanda o kıvılcımın biçimi farklı. Kimisi “bilgisayarı kendi istediğim gibi kontrol ediyorum” hissinden, kimisi “başkalarının sorunlarını çözüyorum” duygusundan, bir başkası da “duygu uyandıran bir şey yapıyorum” fikrinden motive oluyor
Benim durumumda başlangıçta başkalarının web sitelerini bozmak istediğim için programlamaya başlamıştım, ama üretip paylaşma süreci daha keyifli hale geldi. Bu yüzden başkalarının geri bildirimlerini duymak benim kıvılcımım oldu
Sonuçta her programcının nedeni farklı ve bazı insanlar için LLM eğlenceyi artırırken, bazıları için işin özündeki keyfi elinden alan bir şey haline geliyor
antirez’in yazısına tamamen katılıyorum. AI geliştiricilere büyük bir avantaj sağlıyor ve şu anda internetten bu yana en büyük teknoloji devriminin tam ortasındayız
Ancak AI’nin dezavantajlarını ya da anti-AI bakış açısının nedenlerini analiz etmedi. Toplumsal etkiler, özellikle de yazılım mühendisliğinin geleceği konusundaki kaygılara değinmemiş olması üzücü
“AI trenine binmezsen geride kalırsın” sözü bana mantıklı gelmiyor. Henüz benim işimde çok yardımcı olmuyor, bu yüzden araçlar yeterince iyi olduğunda başlamanın geç olmayacağını düşünüyorum
“Anti-AI dalgası” ifadesi aşırı basitleştirici bir bakış. Teknik olarak hâlâ pürüzlü ama yararı açık ve ortadan kaybolmayacak
Ancak iş tarafında gelir modeli belirsiz. Teknoloji kalacak ama bunun üzerine kurulu startup’ların çökmesi bekleniyor
5 yıl sonra da AI daha çok kullanılacak ama bugün var olan AI şirketlerinin çoğu ortadan kalkmış olacak gibi görünüyor
“AI programlamayı sonsuza dek değiştirecek” ile “oturup kafanla düşün” arasında bitmeyen bir tartışma var. Ben ikinci tarafa daha yakınım. AI’nin avantajlarından söz etmek tek başına sorunu çözmüyor
“En yeni LLM orta ölçekli projeyi neredeyse tek başına tamamlıyor” sözü abartı. Alan bilgisi olan biri somut bir spesifikasyon verirse verimlilik ciddi biçimde artar, ama sonucun kalitesi hâlâ kullanıcının bilgi düzeyini yansıtır
İyi bir traktör versen de çiftçinin becerisi önemlidir benzetmesi yerinde
Geliştirme araçları giderek daha fazla soyutlandıkça geliştiricinin etkisi ve ödülü aslında daha da arttı. LLM de bunun devamı
Soyutlama işi kolaylaştırır, ama aynı zamanda daha fazla iş yapılabilmesini sağlar ve yeni karmaşıklıklar doğurur. Sonuçta güven ve etki önem kazanır. CEO’nun çalışanlardan çok daha fazla ödüllendirilmesinin nedeni de budur
LLM, geliştiricinin gücünü ve etkisini daha da artıracak
Sonunda eski günlerdeki gibi yine “yukarı çık ya da(out) yok ol” dönemi gelebilir. İnsan yönetimi ve iş sezgisi geliştirmezsen giderek anlamsız bir varlık haline gelme riskin var
“Look ma, no hands” tarzı AI’ye aşırı güven tuzağına düşmemek gerek.
Antirez + LLM + CFO kombinasyonu milyar dolarlık bir Redis şirketi kurabilir ama bunun nedeni onun Redis’i kusursuz biçimde anlaması.
Eğer Postgres gibi yabancı bir kod tabanı olsaydı aynı sonucu çıkarmak zor olurdu ve geliştiricilerin çoğu böyle yabancı ortamlarda çalışıyor.
Sonuçta LLM’nin gerçek değeri alan uzmanları için ortaya çıkıyor ve bir organizasyonun AI’yi doğru kullanabilmesi için çalışan eğitimi ve öğrenmeye yatırım şart
Bu şekilde doğrulama düzenini iyi kurarsan, yabancı alanlarda da sonuç alabilirsin. Sonuçta gereken şey sezgi, eleştirel düşünme ve bilimsel düşünce biçimi
“LLM’nin benim kodumu öğrenmiş olması hoşuma gidiyor” sözüne katılmıyorum.
Ben öyle hissetmiyorum. Hatta yazılım kalitesi düşüyor, LLM’nin daha iyi kod ürettiğini de düşünmüyorum
“AI’yi reddederek dünyayı durduramazsın” sözüne katılıyorum.
Ben de arkadaşlarıma “bizzat deneyip karar verin” diye tavsiye ediyorum. 5 dakika kurcalayıp hüküm vermeyin, birkaç hafta deney yapın diyorum.
Şu anda medyanın büyük kısmı tık almak için olumsuz anlatılar satıyor. Sağlıklı bir yargıya varmanın tek yolu bizzat kullanmak.
Ve şu anda olumlu sinyallere daha dikkatli bakmak gerekiyor. “Bununla şunu yaptım” türü örnekler, “şu hâlâ olmuyor” demekten çok daha değerli
Hâlâ yapay zeka kullanmadan sadece çöp kod ürettiklerini söyleyen epey geliştirici var gibi görünüyor. İlginç...
Öte yandan, sorunlara işaret eden seslerin de göz ardı edilmemesi gerektiğini düşünüyorum. En ufak bir eleştirinin bile çoğu zaman sanki sadece bir saldırıymış gibi geçiştirildiğini hissediyorum.