- İnternette AI tarafından üretilen düşük kaliteli içerik olan 'slop' hızla yayılırken, müzik, video ve metnin yanı sıra yazılım alanında da benzer bir olgu ortaya çıkıyor
- İçerik üretimi yalnızca etkileşimi ve geliri en üst düzeye çıkarma hedefine göre optimize edilirken, zanaatkârlık ve yaratıcılık ortadan kaybolma eğiliminde
- Büyük teknoloji şirketlerinde görülen kalite düşüşü ve teknik gerileme, AI ortaya çıkmadan önce başlamıştı; dar rol paylaşımı mühendislerin ustalığını ve düşünme kapasitesini zayıflatıyor
- AI ajanları iyi tanımlanmış tekrarlı işlerde faydalı olsa da, yalan söylemeleri, kodu doğru dürüst anlayamamaları ve kötü kod üretmeleri gibi temel sınırlara sahip
-
- yüzyıldaki Arts and Crafts hareketi gibi, yazılımda da erken dönem bilişim fikirlerini yeniden canlandırıp insan merkezli zanaatkârlığı diriltmenin zamanı gelmiş olabilir
AI slop'un yayılması ve technique kavramı
- AI modellerinin yayımlanmasından sonra ses, video ve metin genelinde 'slop' diye anılan düşük kaliteli AI içeriği hızla arttı
- Çöp içerik her zaman vardı, ancak AI sayesinde üretim için gereken emek onlarca kat azaldı
- Ayırt etme becerisinin olmadığı ya da önemli sayılmadığı işlerde AI, insan emeğinin yerini alabilecek kadar yeterli bir düzeye ulaştı
- Jacques Ellul'ün 'technique' kavramı: faaliyetleri ölçülebilir ve tanımlı hedeflere yönelen etkin araçlar toplamına indirgeme biçimi
- Instagram Reels, YouTube videoları ve blog yazıları, en az çabayla en yüksek etkileşimi üretirse 'iyi' sonuçlar sayılıyor
- Metriklere ve performansa saplanmak, zanaatkârlık, güzellik ve haz gibi maddi olmayan değerleri aşındırıyor
Müzik platformu karşılaştırması: Bandcamp vs Spotify
- Bandcamp: tam albüm deneyimi ve kişisel kürasyona odaklanıyor
- 2010'lar ve 2020'lerdeki indie müzik patlamasını destekleyerek Car Seat Headrest, Mitski, Alex G ve Phoebe Bridgers gibi sanatçıların yükselişine katkı sağladı
- Müziği bizzat amaç kabul eden bir platform olarak AI ile üretilen müziği yasaklıyor
- Spotify: çalma listeleri ve algoritmik öneriler üzerine kurulu bir model
- Müziğin kendisinden çok metrik optimizasyonuna odaklanıyor
- Silik ve algoritmaya göre ayarlanmış müzik (muzak) yaygınlaşıyor
- Zanaatkârlığın hesaba katılmadığı bir ortamda AI, insan yapımı müziğe kıyasla 'gelir maksimizasyonu' açısından çok daha avantajlı içerikleri kitlesel olarak üretiyor
Yazılım sektöründe kalite düşüşü olgusu
- AI ortaya çıkmadan önce de pek çok yazılım zaten genel olarak düşük kalite durumundaydı
- Büyük teknoloji şirketlerinde yazılım mühendisliği, 'plumbing' işine daha yakın bir hale geldi
- Farklı sistemleri birbirine bağlayıp verinin akmasını sağlamaktan ibaret kaldı
- Richard Hamming'in sözünü ettiği ‘büyük işler’, yani insanlığa bir armağan üretme fikri, bugünün teknoloji sektöründe fazlasıyla idealist görülüyor
- Çok sayıda büyük yazılım sistemi şişkin, kötü tasarlanmış ve yetersiz belgelenmiş durumda
- Kullanıcılar, platformların giderek kötüleştiği 'enshittification' (kalite düşüşü) sürecinde sömürülmemek için sürekli savunmada kalıyor
- Jonathan Blow'un Preventing the Collapse of Software Civilization konuşmasında sunduğu bakış açısı ikna edici
- Profesyonel mühendisler ve büyük yazılım şirketleri, işi doğru yapmanın ne demek olduğunu unutmuş durumda
- Rekabet baskısı taşımayan tekelci yapılar nedeniyle piyasa baskısından korunurken
- yazılım pratikleri gevşiyor
- organizasyonlar hantallaşıyor
- genel kalite ciddi biçimde düşüyor
- Big Tech mühendisleri, büyük organizasyonlar içinde son derece sınırlı roller üstleniyor
- Bu da geniş mühendislik yetkinliklerinin ve zanaatkârlığın doğal olarak körelmesine yol açıyor
İnsan sermayesi ve iş bölümünün sorunu
- Bir şirketin ya da toplumun bilgisayarlarla neler başarabileceği, insan sermayesine, yani geniş becerilere sahip mühendisleri ne kadar yetiştirebildiğine bağlı
- Büyük teknoloji şirketlerindeki aşırı iş bölümü yapısı
- yalnızca belirli alanlara alışmış dar uzmanlıklı teknik iş gücü üretiyor
- bu insanları sadece bugünkü Big Tech organizasyon yapıları içinde işlev görebilecek hale sabitliyor
AI'ın yazılım mühendisliği için tehdit oluşturduğunu düşündüren iki olgu
- 1. AI ajanlarının profesyonel yazılım mühendisliğini tehdit ettiğine dair gerçekçi algı
- Rolü tekrarlı ve kapsamı dar düşük kaliteli yazılım üretimine indirgenmiş mühendisler için
- AI gerçekten de oldukça etkili bir ikame haline gelebiliyor
- 2. AI ajanlarının yetenekleri hakkında aşırı genelleme
AI ajanlarının temel sınırlamaları
- Bu tür iddiaların geçerli olabilmesi için, yazılımın ne olduğuna dair son derece dar bir bakış açısı gerekir
- Bu, AI ile üretilen müzik için müziğe yalnızca tüketim metrikleri açısından bakılması gerektiğini varsaymaya benziyor
- Yazılımı sadece amaca ulaşma aracı olarak görüp, “yeterince iyiyse yeter” demek
- AI ajanlarıyla doğrudan deney yapıldığında, yararlı yönleri açık olsa da belirgin sınırlamaları olduğu görülüyor
- Gerçek olmayan şeyleri ikna edici biçimde söyleyebiliyor, bağlamı doğru anlamıyor ve sık sık düşük kaliteli kod üretiyor
- Bazı alanlarda ilerleme sürebilir, ancak müzik ve metinde olduğu gibi burada da yapısal sınırlar açık
- AI ajanları özerk düşünceye sahip değil ve kullanıcının ne istediğini kendi başlarına anlayamıyor
- En iyi çalıştıkları durum, problemin açıkça tanımlandığı istekler
- Örnek: “unit test yaz”, “bu biçimde bir DB fonksiyonu implemente et”
- Bu yeteneği genelleme girişimleri çoğunlukla başarısız oluyor
- Ortaya çoğu zaman bakımının yapılması, anlaşılması ve genişletilmesi zor ucube kodlar çıkıyor
“Vibe Coding”in sorunları
- İlk bakışta etkileyici görünse de zamanla kendine özgü kusurları belirginleşiyor
- Gereksiz ölçüde lafı uzatan kod ve özensiz stil
- Yapı olarak basit ama düz ve estetik açıdan yoksul tasarım
- Tekrar tekrar görülen ayırt edici izler zamanla rahatsız edici hale geliyor
- Sorun çıktığında hata ayıklama süreci hayal kırıklığı yaratan bir tekrar işine dönüşüyor
- Başka videolar izlerken ya da sosyal medyada gezinirken dalgın biçimde kod yazıp
- ajana sürekli “hata var, tekrar düzelt” demekten ibaret kalabiliyor
- AI tarafından üretilen kodda sık görülen özellikler
- gereğinden fazla padding verilmiş butonlar
- tutarsız boşluklar ve renkler
- genel bir estetik düzlük
- neden var olduğu belirsiz UI öğeleri
- her öğeye gereksiz etiket ve açıklama ekleme eğilimi
Yazılım sektörünün sistemik sorunları ve zanaatkârlık ihtiyacı
- Kodun büyük bölümünün çok iyi olmadığını inkâr etmek zor; bu özellikle büyük şirket ortamlarında belirgin
- AI ile düşük kaliteli yazılımları daha hızlı ve daha verimli üretmeye devam etmek mümkün
- Ancak AI, yazılım sektörünün sahip olduğu temel sistemik sorunları çözmüyor
- Asıl sorun, büyük ölçekli ortamlarda iyi yazılım üretmenin yolunun hâlâ yerleşmemiş olması
- Bu sorunu çözmek için otomasyondan çok zanaatkârlık ve insanın eleştirel düşüncesi gerekiyor
Arts and Crafts hareketi ve yazılım arasındaki benzerlik
- İkinci Sanayi Devrimi dönemindeki Arts and Crafts hareketi dikkat çekiyor
- John Ruskin ve William Morris, makinelerin ve endüstriyel üretimin olağanüstü kapasitesinin bireysel zanaatkârı dışladığı bir döneme yanıt veriyordu
- Endüstriyel üretimi koşulsuz ilerleme olarak görmek yerine, onun ürettiği sonuçların ve çalışma koşullarının kendine özgü bir 'stili' olduğunu fark ettiler
- İşçilerin giderek devasa endüstriyel makinenin bir parçasına indirgenmesini eleştirdiler
- Makinenin yapamayacağı alanların açıkça var olduğunu, bunun o zaman da bugün de değişmediğini savundular
- İlham kaynağı olarak ortaçağ zanaatkârlığının yeniden canlandırılmasını hedeflediler
Yazılımda gereken benzer dönüşüm
- Yazılım alanında da benzer bir dönüşüme ve harekete ihtiyaç var
- Erken dönem bilişimin yöntem ve düşünce biçimlerini yeniden incelemek ve canlandırmak gerekiyor
- Ana akım tarafından dışlansa da kaybolmamış fikirlerden oluşan zengin bir hazine var
- Bugünkü yazılımlardan farklı biçimlerde etkileyici ve güzel olan projeler mevcut
- Şu anda teknik gelişimin çok dar bir dalında, yani C/Unix'ten Javascript/web'e uzanan hat üzerinde kalmış durumdayız
- Oysa keşfedilecek alan çok daha geniş
- Biraz bile alışılmadık yöne gidildiğinde AI'ın yardımı neredeyse ortadan kalkıyor
- Claude ile Forth yazmayı denediğinde, sonuç neredeyse yardımdan çok engel olmuş
- Başlangıç noktası olarak Permacomputing wiki'si öneriliyor
AI kodu çağında görünüm
- AI kodu, düşük kaliteli kitlesel üretim yazılımları daha da yaygın hale getirebilir
- Aynı zamanda zanaatkârlığı ve yaratıcı ifadeyi geri kazanmaya çalışan mühendisler için yeni bir alan da açabilir
- Bakış tamamen karamsar değil: zanaatkârlık ne kadar nadirleşirse değeri de o kadar artıyor
- Ana akım yazılım sınırlarına dayanırken, yazılım kalitesi düşmeye devam ederken ve politik farkındalık merkezileşmiş yapıların değerini yeniden sorgulamaya başlarken
- deneysel, insan eliyle yapılmış ve insan ölçeğinde işletilen yazılımlar için çevrede parlamak adına iyi bir an olabilir
1 yorum
Hacker News yorumları
Jacques Ellul’un düşüncesine değinilen kısmı beğendim
Teknolojik “ilerlemenin” özünün, verimliliği en yüce değer haline getirmek olduğu fikrini yeniden düşündürüyor
Bu değerin neredeyse hiç sorgulanmadan kabul görmesi ilginç. Yine de hâlâ başka seçimlerin mümkün olduğuna inanıyorum
Verimliliğin doğasında uyum sağlama ve dayanıklılık pahasına ilerleyen bir taraf var
Buna karşılık ustalık, özen, hayranlık duygusu ölçmesi zor şeyler. Benim kullandığım ölçüt gerçek insanların e-postaları ve bunlar düzensiz, öngörülemez
Kodlama ajanlarıyla da yüksek kaliteli kod üretilebileceğini düşünüyorum
Bu, tek seferlik bir prompt işi değil; planlama–uygulama–doğrulama–inceleme şeklinde orkestre edilmiş bir süreç gerektiriyor
Sonuçta bu hâlâ bir mühendislik işi; sadece araç değişmiş oluyor. El testeresiyle motorlu testere arasındaki fark gibi: sonuç aynı, süreç farklı
Enterprise yazılımlar, özellikle de kullanmayan yöneticilere satıldıkları için kalitesiz oluyor
Buna karşılık tüketici yazılımlarını kullanıcılar doğrudan seçtiği için daha kullanıcı dostu oluyorlar
Kendin için kod yazdığında yalnızca gerekli işlevleri uygularsın; bu yüzden biraz özensiz görünse de iyi çalışır
Kodlama ajanlarını projeyi tazyikli yıkayıcıyla temizlemek gibi kullanabilirsin. Sanat değil ama tatmin edici
Ama hassas kodlarda kullanılmamalı. Yine de çoğu web uygulaması iyi test edilmiş durumda ve artık elle yapmanın pek nedeni kalmadı
Sonuç olarak ortalık gereksiz özellikler ve toggle’larla doluyor
Yönetici veri doğruluğu istiyor ama çalışan veri girişi zahmetli diye yakınıyor
Entegrasyon bütçesi olmadığı ya da sözleşme kısa süreli olduğu için çoğu zaman CRM entegrasyonu bile yapılamıyor
Buna karşılık enterprise yazılım, ödeyenle kullananın teşvikleri uyuşmadığı için tuhaf iş akışlarıyla çarpıtılıyor
Çoğu yazılım mühendisi, AI’dan önce de ustalıktan çok maaş ve verimliliğe odaklanıyordu
Bu yüzden AI’ın ürettiği kod da sadece vasat kod oluyor
AI’ın ustalığı canlandırmayacağını, aksine son izlerini de sileceğini düşünüyorum
Elektrikli aletler el işçiliği ahşap işçiliğini ortadan kaldırmadığı gibi, AI da aynısını yapacaktır
Gelecekte “IDE insanları” ile “ajan prompt insanları” bir arada var olacak
Forth’tan söz edilmesi hoşuma gitti. Sık kullanıyorum
LLM’in ürettiği Forth kodu, sanki C’den çevrilmiş gibi kötü bir stile sahip
Standart Forth kısa ve açık olmalı ama LLM, iç içe koşullarla dolu uzun kodlar üretiyor
Bu günlerde Turing’s Cathedral okuyorum
Savaş sonrası Amerika’daki mühendislik ustalığını yeniden fark ettiriyor
Bugün her şeyi kanıksamış gibiyiz ve gerçek mühendisliğin ne olduğunu unutmuşuz
Zaten çoğu kod baştan beri berbattı
Sonuç odaklı kültürde kalite geri plana itildi ve bug’lar iş yapmanın maliyetinin bir parçası haline geldi
AI böyle bir ortama kusursuz uyuyor. Zaten düşük seviyeli kod kültüründe serpilip büyüyor
Şirketler ustalık değil, sadece problemin çözülmesini istiyor
AI kullanarak daha iyi yazılım üretmenin mümkün olduğunu düşünüyorum
AI’ın ürettiği koda da tasarım, desenler ve best practice’ler yansıtılabilir
Bu, geleneksel gitar yapımıyla modern CNC tabanlı gitar üretimi arasındaki farka benziyor
Ulrich Teuffel’in gitar yapım videosu, teknolojinin ve sanatın bir arada var olabildiğini gösteriyor
Elbette ustalık pahalı olduğu için çoğu kişi endüstriyel üretimi tercih ediyor
Büyük projelerde kullanılmaya başlandı ama uzun vadeli sonuçlar hâlâ belirsiz
Eskiden kendim yazdığım algoritmaları artık ajana yaptırıyorum
Elle frezeleme yerine CNC kullanmak gibi, teknoloji yığınımı geliştirip daha yüksek kaliteli işler üretiyorum
AI ile kötü yazılımı ucuza üretmek mümkünse bunda sorun yok
Asıl soru, iyi yazılımın oranı artıyor mu. AI bu ihtimali güçlendiriyor
AI, yazılımı “yeterince iyi” düzeyine optimize eden ortamlarda gelişiyor
Harika mühendislerin yerini almaktan çok, zaten mekanik ve metrik odaklı olan sektör gerçekliğini görünür kılıyor
Seri üretilmiş kod yaygınlaştıkça, insanın muhakeme gücü ve estetik sezgisi asıl kıt kaynak haline gelecek