Vibe coding, ne istediğini bir yapay zeka modeline anlatıp yazdığı kodu yakından okumadan kabul ederek yazılım üretmektir. Terimi Şubat 2025'te Andrej Karpathy ortaya attı. Hızlıdır ve prototipler ile tek kullanımlık araçlar için uygundur; sonuç kalıcı olduğunda, başkalarıyla paylaşıldığında ya da gerçek veri işlediğinde riskli hale gelir.
- Vibe coding yazmayı anlatmayla değiştirir: iş birimi artık kod satırı değil, cümledir.
- Hataların ucuz olduğu yerde en iyi çalışır: deneyler, prototipler ve tek seferlik araçlar.
- Maliyetleri ertelenir: kimsenin okumadığı kodu sonradan ayıklamak, genişletmek ve güvenceye almak zordur.
- Tehlike çoğunlukla başarıdan gelir: hızlı bir deney tutar ve sessizce kalıcı olur.
- Disiplin, işin geçici olup olmadığına baştan karar vermek ve geçici olmadığı anda gözden geçirme ile teste geçmektir.
Vibe coding terimi nereden çıktı?
OpenAI'ın kurucu üyelerinden ve Tesla'nın eski yapay zeka direktörü Karpathy, fikri Şubat 2025'te kısa bir paylaşımda anlattı: "vibe"lara tamamen teslim olduğun, "üstel gelişmeyi kucakladığın ve kodun var olduğunu bile unuttuğun" yeni bir kodlama biçimi. Yapay zekanın önerdiği her değişikliği farkları okumadan kabul ediyor, hata mesajlarını yorumsuz geri yapıştırıyor ve modelin düzeltemediği hataların etrafından dolanıyordu. Kapsam konusunda da açıktı: bunu "bir hafta sonu atılacak projeler için fena değil" diye niteledi. Geliştirici Simon Willison'ın Mart 2025 tarihli yazısı paylaşımın tamamını aktarıyor ve güvenilir bir başvuru kaynağı.
Terim hızla yayıldı. Collins Sözlüğü "vibe coding"i 2025'in Yılın Sözcüğü seçti ve bunu doğal dille yönlendirilen yapay zekanın bilgisayar kodu yazmak için kullanılması olarak tanımladı.
Bu yaygın kullanım bir tanım sorunu yarattı. Bazıları artık "vibe coding"i yapay zeka destekli her programlama için kullanıyor. Willison dar anlamı savunuyor: bir yapay zeka modeliyle, yazdığı kodu gözden geçirmeden yazılım üretmek. Profesyonel iş için kendi kuralı, bir başkasına açıklayamayacağı kodu commit etmemek. Modelin ürettiğini gözden geçirip test ediyor ve anlıyorsan, bu vibe coding değil, bir asistanla yazılım geliştirmedir. Tanımı baştan, sade bir dille görmek istersen vibe coding nedir rehberine göz atabilirsin.
Ayrım önemli, çünkü iki uç çok farklı risk taşır. Sezgiyle başlayıp sonra her satırı okuyan biri, hiç bakmayan birinden farklı bir konumdadır. Hangi uçta olduğunu bilmek, vibe coding'in "işe yarayıp yaramadığı" üzerine yapılan tartışmaların yarısını çözer.
| Yaklaşım | Kodu kim okur | Kim çalıştırır ve barındırır | En uygun alan |
|---|---|---|---|
| Yapay zeka destekli programlama | Sen, kabul etmeden önce | Sen | Geliştiricilerin bakımını yaptığı üretim yazılımı |
| Kod editöründe vibe coding | Kimse, tasarım gereği | Sen | Deneyler ve tek kullanımlık projeler |
| Barındıran yapay zeka uygulama oluşturucu | Kimse; sen davranışı yargılarsın | Platform | Kod yazmayanlar için çalışan web uygulamaları |
Sezgiyle kod yazmak nerede iyi çalışır?
Vibe coding, belirsizliğin ucuz olduğu yerde parlar. Bir fikri sınamak, bir akışı çizmek ya da bir varsayımı denetlemek için yazılan kodun uzun yaşaması beklenmez. Yanlışsa atarsın; doğruysa elinde kalan ders olur. Okumayı atlamak az maliyetlidir, çünkü çıktı zaten geçicidir.
Tipik bir iyi örnek: Bir öğretmen Cuma günkü ders için bir sayaçlı, sonunda puan gösteren bir tekrar quizi istiyor. Kimsenin bakım yapması gerekmiyor, kimsenin verisi risk altında değil ve ilk sürüm yanlışsa baştan anlatmak dakikalar sürüyor. Aynısı bir müşteriye göstermek için taslak, tek bir karar için hesap makinesi ya da bir fikre ilgi olup olmadığını sınamak için bir sayfa için de geçerli.
Asıl kazanç daha kısa bir geri bildirim döngüsü. Anlat, çalışan bir şeye bak, anlatımı düzelt. İnsanlar somut davranışı kâğıt üzerindeki plandan çok daha hızlı yargılar ve vibe coding bu yargıyı yapımın içine taşır.
Kimin üretebileceğini de genişletir. Net anlatım, belirli bir araca dair bilgiden daha önemli hale gelmeye başlar; böylece rezervasyon formunun tam olarak ne yapması gerektiğini söyleyebilen bir dükkân sahibi, editörü bilip işi bilmeyen birinden daha yararlı bir sonuca yaklaşabilir. Bu, bir kıtlığı başka bir kıtlıkla değiştirir: net düşünmek sınırlayıcı beceri olur.
Daha az konuşulan bir yarar, vazgeçmenin ne kadar kolaylaştığıdır. Elle yapılmış bir şeyi bırakmak zordur; yatırılan saatler yanlış olduğunda bile onu savunmaya iter. Bir tariften üretilmiş şey ucuzdur, pişmanlık duymadan bırakabilirsin. Bu daha cesur denemelere imkân verir ve tek bir ihtiyaç için yapılan tek kullanımlık yazılım kategorisine uyar.
Vibe coding nerede çatlar?
Bütün yaklaşım, çıktının ucuz ve geçici olduğu varsayımına dayanır. Bu varsayım bozulduğunda her şey değişir.
Kalıcılık. Çalışan bir prototip kalmaya meyillidir. Okunmadan kabul edilen onlarca karar, kimsenin incelemediği bir temele sertleşir.
Anlama. İnsanlar yazmadıkları kodu nadiren anlar. Üretilmiş tek bir değişiklik kendi başına okunabilir olabilir; ama değişiklikler üst üste bindikçe sistemin nasıl çalıştığına dair zihinsel model bulanır. Bir şey ters gittiğinde, kendi yarattığın ama hiç anlamadığın bir yapıyı arıyor olursun.
Hata ayıklama. Kendi kodundaki hatayı arayan bir geliştirici en azından ne demek istediğini bilir. Üretilmiş kodda hem neyin bozuk olduğunu hem de o satırın neden orada olduğunu çözmen gerekir. Her zamanki vibe coding hamlesi, yani hatayı geri yapıştırmak, model semptomları düzeltmeye devam ederken uzun süre döngüye girebilir.
Güvenlik ve bağımlılıklar. Okunmadan kabul edilen kod gizli anahtarları açığa çıkarabilir, izin kontrollerini atlayabilir ya da kimsenin incelemediği paketleri çekebilir; var olmayan ve saldırganların kaydedebileceği adlar dahil. Üretilen kodda hayali paketler ve tedarik zinciri riski yazımız bu hatayı ayrıntılı ele alıyor.
Bu çatlakların ortak bir kökü var: söylenen ile kastedilen arasındaki sessiz boşluk. Belirsiz bir cümle belirsiz çıktı üretir; bu çıktı okunmadan kabul edilince, düzeltmenin daha pahalı olduğu çok sonrasına kadar kimse fark etmez.
Görünmeyen maliyet nasıl birikir?
Vibe coding'in maliyeti ödediğin anda görünmez. Okunmadan kabul edilen her çıktı anlamada küçük bir boşluk bırakır. Tek başına zararsızdır. Boşluklar toplanır ve bir noktada faturaya dönüşür: kimsenin tam kavramadığı, her değişikliğin riskli hissettirdiği bir sistem.
Bu borç yapım zamanında değil, bakım zamanında vadesi gelir. Birinci haftada hız gibi görünen şey, üçüncü ayda karışıklık olarak geri döner. Bu boşluğa niyet borcu diyoruz: kodun yaptığı ile kimsenin nedenini açıklayabildiği arasındaki mesafe.
Ortak işte daha da kötüleşir. Kişisel bir araçta okumayı atlayan kişi bedeli öder. Çıktı başkalarının üstüne kurduğu bir temele dönüşünce, boşluğu bir kişi açar, bedeli bütün ekip öder. Kodu kimse yazmadığı için kimse tam sahip çıkmaz.
Maliyetin sessizliği, pratiğin nasıl yargılandığını da çarpıtır. Hız hemen görünür ve kutlanır; büyüyen anlama boşluğu hiçbir panoda görünmez. Adil bir değerlendirme ikisini aynı terazide tartar.
| Boyut | Saf vibe coding | Disiplinli üretim |
|---|---|---|
| Çıktıyı gözden geçirme | Atlanır | Kabul etmeden önce kod ya da davranış kontrol edilir |
| Başlangıç hızı | Çok yüksek | Biraz daha düşük |
| Zaman içinde anlama | Bulanır | Adım adım korunur |
| Maliyet ne zaman ödenir | Sonra, bakım sırasında | Baştan, yapım sırasında |
| Doğru bağlam | Deneyler ve tek seferlik araçlar | Kalıcı, paylaşılan ya da müşteriye dönük sistemler |
Disiplin ile dikkatsizlik arasındaki ince çizgi
Vibe coding'i savunulabilir kılan, çevresine çizilen sınırdır. Aynı araç, aynı prompt, aynı çıktı; fark, kontrol etmeden ne kadar ileri gittiğindir. Disiplinli bir üretici sezgiyi başlangıç noktası sayar ve geçici ile kalıcı arasında bilinçli bir tercih yapar:
- Başlamadan önce işin geçici mi yoksa kalıcı olması mı amaçlandığına karar ver.
- Geçici iş için hıza git ve çıktının okunmadan atılabileceğini kabul et.
- İşin kalıcı olacağı belli olduğu anda, kontrol etmediğin değişiklikleri kabul etmeyi bırak.
- Yazılımın ne yapması gerektiğini sade cümlelerle yaz ve her değişiklikten sonra her maddeyi test et.
- API anahtarları gibi sırları hem prompt'lardan hem koddan uzak tut; platformun kimlik bilgilerini sakladığı yerde tut.
- Bir değişikliğin neyi bozacağını artık tahmin edemediğinde yeni özellikleri durdur ve önce anlamayı yeniden kur.
Çizgi ince, çünkü geçici ile kalıcı arasında keskin bir sınır yok. Bir prototip başarılı olduğu için kalıcı olur. İşi değerli kılan şey, onu kırılgan yapan şeydir; dikkatsizliğin kötü niyetten çok başarıdan gelmesinin nedeni de bu. Bir deney beklenenden iyi çalıştığında yararlı soru onu tutup tutmamak değil, kontrol etmeye başlama zamanının gelip gelmediğidir.
Bu hikâyenin yaygın bir hali: Bir gönüllü koordinatörü tek bir etkinlik için vibe coding ile bir kayıt listesi yapar. Çalışır, bu yüzden sonraki etkinlikte, ondan sonrakinde de kullanılır. Bir yıl sonra yüzlerce kişinin adı ve telefon numarası içinde durur ve kimse kimin görebildiğini kontrol etmemiştir. Tek bir adım dikkatsiz değildi. Kayma öyleydi.
Kod okuyamıyorsan vibe coding
Vibe coding üzerine çoğu tavsiye, istesen kodu okuyabileceğini varsayar. Denemek isteyen pek çok kişi okuyamaz ve bu, disiplinin ne demek olduğunu değiştirir.
Kod okumuyorsan gözden geçirmen davranış düzeyinde olur. Uygulamanın yapması gerekenlerin kısa yazılı bir listesini tut (bir ziyaretçi randevu alabilir, aynı randevu iki kez alınamaz, sahip randevuyu görür) ve her değişiklikten sonra her maddeyi tek tek dene. Bu liste senin şartnamen ve test planındır.
İkinci karar, kodun nerede durduğu. Kod odaklı bir yapay zeka editörü sana dosyalar verir ve onlarla birlikte paket kurma, barındırma, veritabanı bağlama ve anahtarları güvende tutma işleri de gelir. Barındıran bir yapay zeka uygulama oluşturucu bu işleri senden alır ama sana daha az kontrol verir: uygulamayı dosyaları düzenleyerek değil, değişiklikleri anlatarak değiştirirsin. Vibe coding araçları ile yapay zeka uygulama oluşturucuları karşılaştırmamız bu takası ele alıyor; ikinci kategoriyi ise yapay zeka uygulama oluşturucu nedir yazısı açıklıyor.
Hangisini seçersen seç, son kısım insana kalır: uç durumları, gerçek veriyi ve gerçek kullanıcıları kontrol etmek. Bu son kısım, üretilen yazılımın neden insanlı son aşamaya ihtiyaç duyduğu yazısının konusu.
Tariften canlı bir web uygulamasını WisyLink ile kur
WisyLink, barındıran bir yapay zeka uygulama oluşturucudur. Ne istediğini sohbette anlatırsın; kendi adresinde canlı bir web uygulaması ya da site kurar, projen gerektirdiğinde veri, kullanıcı hesapları ve ödemeleri de bağlar. Kurulacak, barındırılacak ya da okunacak kod yok; uygulamayı aynı konuşmada sohbet ederek değiştirmeye devam edersin.
Bu, vibe coding'in disiplinli haline uyar:
- Başarısız bir oluşturma canlı sürümün yerini hiçbir zaman almaz; böylece deneyler çalışanı bozmaz.
- Ödemeler, e-posta ya da diğer servisler için kimlik bilgileri sohbete değil, Entegrasyonlar altına girer.
- Ücretsiz bağlantılar 30 gün sürer; bu, tek kullanımlık denemelere uyar. Ücretli plan, bir bağlantıyı abone kaldığın sürece canlı tutar.
- Sınırları bil: kod dışa aktarma ve görsel editör yok, çıktı bir web uygulaması; App Store uygulaması değil. Kapsam ve sınırlar ürün sayfasında anlatılıyor.
Olmazsa olmazlar listeni tut, bağlantıyı paylaşmadan önce her birini test et ve ne yapmak istediğini anlatan tek bir mesajla ücretsiz başla.
S.S.S.
