Herkes vibe coding'i kod yazmamak sanıyor. Eksik tarif.
Kodu yazmıyorsun, doğru. Ama kodu yazan bir ajanı yönetiyorsun ve o iş, kod yazmaktan daha az disiplin istemiyor. Farklı bir disiplin istiyor.
Bu yazı o çizgiyi çekiyor: akıntıya bırakmakla ajanı yönetmek arasındaki çizgi. Vibe coding'in işe yarayan tarafı ikincisi.
İki uç, tek kelime
Terim ilk çıktığında bir tavrı anlatıyordu: modelin önerdiğini okumadan kabul et, hata alınca hata metnini yapıştır, çalışıyorsa devam et. Hafta sonu oyuncağı için makul bir tavır.
Aynı kelime bugün ikinci bir tavrı da taşıyor: ne istediğini yazıya dök, ajana plan yaptır, planı oku, kilometre taşlarına böl, her adımda doğrula. Aynı araçlar, bambaşka bir sonuç.
Aradaki fark hızda görünmüyor. İkinci günde görünüyor: birinci tavırla kurulan ürün ikinci özelliği eklerken çöküyor, ikincisiyle kurulan ürün büyümeye devam ediyor.
Kod ucuzladı, yayın ucuzlamadı
Kod üretmek artık bedava sayılır. Bir fikri anlatıyorsun, birkaç dakika sonra çalışan bir ekran var.
Pahalı olan kısım yerinde duruyor: ürünün gerçekten istediğin şeyi yaptığını bilmek, bozulduğunda neresinin bozulduğunu bulmak, bir kullanıcıya verebilecek kadar güvenmek.
Vibe coding'in disiplinli ucu tam bu pahalı kısmı ucuzlatmaya çalışıyor. Yöntemi de basit: doğrulamayı sona bırakmak yerine her adımın içine koymak.
Üç döngü iç içe
Ajanla çalışmak tek bir döngü değil, üç döngü.
İç döngü. Bir istek veriyorsun, ajan değişiklik yapıyor, sen çalıştırıp bakıyorsun. Dakikalar sürüyor ve gün boyu yüzlerce kez dönüyor.
Orta döngü. Bir spec yazıyorsun, plan çıkıyor, plan kilometre taşlarına bölünüyor. Her kilometre taşının sonunda çalışan bir parça var. Saatler sürüyor.
Dış döngü. Ürün yayına çıkıyor, gerçek bir kullanıcı dokunuyor, öğrendiğinle geri dönüyorsun. Günler ve haftalar.
Akıntıya bırakanlar yalnız iç döngüde yaşıyor. Bu yüzden ilk saat büyülü, üçüncü saat kaotik geçiyor. Orta döngü olmadan iç döngü yalnız hız üretiyor, yön üretmiyor.
Spec kodun önünde gider
"Sadece prompt yazmak" bir noktada platoya çarpıyor. İstek büyüdükçe ajanın tahmin ettiği kısım büyüyor ve tahmin ettiği kısım senin istediğin kısım olmuyor.
Platoyu niyetini yazıya dökerek aşıyorsun. En iyi yolu da şu: fikri tek cümleyle ver ve ajandan seni mülakata çekmesini iste. Zor soruları o sorsun. Kim kullanacak, hangi durumda, neyi kesinlikle yapmayacak.
Sonunda elinde bir spec var. Problem, kullanıcı, kapsam ve kapsam dışı listesi. Tek günlük bir üründe kapsam dışı listesi ürünün kendisinden uzun oluyor ve bu iyi bir işaret.
Spec'ten plan çıkıyor. Planı okumadan onaylamak, gün boyunca en sık düşülen çukur. Ajanın planı sen okumak için var.
Kanıt göster, iddia etme
Ajana "çalışıyor" dedirtmek kolay. Çalıştığını göstermesini istemek zor ve gerekli.
Kural şu: her kilometre taşının sonunda ajanın kendisinin çalıştırabileceği bir kontrol olsun. Bir hesaplayıcı yapıyorsan sonucun matematiğini elle doğrula. Bir form yapıyorsan boş gönderimi dene. Bir listeyi sıralıyorsan sıranın bozulduğu örneği ver.
Doğrulamayı sona bırakırsan hata birikiyor ve hangi adımın bozduğunu bulmak, işi baştan yapmaktan uzun sürüyor. Doğrulamayı her adıma koyarsan hata tek adımda kalıyor.
Bir de ikinci kural: iki başarısız düzeltmeden sonra temiz oturum. Ajan aynı hatayı üçüncü kez düzeltmeye çalışıyorsa sorun kodda değil bağlamda. Sohbeti temizle, spec'i düzelt, yeniden başla.
Bağlam kıt kaynak
Ajanın hafızası bir pencere ve pencere doluyor. Dolan pencerede ajan kendi eski kararlarını unutuyor, çelişen talimatları harmanlıyor, kaliteyi düşürüyor.
Bunun için iki alışkanlık yeter. Konu değişince oturumu temizle. Projenin kalıcı bilgisini kısa bir proje hafızası dosyasına yaz: hangi dil, hangi kurallar, hangi yasaklar. Ajan her oturumda önce onu okusun.
Kısa tutmak zorundasın. Uzun hafıza dosyası okunmuyor, okunsa da her isteğe gereksiz ağırlık ekliyor.
Zevk de yazılır
Yapay zekâ arayüzleri ortalamaya yakınsıyor. Aynı degrade, aynı köşe yuvarlağı, aynı üretilmiş görünüm. Bunun sebebi modelin zevksizliği değil, senin zevkini ona yazıyla vermemiş olman.
"Daha güzel yap" bir istek değil. Sıfat yerine sayı ver: tip ölçeği, boşluk sistemi, renk paleti, köşe ve gölge dili. Yasaklar listesi de yaz; neyi asla yapmayacağı, neyi yapacağından daha çok fark yaratıyor.
Bunları bir tasarım sözleşmesine koyup ajana verdiğinde arayüz kendi karakterini buluyor. Ekran görüntüsü alıp ajanın kendi işine bakmasını sağlamak da işin parçası.
Araçlar rolüne göre
Araç listesi her ay değişiyor; roller değişmiyor. İki aile var.
Terminalde çalışan ajanlar. Claude Code bu ailenin örneği. Kod kendi deponda yaşıyor, ajan dosyaları okuyor, değiştiriyor, komut çalıştırıyor. Platform kilidi yok: yarın araç değişse kod ve öğrendiklerin sende kalıyor. Program bu yüzden merkez araç olarak bunu seçti.
Tarayıcıda çalışan uygulama üreticileri. Lovable, Bolt, Replit ve benzerleri. Barındırmayı da üstleniyorlar, ilk ekrana en hızlı bunlarla ulaşıyorsun. Bedeli, kodun ve akışın o platformun kurallarına bağlı kalması.
Hangisi olursa olsun yukarıdaki üç döngü aynı. Araç seçimi yöntemi değiştirmiyor; yöntemi olmayanı hiçbir araç kurtarmıyor.
Bu bölüm Eylül 2026'da son kez kontrol edildi. Araç adları eskir, roller eskimez.
Nerede biter
Dürüst sınır. Tek günde çalışan ve yayında bir ürün çıkıyor. Şunlar çıkmıyor: giriş sistemi, ödeme, hassas kişisel veri, sunucu veritabanı.
Bunlar zor olduğu için değil, yanlış yapıldığında bedeli başkasına ödetildiği için kapsam dışı. Veri sızdıran bir giriş ekranını "çalışıyor" diye yayına almak, çalışmayan bir ekrandan kötü.
Bu katmanlara gelince iki seçenek var: hazır bir hizmete bağlanmak ya da işi bilen birine kodu inceletmek. Üçüncü seçenek yok.
Gün boyu kovalanan çukur
Programda mentörlerin sabahtan akşama peşinde koştuğu tek bir hata var: planı okumadan onaylamak.
Ajan bir plan yazıyor, göz ucuyla bakıyorsun, "tamam" diyorsun. Yirmi dakika sonra ajan planın ikinci maddesindeki yanlış varsayımı bütün kodun içine dokumuş oluyor. Geri almak, en baştan yapmaktan uzun sürüyor.
Çözüm bir alışkanlık: plan geldiğinde iki dakika dur. Maddeleri sesli oku. Anlamadığın maddeyi sor. Katılmadığın maddeyi sil. Bu iki dakika günün en pahalı yirmi dakikasını satın alıyor.
Öğle senkronunda herkes commit atıp ürününü altmış saniye komşusuna gösteriyor. Geride kalan mentör eşliğinde hazır bir kontrol noktasına atlayıp akışa dönüyor. Utanma yok; mimari bunun için kurulu. Yalnız çalışırken de aynı düzeni kendine kur: her kilometre taşında birine göster.
Kim için, kim için değil
Vibe coding, kendi işinde çözmek istediği bir problem olan ve o problemi yazıya dökebilen herkes için. Kod bilgisi ön koşul değil.
Yazılımcı olmak isteyenler için değil. Bu bir sınır, alçakgönüllülük değil: burada öğrendiğin şey ürün sahibi ve denetleyici olmak. Klasik kodlama eğitiminin verdiği temeli vermiyor ve öyle bir iddiası yok.
Bugün yapılacak tek şey
Araç karşılaştırma tablosu yapma. Prompt koleksiyonu biriktirme.
Kendi işinden, haftada bir seni yoran küçük bir problem seç. Ajana fikri tek cümleyle ver ve seni mülakata çekmesini iste. Çıkan spec'i oku, kapsam dışı listesini uzat, ilk kilometre taşını yaptır ve çalıştığını kendin doğrula.
Akşam elinde bir sohbet geçmişi olmayacak. Çalışan bir parça olacak. Vibe coding'in disiplinli ucu tam olarak bu: ajanı yönetmenin ürün ölçeğindeki hâli.
Kodu yazmıyorsun. Kararı sen veriyorsun.