İçeriğe geç

Ürün çalışıyor ama sürekli bozuluyor: kod bilmeden kalite kontrolü

Vibe coding ile çıkan ürün ikinci özellikte çöküyorsa eksik olan kod bilgisi değil, yazılı kabul koşulu ve düzenli bozma denemesi.

Yapay zekâ pratiği18 Eylül 2026 yayımlandı5 dakikalık okuma

Dayanak: Bu rehber Vibe Coding Bootcamp'te ikinci ve üçüncü özelliğe geçen katılımcıların yaşadığı bozulmalardan yazıldı. Test aracı karşılaştırması, hata oranı veya kalite ölçümü içermez; örnekler yöntemi göstermek için kurulmuş senaryolardır.

İlk özellik çalıştı. İkincisi eklendi.

Birincisi bozuldu.

Bu döngü kod bilmemekten çıkmıyor. Yazılı bir davranış listesinin olmamasından çıkıyor. Bu yazı o listeyi kurmayı anlatıyor.

Liste on maddeyi geçmiyor ve elle koşuluyor. Test altyapısı kurmak gerekmiyor.

Kurmak isteyen için de kapı açık. Ama sıra şu: önce liste, sonra otomasyon. Neyi otomatikleştireceğini bilmeden kurulan test, çoğu projede terk ediliyor.

Bozulan şey yeni kod değil

Yeni bir istek verdiğinde ajan mevcut yapıya dokunuyor. Dokunduğu yerin eski davranışı bozulduysa bunu kimse fark etmiyor.

Sen yeni özelliğe bakıyorsun. Eskisini denemek aklına gelmiyor, çünkü çalışıyordu.

Kullanıcı ise ikisini birlikte kullanıyor. Bozulmayı ilk fark eden de genellikle o oluyor.

Üçüncü özellikte durum daha kötüleşiyor. Artık hangi davranışın ne zaman bozulduğunu da bilmiyorsun.

Bu noktada çoğu kişi ürünü bırakıyor. Bırakma sebebi de teknik değil: güven kalmıyor.

Kırılganlık burada doğuyor. Kodun kalitesinden önce, kontrolün yokluğundan.

Aynı şey deneyimli ekiplerde de oluyor. Fark şu: onlarda bu kontrolü bir makine yapıyor, sende bir liste yapacak.

Çalışan davranışların listesi

Yeni özellik eklemeyi bir saatliğine durdur ve bugüne kadar çalışan her davranışı tek cümleyle yaz.

Kullanıcı kayıt açabiliyor. Listede kayıtlar görünüyor. Tarih boşsa uyarı çıkıyor. Silinen kayıt geri gelmiyor.

Cümleler kısa ve gözle kontrol edilebilir olsun. "Uygulama düzgün çalışıyor" bir madde değil; kontrol edilemiyor.

Liste on maddeyi geçmiyorsa doğru yoldasın. Geçiyorsa ürünün zaten kapsam sorunu var demektir.

Bu liste senin tek gerçek ölçütün. Her yeni istekten sonra baştan koşuluyor.

Koşturmak beş dakika sürüyor. Bozulan bir davranışı bir hafta sonra bulmak bir günü yiyor.

Bozmayı dene, kullanmayı değil

Tek bir gösteri akışını tamamlamak kanıt değil. Ürünü kullanıcı gibi değil, sinirli bir kullanıcı gibi dene.

Boş gönder. Aynı kaydı iki kez ekle. Çok uzun bir isim gir. Sayfayı yenile. Geri tuşuna bas.

Bu beş deneme kod okumadan yapılıyor ve bozulmaların çoğunu yakalıyor. Hepsini yapmak beş dakika sürüyor.

Beşi ezberlenecek kadar az. Bir hafta sonra sıralamayı düşünmeden uyguluyorsun.

Yakaladığın her bozulmayı listeye bir madde olarak ekle. Liste böyle büyüyor ve büyüdükçe işe yarıyor.

Listeyi ajana da verebilirsin. Her değişiklikten sonra kendisi koşturup sonucu raporlayabiliyor; ama son bakan yine sen ol.

Şema: her yeni istekten sonra baştan koşturulan çalışan davranış listesi ve yakalanan bozulma.

"Düzelttim" bir kanıt değil

Ajan bir hatayı düzelttiğini söylüyor. Bu cümle bir rapor, kanıt değil.

Her düzeltmeden sonra bozulan durumu kendi elinle tekrar dene. Sonra listedeki diğer maddeleri de koştur.

