T.UZUN_
WEB TASARIM

Vibe Coding’in Görünmez Tuzağı: Optimizasyon Paradoksu

SQL Indexing, Network Latency ve Sunucu Render Sorun Çözümü

Paylaş
shallow routing.jpg

Son dönemde yazılım dünyasını kasıp kavuran bir akım var: Vibe Coding. Arkanıza yaslanıyorsunuz, yapay zekaya ne istediğinizi söylüyorsunuz, o size harika görünen kodlar yazıyor, siz de sadece "vibe"ı hissederek projenizin büyümesini izliyorsunuz.

Peki, her şey bu kadar akıcı ve zahmetsizken, gözden kaçan o devasa boşlukları kim fark edecek?

Geçenlerde kendi platformumdaki filtreleme mekanizmasını optimize ederken, Vibe Coding’in en tatlı ama en tehlikeli tuzağıyla yüzleştim. Bu tecrübe, yazılımda domain (alan) bilgisine sahip bir gözün neden hâlâ sistemin gerçek kaptanı olduğunu bir kez daha kanıtladı.

1. Ezbere Teşhisler ve Hayalet Avcılığı

Sitedeki filtre butonlarına basıldığında yaşanan o milisaniyelik takılmayı çözmek için yapay zekanın kapısını çaldığımda aldığım ilk yanıt çok netti: "Kesin veritabanındaki ana tabloda indeksler eksik, hemen orayı optimize edelim."

Kod harika görünüyordu, hemen uygulanabilirdi. Fakat domain bilgisi tam bu noktada devreye girdi. Sistemin mimarisini ve veri semantiğini bilen bir gözle ham şemayı sorguladığımda gördüm ki, yapay zekanın indekslemeye çalıştığı kolon o tabloda hiç var olmamıştı! Sistem, arka planda tamamen farklı bir köprü tablo üzerinden "Many-to-Many" ilişki kuruyordu.

Eğer sistemi sadece vibe ederek yönetseydim, var olmayan kolonlara indeksler yazıp, prod ortamında hiçbir işe yaramayan hayalet bir optimizasyonun peşinde koşacaktım.

2. Backend Uçuyor ama Frontend Bekliyor...

Gerekli veri doğrulama sorgularını atıp asıl gizli tabloyu bulduğumuzda, arka plandaki sorgu hızını saniyenin yedi binde biri gibi (0.1 ms) muazzam bir seviyeye getirdik. Kod kusursuzdu. Vibe harikaydı. Ama canlı siteyi açtığımızda gecikme aynen devam ediyordu.

Yapay zekanın gözden kaçırdığı, ancak derin bir yazılım ve mimari kültüre sahip bir mühendisin görebileceği ikinci kör nokta buradaydı: Network Latency ve Sunucu Tarafı Render takılması.

Yapay zeka motoru sunucu içinde 0.1 ms'de çalışıyordu ama kullanıcının her tıklamada kilometrelerce uzaktaki sunucuya gidip gelmesi, internet kablolarının fiziksel mesafesi yüzünden ekranda donma yaratıyordu. Yapay zeka kodu doğru yazmıştı ama o kodun internetin fiziksel dünyasında yaşayacağı macerayı hesaba katmamıştı.

3. Kaptanın Dönüşü: Hibrit Çözüm

Buradaki düğümü çözmek, sadece kod yazdırarak değil, mimari bir vizyon ortaya koyarak mümkündü. Domain bilgim bana iki şeyi fısıldadı:

  1. Mevcut veri seti ufacıktı, dolayısıyla filtreleri internete hiç çıkmadan tarayıcının hafızasında (Client-Side) süzmek gecikmeyi sıfırlayacaktı.

  2. Ama işin içinde bir de derin metin araması vardı. İçerik gövdesini tarayıcıya indirmek sitenin ilk açılış hızını mahvederdi; o halde arama sunucuda (Server-Side) kalmalıydı.

Bu hibrit stratejiyi yapay zekaya dikte edip, Next.js'in sunucu navigasyonu handikapını tarayıcının kendi gücüyle (history.replaceState) çözdürdüğüm an filtre geçişleri 0 milisaniyeye düştü.

İçgörü:

Vibe Coding, bir mühendise inanılmaz bir hız ve üretim gücü katıyor; burası kesin. Ancak yapay zeka, ekranın arkasındaki ham verinin yapısını, projenin canlıdaki gerçek kullanıcı davranışını ve internetin fiziksel sınırlarını bilebilir ama hissedemez.

Günün sonunda yapay zeka harika bir yardımcı pilottur; fakat rotayı doğru çizmek, yanlış cephede savaşmamak ve performansı gerçekten sıfır gecikmeye indirmek için o direksiyonun başında hâlâ domain bilgisine sahip bir senior bilincin oturması gerekiyor.

İlgili Yazılar