Vibe Kodlama

Küçük Resim

Vibe Kodlama Nedir?

Vibe kodlama, 2024/2025’te Andrej Karpathy tarafından tanıtılan AI destekli bir programlama yöntemidir. Vibe kodlama ile, ne istediğinizi doğal dilde tanımlarsınız ve genellikle büyük dil modelleri (LLM’ler) sizin için çoğu, genellikle tüm, çalışan kodu üretir. Zamanınız varsa, vibe kodlama yolu hakkında daha fazla bilgi edinmek için Rick Rubin tarafından uyarlanan Vibe Kodlama Sanatı sayfasını kontrol edin.

Bu yeni yöntemin büyük bir avantajı erişilebilirliktir; çünkü kodlama deneyimi olmayan insanlar projeler oluşturabilirken, deneyimli geliştiriciler yeni fikirlere hızlıca prototip oluşturabilirler. Bu, özellikle başlangıçlar için faydalıdır. Dezavantajı ise, geliştiricilerin üretilen kodun nasıl çalıştığını tam olarak anlamayacak olmalarıdır. Küçük yan projeler için bu sorun değil, ancak üretim düzeyindeki yazılımlar için uzun vadeli sorunlara ve teknik borca yol açabilir.

Vibe kodlamayı daha akıcı hale getiren birçok araç bulunmaktadır. Cursor IDE, Claude Code CLI, GitHub Copilot, Loveable, Replit, v0 ve diğerleri, AI ile doğrudan ortamınızda çalışmanıza veya vibe kodlama için özel arayüzler sağlamanıza olanak tanır. Kişisel olarak, bu projeler için çoğunlukla Cursor IDE ve Claude Code CLI ile kaldım.

Ancak burada bir durum var. Bu araçlar ve modeller para gerektiriyor. Geleneksel kodlamada, çoğunlukla zamanınızla ödeme yapıyorsunuz. Vibe kodlamada ise, cüzdanınızla ödeme yapıyorsunuz. Ve ne yaptığınızı bilmiyorsanız, hem cüzdanınızla hem de zamanınızla ödeme yapıyorsunuz. Bu sayfadaki projelerin her biri yaklaşık $10 ile $20 arasında bir maliyete sahiptir. Eğer çok fazla deneme yapıyorsanız, bu miktar birikir. Bu modeller geliştikçe ve daha verimli hale geldikçe, maliyetin sonunda düşeceğini düşünüyorum. Şu anda, vibe kodlamanın projeniz için mantıklı olup olmadığını değerlendirirken dikkate alınması gereken bir şey.

Mümkün olanı merak ederek, vibe kodlamayı kendim denedim ve gerçek projeler aracılığıyla ilkenin kendisini keşfetmek için bu sayfayı oluşturdum. Sadece ürünler inşa etmiyorum, aynı zamanda vibe kodlamanın gerçekten neler yapabileceğini test ediyor ve gösteriyorum. Bu sadece eğlence için, ancak bu, bu modeller geliştikçe gelecekte kodlamanın nasıl görünebileceğine dair bir bakış sunuyor.

Sonsuz Maymun Teoremi

Yazar

Sonsuz Maymun Teoremi hakkında hiç duydunuz mu? Bu, eğer sonsuz maymunlara sonsuz daktilolar ve sonsuz zaman verirseniz, sonunda birinin Shakespeare eserlerini tamamen rastgele tuşlara basarak üreteceğini söyleyen felsefi bir düşünce deneyidir.

Saçma geliyor, değil mi? Ama işin ilginç kısmı burada. Vibe kodlama biraz buna benziyor, tek farkla; maymunlar yerine AI modellerimiz var, daktilolar yerine kodlama dilleri var ve Shakespeare yerine çalışan yazılımlar elde ediyoruz.

Bunu düşünün. Büyük dil modelleri, milyarlarca kod satırı, desen ve örnek üzerinde eğitilmiştir. Bir LLM’ye bir istem verdiğinizde, aslında insan geliştiricinin yapacağı gibi adım adım probleminizi “düşünmüyor”. Bunun yerine, eğitim sırasında öğrendiği desenlere dayanarak bir sonraki en olası token’ı tahmin ediyor. Temelde, istatistiksel olarak doğru görünen bir şey üreterek eğitim sırasında öğrendiği desenlere dayanarak eğitimli tahminler yapıyor.

Ve bir şekilde, çoğu zaman işe yarıyor. Model, gerçekten derlenen, çalışan ve probleminizi çözen kodu üretiyor. Anlayışla değil, ama olasılıksal desen eşleştirmesi ile, son derece büyük bir ölçekte. Evrenin en sofistike rastgele metin üreticisi “doğru” cevabı bulmuş gibi. Ama burada fark hız. O maymunların gerçek sonsuzluğa ihtiyacı olurdu. Sizin AI’nız? Saniyeler veya dakikalar içinde oraya ulaşıyor.