Ajanın kendi düzeltmesini kontrol etmesini de isteyebilirsin. Ama son bakan sen ol; onun gördüğü şey senin ekranın değil.

Bu bir güven meselesi değil, yöntem meselesi. İnsan geliştiriciler de kendi düzeltmelerini test ediyor.

Ajanın raporu ile senin ekranın arasındaki fark çoğu zaman küçük bir varsayımdan çıkıyor. O varsayımı yalnız sen görebiliyorsun.

İki denemeden sonra temiz oturum

Ajan aynı hatayı üçüncü kez düzeltmeye çalışıyorsa sorun kodda değil.

Sohbet uzadıkça ajan kendi eski kararlarını unutuyor ve çelişen talimatları harmanlıyor. Bu noktada daha çok açıklama yapmak işi kötüleştiriyor.

Oturumu temizle. Bozulan davranışı, beklediğin sonucu ve denediğin iki yolu tek mesajda yaz.

Bu üç bilgi olmadan açılan temiz oturum da aynı yere gidiyor. Temizlik bağlamı siliyor, bilgiyi senin taşıman gerekiyor.

Çoğu zaman üçüncü deneme temiz oturumda ilk seferde çalışıyor.

Temiz oturuma geçerken kalıcı proje notunu da güncelle. Kaybolan bağlamın bir kısmı oraya yazılmışsa geri gelmiyor.

Kalıcı kuralları bir yere yaz

Projede tekrar eden kararlar var: tarih biçimi, dil, hangi alanların zorunlu olduğu, nereye dokunulmayacağı.

Bunları kalıcı bir proje notuna geçir. Her oturumda yeniden anlatmak hem zaman alıyor hem de her anlatımda biraz farklı çıkıyor.

Farklı anlatım da farklı sonuç üretiyor. Aynı ürünün iki ekranı böyle birbirinden ayrılıyor.

Notu kısa tut. Uzun bir kural listesi okunmuyor ve okunmayan kural, yazılmamış kuralla aynı.

Bir kural değiştiğinde notu da güncelle. Eskimiş bir kuralı tutarlı biçimde uygulamak, hiç kural olmamasından iyi değil.

Notta ne olmayacağını da yaz. Dokunulmayacak dosyalar ve değiştirilmeyecek davranışlar, en çok iş gören maddeler.

Değişikliği küçük tut

Büyük bir istek verildiğinde ajan çok yere dokunuyor ve bozulmayı bulmak zorlaşıyor.

Küçük istek verildiğinde bozulan şeyle yapılan değişiklik arasındaki bağ görünür kalıyor.

Bu bağ kaybolduğunda geriye tek yol kalıyor: her şeyi tek tek denemek.

Bir seferde tek davranış değiştir. Çalıştığını gör, kaydet, sonra sıradakine geç.

Kaydetmeyi atlama. Çalıştığını görüp kaydetmeden devam etmek, geri dönüş noktasını da kaybetmek demek.

Bu sıra yavaş geliyor. Pratikte hızlandırıyor, çünkü geri dönmek gereken mesafe hep kısa kalıyor.

Küçük değişiklik aynı zamanda daha iyi tarif demek. Büyük bir isteği net yazmak zor; küçük bir isteği net yazmak kolay.

Geri dönüş yolunu hazır tut

Her çalışan sürümü işaretle. Ne zaman işaretlediğini ve neyin çalıştığını bir satırla yaz.

Bozulduğunda uzun bir düzeltme turuna girmek yerine çalışan noktaya dönmek çoğu zaman daha hızlı.

Dönmek yenilgi de değil. Çalışan bir sürümden yeniden başlamak, bozuk bir sürümü onarmaya çalışmaktan kısa.

Bu kurulumu ilk gün yap. Bozulduktan sonra kurmaya çalışmak, en kötü anda öğrenmek demek.

Teknik yardım alacaksan da en verimli yer burası. Yarım saatlik bir kurulum, aylarca iş görüyor.

Kurulumdan sonra öğrenmen gereken tek şey iki komut: nereye döneceğim ve nasıl işaretleyeceğim.

Nerede sınır var

Tek başına kontrol edebileceğin bir alan var, bir de olmayan.

Giriş sistemi, ödeme, gerçek kişisel veri ve birden çok hesabın aynı veriye erişmesi bu kontrolün dışında. Bir eğitmenin başka birinin kayıtlarını görmemesi, o bölümü ekrandan gizlemekle çözülmüyor.

