KODUN BEYNİ: AI YAZIYORSA, BİZ NE DÜŞÜNECEĞİZ?

Yahu şu bizim yeni nesil geliştiriciler var ya, hani o klavyeye dokunmadan, sadece lafla kod yazdıran, yapay zeka harikalarıyla haşır neşir olan tayfa; onlara bakıyorum da bazen, ne bileyim, içim cız ediyor. Bir yandan müthiş bir hız, inanılmaz bir verimlilik, adam altı ayda yapılacak işi bir haftada bitiriyor, tamam eyvallah, hakkını yemeyelim.
Ama öbür yandan, böyle buz gibi bir gerçek var karşımızda, acı bir metal tadı, soğumuş çay gibi, hani o içmeyi unuttuğun çay, dibi tortu tutmuş— işte öyle bir tat. O müthiş vaatlerin arkasında sinsice eriyen bir şeyler var, hissediyorum, görmeyen kördür. Anlama yeteneği, asıl mesele bu, mühendis olmanın ruhu denen şey, o yavaş yavaş, sessiz sedasız aradan kayıp gidiyor sanki.
KODUN BEYNİ: AI YAZIYORSA, BİZ NE DÜŞÜNECEĞİZ?
Şimdi mesela, bir veri yapısı kuracaksın, bir algoritma yazacaksın. Eskiden ne yapardık biz? Kağıt kalem alırız, otururuz saatlerce, hatta günlerce, beynimizin en ücra köşelerinde düğümlenmiş o mantığı ilmek ilmek çözeriz. Neden bir ağaç yapısı, neden bir hash tablosu? Hangi senaryoda hangisi daha iyi performans verir? Bellek yönetimi ne olacak? Bu soruları sorgulaya sorgulaya, beynimizi yora yora öğrenirdik. O zamanlar, hani, gerçekten öğrenirdik, o kodun her satırının arkasındaki felsefeyi, mühendislik prensiplerini içselleştirirdik. Hatta bir gün benim lisedeki matematik öğretmenim, rahmetli Osman Hoca, demişti ki, “Memduh, bir problemi çözmek için en iyi yol, o problemi kafanda döndüre döndüre eskimesini sağlamaktır.” Vallahi de billahi de ne kadar doğruymuş o laf… Şimdi?
Ne var ki şimdi, elinde süper zeka bir asistan var, prompt’u basıyorsun, hoop, beş saniyede sana istediğin algoritmayı veriyor. Belki de en optimalini değil, ama çalışıyor. İşte kilit nokta da bu çalışması. Çalışması yeterli mi? Hani şey, araba kullanmayı bilmekle, arabanın motorunun nasıl çalıştığını bilmek aynı şey mi? Hadi diyelim, sıradan bir kullanıcı için fark etmez ama mühendis için, aradaki fark uçurum.

Şu “doğru prompt’u vermek” olayı var ya, bu başlı başına bambaşka bir mevzu. Eskiden “problem çözme yeteneği” derdik, şimdi “prompt yazma sanatı” mı diyeceğiz? Ya da vazgeçtim, sanatı falan değil, sadece “prompt’u nasıl uzatırım ki AI tam istediğimi anlasın” derdine düşen bir nesil mi geliyor? Bu, zihinsel bir tembelliğe açılan kapı falan değil, bu bildiğin kapıyı kırıp içeri giren bir Tsunami, anlayışın en ufak kırıntısını bile alıp götürüyor. Bir gün bir stajyerle konuşuyordum, dedim ki “Şu kod bloğunun karmaşıklığı ne?” Çocuk bana Google’ı açıp baktı, hani, kendisi hiç düşünmedi bile, oysa o konuyu biz daha birinci sınıfta dersin ilk haftasında görmüştük, temel bir şeydi.
Hani o ‘clean code’ muhabbeti vardı, tasarım desenleri, mimariler… Ne oldu onlara? Şimdi AI bir “boilerplate” çıkarıyor önüne, sen de alıp yapıştırıyorsun. Ya o boilerplate’ın altında yatan nedenler, o kararların mantığı, ne bileyim, o ‘SOLID’ prensipleri falan… Onlar ne olacak? Belki de bu yüzden, hani, yazılan kodlar artık daha çok birbirine benziyor, ruhu yok, kendine has bir karakteri yok. Sanki tek bir anonim beyin yazmış gibi hepsini. Ama neyse…

Geçenlerde, şey, bir arkadaşımın projesine bakıyordum. AI yazmış kodu. Güzel, çalışıyor, hızlı falan. Ama ufak bir bug var, çok niş bir senaryoda, hani böyle ayda yılda bir karşılaşılacak türden. Oturduk, debug etmeye başladık. Normalde ne yaparsın, stack trace’e bakarsın, o fonksiyon nasıl çalışır, veri nereden gelir, nereye gider, bir izlersin. Ama AI’ın yazdığı kodu takip etmek, o “kara kutunun” içinde ne olup bittiğini anlamaya çalışmak, resmen bir labirentte kaybolmak gibi. O kadar katman var ki, o kadar jenerikleştirilmiş ki her şey, bir yerden sonra “Ulan bunu insan mı yazdı AI mı, neden böyle yazıldı” diye sorgulamaya başlıyorsun. En sonunda anladık ki, prompt’ta ufak bir nuance eksikliği yüzünden AI öyle bir edge case’i gözden kaçırmış. İnsan olsan, o niş senaryo aklına gelirdi belki de, hani o “biri bunu şöyle kullanmaya çalışırsa” diye düşündüğün anlar oluyor ya… Ama AI düşünmüyor, o sadece “en olası” senaryoyu düşünüyor, öğrenilmiş data üzerinden.
E tamam, hızlanıyor işler, ona lafımız yok. İşler yetiştirmesi gerekenler için, hani öyle acayip inovasyon gerektirmeyen, standart CRUD operasyonları falan için harika. Diyelim ki hızlıca bir API endpoint’i yazacaksın, şak diye hazır. Ama o API’ın arkasındaki iş mantığı, veritabanı şemasının tasarımı, performans optimizasyonları, güvenlik katmanları… Bunları hala senin beyninin tasarlaması, düşünmesi gerekmiyor mu? Yoksa o da mı prompt’la hallolacak? Hani olur da bir gün AI derse ki “Bu şema en iyisi, sorgu da böyle olmalı”, o zaman biz sadece “evet” mi diyeceğiz? Kendi fikrimizi, eleştirel bakış açımızı tamamen mi kaybedeceğiz?
Aslında tam tersi, geçen buzdolabı aldıydım, onun da yazılımı güncellendi durdu kafasına göre, sürekli hata veriyor, internete bağlanamıyor falan… Sanırsın bir server yönetiyorum mutfakta. Neyse konuyu dağıtmayayım şimdi… Ama mesele şu ki, AI’ın ürettiği kodun kalitesi, derinliği ve esnekliği, hala