Bu nedenle, bir şekilde, vibe kodlama kullandığınızda, çözümler üretmek için bir modele damıtılmış milyonlarca kod deseni kullanıyorsunuz. Bu bilinçli bir problem çözme değil, istatistiksel bir sihir. Ve bu nedenle, bu kadar güçlüdür ve kabul etmek gerekir ki, kodun gerçekten ne yaptığını anlamak hala önemlidir.

Soru, Cevaptan Daha Önemlidir

Sıklıkla göz ardı edilen önemli bir şey var. Vibe kodlama, herhangi bir cevabı almakla ilgili değildir, doğru soruyu sormakla ilgilidir. Galaksinin Rehberi adlı eserdeki Derin Düşün Supercomputer‘ı düşünün. Hayatın, evrenin ve her şeyin nihai sorusunun cevabını hesaplamak için milyonlarca yıl harcadı ve sonunda size 42 sayısını verdi. Cevap teknik olarak doğruydu, ancak gerçek sorun, ilk başta ne sorulması gerektiğini bulmaktı.

Vibe kodlama da aynı şekilde çalışır. İstemleriniz her şeydir, ancak bağlam yönetimi de öyledir. Belirsiz bir istem, belirsiz bir kod verecektir ve eğer doğru dosyaları, belgeleri veya örnekleri bağlam olarak sağlamazsanız, model neye gerçekten ihtiyacınız olduğunu anlamayacaktır. Eğer kodlama, mimari ve sistem tasarımı konusunda anlayışa sahip biriyseniz, ayrıntılı istemler oluşturabilir ve LLM modelini mükemmel çözümler için yönlendirecek doğru bağlamı oluşturabilirsiniz. Ancak ne sormanız gerektiğini veya hangi bağlamı sağlamanız gerektiğini bilmiyorsanız, AI da bilemeyecektir.

Aslında, bu nedenle vibe kodlama deneyimli geliştiriciler için bu kadar güçlüdür. İyi kodun nasıl göründüğünü biliyoruz, tuzakları anlıyoruz ve modeli bunlardan uzaklaştıracak istemler yazabiliyoruz. Teknik bir geçmişi olmayan acemiler için bu gerçek bir sınırlama haline gelir. Çalışan kod alabilirsiniz, ancak neyin yanlış gittiğini veya bir sonraki neyi sormanız gerektiğini anlamadan, sıkışıp kalırsınız.

Vibe Kodlama Yeterli Olmadığında

En son AI modelleri etkileyici, ancak bunlar sihirli bir çözüm değil. Vibe kodlama üretimde işe yarayabilir, ancak sadece ciddiyseniz. Sağlam birim testlerine ihtiyacınız var. Sisteminizin ne yapması gerektiği konusunda net gerçek kaynaklara ihtiyacınız var. İşlerin kırıldığı veya kaydığı zamanları yakalamalısınız. Ve hacker zihniyetine ihtiyacınız var. Kutunun dışına düşünün ve vibe kodlama projenizi beklenmedik şekillerde kırmaya çalışın. Hangi kenar durumlarını göz önünde bulundurmadınız? Birinin istismar edebileceği hangi güvenlik açıkları var? Bu, sadece çalışan kod ile gerçekten sağlam olan kodu ayıran şeydir.

Ancak burada bir durum var. AI sizi sahiplenmez. Siz AI’ya sahipsiniz. Sadece ürettiği şeyleri kabul etmeyin. Gözden geçirin. Test edin. Kırın. Ve dürüst olmak gerekirse, kod tabanınızın belirli bölümleri için eski usul kodlamaya geri dönmeniz gerekecek. Kilitlenin, derin düşünün, kendiniz yazın. Vibe kodlama işleri hızlandırır, ancak önemli olduğunda gerçek programlamanın yerini almaz.

Öğrendiğim bir başka şey var. Bazen AI ile bir oturumu sonlandırmanız ve yenisini başlatmanız gerekir. Konuşma geçmişiniz büyüdükçe, modelin performansı düşer. Daha fazla hata yapar, daha az tutarlı kod üretir ve daha sık halüsinasyon yapmaya başlar. Bunu yakalamazsanız ve durmazsanız, bu hatalar birbirini birikir ve işleri giderek daha kötü hale getirir. Bu, sürekli fotokopi çekilmiş bir belgeyi okumaya çalışmak gibidir. Yeniden başlamak, işleri temiz ve keskin tutar.

Vibe Kodlanmış Projeler

Aşağıda, vibe kodlama metodolojisi kullanarak oluşturduğum iki proje bulunmaktadır: stairs (repo) ve transcendental (repo). Çoğunlukla istemlerden üretilmiş olup, manuel çalışma bağlam sağlama, hata ayıklama ve GitHub Pages üzerine dağıtım ile sınırlıdır. Bunlar, yaratıcı fikirleri kod ile birleştirerek vibe kodlama aracılığıyla nelerin mümkün olduğunu gösteren eğlenceli statik site deneyleridir. Her ikisi de GitHub üzerinde barındırılmaktadır.

Projeleri Görüntüle

Merdivenler

Transandantal