- Yapay zekanın ürettiği karmaşık kodların kitlesel üretimi yaygınlaşırken, insanların okumadığı kod üretme olgusu sektör geneline yayılıyor
- Yöneticiler yapay zeka kaynaklı iş gücü azaltımını meşrulaştırıyor ve geliştiriciler yapay zekanın ürettiği kod oranını doldurma baskısı altında kalıyor
- Bu tür bir 'vibe coding', kumarın bağımlılık mekanizmasına benzeyen bir 'dark flow' durumu yaratarak üretkenlik yanılsamasına neden oluyor
- Gerçekte, yapay zeka kodlama araçlarını kullanırken üretkenliğin %20 arttığı hissedilse de aslında %19 yavaşlama olduğunu gösteren araştırmalar var
- Yapay zeka faydalı olsa da, insan düşüncesi, yaratıcılığı ve yazılım mühendisliği becerileri yerini doldurulamaz; bunlardan vazgeçmek tersine gerileme riski taşıyor
Vibe coding'in yayılması ve sorunun fark edilmesi
- Vibe coding, yapay zekanın ürettiği karmaşık kodların kitlesel üretimi anlamına geliyor ve bunun sonucunda kodun insanlar tarafından okunması ya da bakımı zorlaşıyor
- Bazı şirketler, yapay zekanın insanların işini devralabileceğini söyleyerek işten çıkarmaları meşrulaştırıyor
- Geliştiriciler, yapay zekanın ürettiği kod oranını tutturamazlarsa performans değerlendirmesinde dezavantaj yaşayacakları baskısını hissediyor
- Hem öğrenciler hem de çalışanlar, “Yapay zeka yakında işimin yerini alacak” kaygısıyla kendini geliştirme konusunda tereddüt ediyor
- Yapay zeka gerçekten faydalı olsa da, vibe coding konusunda dikkatli olmak gerekiyor ve yanlış kullanıldığında olumsuz sonuçlar doğurabiliyor
'Flow' ile 'dark flow' arasındaki fark
- Psikolog Mihaly Csikszentmihalyi'nin tanımladığı 'flow', meydan okuma ile becerinin dengede olduğu yoğun odaklanma halidir
- Buna karşılık, kumarda olduğu gibi beceriyle ilgisiz etkinliklerde de yoğun bir kaptırma hissi oluşabilir; bu da 'sahte flow' sayılır
- Slot makinelerindeki Loss Disguised as a Win (LDW) örneğinde olduğu gibi, gerçekte kayıp olsa da kazanmış gibi bir yanılsama yaratılır
- Araştırmalara göre LDW, gerçek kazanıma benzer fizyolojik tepkiler oluşturarak bağımlılık yaratan kaptırılmışlığı güçlendirir
- Bu olgu 'dark flow' veya 'junk flow' olarak adlandırılır ve gelişim olmadan yaşanan bağımlılık benzeri bir kaptırılmışlık anlamına gelir
Vibe coding ile kumar arasındaki benzerlik
- Geliştirici Armin Ronacher, yapay zeka kodlama araçlarını kullandıktan sonra çok fazla kod üretmesine rağmen gerçekte neredeyse hiçbirini kullanamadığını belirtiyor
- Bu, kumardaki 'sahte kazanım' yapısına benzer bir yanılsamadır
- Vibe coding şu açılardan flow'un koşullarını ihlal eder
- Sonuçlara dair net geri bildirim yoktur; aksine yanlış bir başarı hissi verir
- Meydan okuma düzeyi ile beceri düzeyi arasında dengesizlik vardır
- Kontrol yanılsaması üzerinden kullanıcının sonucu yönettiğine inanmasını sağlar
- Yapay zekanın ürettiği kodun kalitesiyle ilgili sorunlar çoğu zaman ancak haftalar sonra fark edilir ve bug'lar ile bakım yapılamaz karmaşıklık sonradan ortaya çıkar
- Hem LLM'ler hem de slot makineleri, kullanıcının psikolojik tepkilerini en üst düzeye çıkaracak şekilde tasarlanır ve sürekli kullanımı teşvik eder
Üretkenlik yanılsaması ve 'güvenilmez anlatıcı'
- METR araştırmasına göre, yapay zeka araçlarını kullanan geliştiriciler kendilerini %20 daha hızlı hissetti ama gerçekte %19 daha yavaştı
- Bu, algılanan verimlilik ile gerçek verimlilik arasında %40'lık fark anlamına geliyor
- Yapay zekayla yazılmış metinler de görünüşte benzer olsa da kalite açısından daha düşük olabilir
- Bir yapay zeka araştırmacısının blog yazıları, yapay zekayla yazıldıktan sonra önceye göre daha az okunabilir bir üsluba dönüştü
- İnsanlar kendi üretkenliklerini nesnel biçimde değerlendirmekte zorlanır ve yapay zeka kullandıktan sonra bunu olduğundan yüksek görme eğilimindedir
Hatalı öngörüler ve kariyer riski
- Yapay zekanın kodlamayı tamamen devralacağı yönündeki öngörüler defalarca boşa çıktı
- Geoffrey Hinton, 2021'e kadar yapay zekanın radyologların yerini alacağını öngörmüştü, ancak bu gerçekleşmedi
- Google'dan Sundar Pichai ve Jeff Dean, 2023'e kadar tüm veri bilimcilerin otomatik sinir ağı tasarım araçlarını kullanacağını söylemişti, ancak bu da olmadı
- Anthropic'ten Dario Amodei, 2025 sonuna kadar yapay zekanın tüm kodun %90'ını yazacağını öngördü, ancak bunun dayanağı yok
- Bu tür abartılı beklentiler yüzünden kendi becerilerini geliştirmeyi bırakmak risklidir
- Yapay zeka ilerleme hızı, gerçekte olduğundan sürekli daha yüksek tahmin edildi
İnsan düşüncesi ve yaratıcılığının kalıcı önemi
- Yapay zeka kodlama ajanları sözdizimi açısından doğru kod üretebilir, ancak
- yararlı soyutlamalar, modülerlik ve kod yapısını iyileştirme konusunda yetersiz kalır
- Yani kodlama otomatikleşti ama yazılım mühendisliği otomatikleşmedi
- Yapay zekanın ürettiği metinler de dilbilgisi açısından doğal görünse de, düşünceyi inceltmek ya da özü yakalamak konusunda başarılı değildir
- Jeremy Howard, “Düşünmeyi tamamen yapay zekaya devrederseniz öğrenme ve gelişme yeteneğinizi kaybedersiniz” diye uyarıyor
- Yapay zeka bir araç olarak faydalıdır ama insanın temel yetkinliklerinin yerini tutmaz
6 yorum
İnsanların iş yapma becerisini değerlendirirken,
tavırdiye bir unsur vardır. İş yönergeleri ve üstlerin emirlerinin ötesinde, kişinin işe kendi başına nasıl yaklaştığı önemlidir. Bu tavır, işe yönelik sürekli ilgi, içgörü ve sorumluluk duygusuyla ortaya çıkar. Bunların içinde özellikle sorumluluk duygusu önemlidir. Yapay zeka diğer şeyleri taklit edebilir ama sorumluluk duygusu yoktur. Yapay zeka çıktıları değerlendirebilir, ancak sürece dair sorumluluk duygusunu değerlendiremez.Yapay zeka
nasıl (How)yapılacağını iyi bilir, ancak bununnedenyapılması gerektiğini bilmez. İşin temel amacını kavramaya çalışmak, deneme yanılmayı göze alıp yeni bir yol aramaya yönelik keşif isteği ve amaca doğru yön belirleme yalnızca insanların yapabileceği şeylerdir. Sorumluluk duygusu yalnızca sonuca odaklanmak değil, süreç boyunca amacı gözden kaçırmadan sürekli soru sormak ve araştıran bir tutum sergilemektir.Kılavuzlar ve talimatlar dışında başka yöntemleri yaratıcı biçimde bulabilme yeteneği de sorumluluk sahibi bir tutumdan kaynaklanır.
Buna büyük ölçüde katılıyorum.
Hacker News yorumları
Şu an ilki çok daha tehlikeli gibi geliyor. Saçma sapan bug'lar, çıkmaz mimariler, güvenlik sorunları, koda sahiplik hissinin azalması ve öğrenme fırsatlarının kaçırılması gibi sorunlar var
Buna karşılık yapay zekayı daha az kullanmak üretkenliği düşürebilir, ama kod tabanına dair derin anlayış ve alınan eğitim uzun vadede daha büyük bir kazanım olabilir
Kişisel olarak kodun içinde doğrudan boğuşurken ortaya çıkan yaratıcı fikirlerin en değerli şey olduğunu düşünüyorum
İşi yapay zekaya çok erken verirseniz bu fırsatları kaçırmak üzücü
Tekrarlı iş azaldığı için zihin daha az yoruluyor ve zor problemlere odaklanabildiğiniz için daha iyi fikirler çıkıyor
Kilit nokta iyi zevki ve standartları korumak
Tasarım ve dokümantasyonu önceden ayrıntılı hazırladığımda başarı oranı daha yüksekti
Gerçekten zor olan kısım kod üretiminin kendisinden çok planlama ve tasarım aşaması
Buna karşılık LLM ile dokümantasyon ya da boilerplate yazdırmak ciddi zaman kazandırıyor
Kimi insanlar uygulamayı tek seferde tamamlamaya çalışıyor, kimileri ise yalnızca basit otomatik tamamlama düzeyinde kullanıyor
Sürekli yeni yöntemler çıktığı için açık fikirli biçimde farklı denemeler yapmak en iyisi
Yeni teknolojilerde doğru yaklaşım her zaman küçük parçalarla doğrulama yapıp kademeli olarak genişletmek olmalı
Yapay zeka kullanımında doğru miktar, ‘doğrulandığı kadar’dır
Bu tartışmayı Pascal'ın kumarı gibi sunmak üzücü ve çoğu zaman bir şey satmaya çalışanların mantığı oluyor
Yapay zeka kodu iyi yazsa bile, vergi hesaplamasındaki ince hatalar gibi görünmeyen hata modları en tehlikeli olanlar
Gerçek muhasebe sistemlerine yanlış sayılar sessizce işlenebilir
Bu yüzden yapay zekayı yalnızca gelişmiş bir otomatik tamamlama aracı olarak kullanıyorum — mimariyi ve alan mantığını kendim tasarlıyor, onu sadece tekrar eden kodlar ya da test iskeleti için kullanıyorum
Sonuçta sorun “yapay zekanın yazdığı kod” değil, benim doğrudan anlamadığım kod
LLM'ler fonksiyon yazmakta iyi, ama hangi fonksiyonlara ihtiyaç olduğunu belirleyemiyor
Gerçek projelerdeki mimari, gerçek dünyanın darboğazlarına çarpa çarpa oluşur
Yapay zekanın yardım ettiği şey sadece uygulama hızıdır; yapısal kararların sorumluluğu tamamen insana aittir
Özellikle alan kaynaklı bug'ları LLM asla yakalayamaz
Sonuçta mimari ve alan bilgisi konusunda sorumluluğu insan üstlenmek zorunda
Sadece ‘kod yaz’ derseniz, hedef o olmadığı için tabii ki bunu yapamaz
Son bir yılda yazılım tasarımı ve Vibe kodlamayı aynı anda öğrendim
DDD, Clean Architecture, Agile gibi pek çok kitap çalıştım ve çok daha iyi bir mühendis oldum
Yapay zekayı kullansam da kodun sorumluluğu hâlâ bana ait
İki alanda da birlikte gelişmek mümkün
Zaman yatırımı ve pratik istiyor, ama öğrenmeye fazlasıyla değer ve diğer becerilerin yerini almıyor
Çünkü LLM'lerin iyi yapamadığı şey yüksek seviyeli muhakeme ve yapı tasarımı
İyi tasarlanmış sistemler yapay zekanın verimliliğini en üst düzeye çıkarıyor
Ayrıca yeni paradigmaları öğrenmek, LLM'in ürettiği kodu daha iyi değerlendirmeyi ve iyileştirmeyi sağlıyor
BDD, PBT, model doğrulama gibi teknikler yapay zekalı kodlamayı daha güvenli hale getiren araçlar
Dışarıdan zafer gibi görünse de aslında yenilgi kılığına girmiş bir zaferdi
Buna karşılık biri, “Bu anlatım tam olarak uyuşturucudaki yükseliş ve çöküşe benziyor” diye benzetme yapıyor
LLM'leri doğru kullanmak için bu üç rolün de kaslarına ihtiyaç var
İstenen UI/UX'i net biçimde hayal edebiliyorsanız, bugünkü modellerle bile yeterince iyi sonuç almak mümkün
Buna karşılık “Şöyle kabaca bir şey yap” tarzı prompt'lar tehlikeli
Yapay zekaya gelişmiş bir mecha suit gibi yaklaşmak gerek — insan döngünün içinde olursa gerçekten hız kazandırıyor
Teknolojik ilerleme o kadar hızlı ki, geçen yıl zor olan işler bugün önemsiz hale geliyor
Şirket içinde kullanılan yapay zeka araçları bile açık kaynak modellerle değiştiriliyor
Şu an sanki “yapay zeka versiyonu Don’t Look Up” dönemindeyiz — herkes çok geç olmadan kendini yapay zeka çağına göre yeniden konumlandırmalı
Bir arkadaşım 3 ay boyunca Cursor ile ürün geliştirdi ama ortaya çok özellikli, fakat işe yaramaz bir şey çıktı
Sonuçta sorun kodu anlayan birinin eksikliği idi
En temel zihinsel doğrulama (sanity check) bile yapmamalarını anlamak zor
Kullanışlı soyutlamaları, modülerleştirmeyi ve kod yapısını iyileştirmeyi gerçekleştiremiyor
>> Katılıyorum.