Bu katmanlarda kodu okuyabilen birine inceletmek gerekiyor. Yanlış yapıldığında bedelini kullanıcı ödüyor.

İnceleme istemek de bir yenilgi değil. Hangi katmanın inceleneceğini bilmek, ürün sahibi olmanın parçası.

Kim için

Vibe coding ile bir şey çıkarmış ve ikinci özellikte tıkanmış herkes için. Kod bilgisi gerekmiyor.

Otomatik test altyapısı kurmak isteyen için değil. Burada anlatılan kontrol elle yapılıyor ve on maddeyi geçmiyor.

Ürünü büyütmeye karar verdiğinde bir sonraki adım zaten bu listeyi otomatikleştirmek oluyor; liste hazır olduğu için o iş de kısalıyor.

Bugün yapılacak tek şey

Yeni özellik isteme.

Ürününü aç ve bugün çalışan her davranışı tek cümleyle yaz. On maddeyi geçme. Sonra beş bozma denemesini uygula ve yakaladığın her şeyi listeye ekle.

Bu bir saatlik iş. Karşılığında ürünün ne zaman bozulduğunu öğrenen tek kişi sen oluyorsun.

Bir sonraki istekten sonra aynı listeyi baştan koştur. Liste bir şey yakaladıysa işini yapmış demektir.

Yakalamadıysa da bilgi. İki hafta üst üste hiçbir şey yakalamayan madde, ya yanlış yazılmış ya da artık gereksiz.

Listeyi canlı tut. Ölü madde, listeyi okumayı da zorlaştırıyor.

Nerede pratik yaparsın

ProgramVibe Coding Bootcamp

Tek günlük vibe coding eğitimi: Claude Code ile kendi ürününü kur, yayına al.

RotaAI-Native Builder rotası

Bu yazının konusu AI-Native Builder rotasının duraklarında gerçek bir görev olarak çalışılıyor.

Sık sorulanlar

Ürünüm çalışıyor ama sürekli bozuluyor, ne yapmalıyım?

Yeni özellik eklemeyi durdur ve çalışan davranışların listesini yaz. Her yeni istekten sonra o listeyi baştan koştur. Bozulmanın sebebi çoğu zaman yeni kod değil, eski davranışın kimse tarafından kontrol edilmemesi.

Kod bilmeden nasıl test ederim?

Kullanıcı gibi. Boş gönder, iki kez ekle, çok uzun bir metin gir, sayfayı yenile, geri tuşuna bas. Bu beş deneme kod okumadan yapılıyor ve çoğu bozulmayı yakalıyor.

Ajan 'düzelttim' diyor ama düzelmiyor, neden?

Çünkü 'düzeldi' cümlesi bir kanıt değil. Her düzeltmeden sonra bozulan durumu kendi elinle tekrar dene. İki başarısız düzeltmeden sonra oturumu temizle; sorun kodda değil tarifte olabilir.

Ne zaman birine kod inceletmeliyim?

Giriş sistemi, ödeme, gerçek kişisel veri ve birden çok hesabın aynı veriye eriştiği an. Bu katmanlarda yanlış yapılan işin bedelini kullanıcı ödüyor.

Yazar

Katıl

Bir yıl daha tek başına denemekle geçmesin

Üyelik sana üç şey veriyor: üzerinde çalışacağın gerçek bir görev, çıktına bakan insanlar ve tıkandığında soracak bir yer. Tek başına başladığın işi yanında insanlarla ilerletiyorsun.

Üyelikte ne var
  • Circle topluluğu ve üye alanları
  • Seçilmiş kendi hızında programlar
  • Komünite Space biletlerinde %50 indirim
  • Online etkinlikler ve yayınlar
  • 1.000+ saat kayıt arşivi
  • Oryantasyon
  • Ücretsiz etkinliklerde erken kayıt
  • Yazılım ve araç avantajları
  • Topluluk yöneticimizle ücretsiz 1-on-1’lar
Yıllık üyelik
3.600 ₺/ yıl

Yıllık tek ödeme · günde yaklaşık 10 ₺

  • Tek plan, tek fiyat
  • 12 ay boyunca geçerli
  • 9 maddenin tamamı dahil

Ödemeden sonra hesabını tek adımda kuruyorsun. Üyelik koşulları kullanıcı sözleşmesinde yer alır.

Zaten üyeyim ↳