Programlama

Vibe coding: faydaları ve riskleri

<dfn>Vibe coding</dfn>, yazılımı istemlerden üretip çıkan kodu okumamak demektir; sonuca bakarsınız, istediğiniz değilse başka türlü söylersiniz ve kod bir kara kutu olarak kalır. Bir prototip, bir iç araç ya da öğrenme için bu iyi bir takas; gerçek kullanıcısı ve gerçek verisi olan bir şey içinse bedelini başka bir yerde, genellikle daha geç ödersiniz.

  • Ders 14 / 14
  • Orta
  • Ücretsiz, kayıt yok

İkisi de gerçek olan iki kefe

Hız ve erişim

  • Fikirden gösterilebilir bir şeye, tek bir öğleden sonrada
  • Zaman ayırmayı hiç hak etmemiş iç araçlar
  • Teknik ekibe erişimi olmayan biri artık başlayabilir
  • Bir fikri, yazmayı bilmeden önce görmek

Gözden geçirilmeyen şey

  • Hiç yazılmayan ve hiç hata vermeyen bir erişim kontrolü
  • Bozulduğu gün kimsenin yerini bilmediği kod
  • Yanında kamuya açık kod lisansı getirmiş olabilecek bir parça
  • Takılmak kaldırıldığı için hiç oluşmamış bir beceri

Kefeler bilerek dengede: hangisinin ağır bastığı, bu kodun neyi taşıyacağına bağlıdır ve bunu sizin yerinize kimse çözemez.

Son kontrol: Bu dersteki bilgiler ve araç adları bu tarihte kaynaklarıyla yeniden doğrulanır.

Vibe coding tam olarak nedir ve yapay zekâ destekli kodlamadan farkı ne?

Terim 2025'te yayıldı ve her yeni terim gibi herkesin kendi anlamı var. Kullandığımız tanım, Stack Overflow geliştirici anketinin Wikipedia'ya atıfla anketine koyduğu tanım: büyük dil modeli istemlerinden yazılım üretmek.

Ama bunu sıradan kullanımdan ayıran cümle tanımda değil, davranıştadır. Asıl sınır şu: üretilen kodu okuyup anlıyor musunuz, anlamıyor musunuz. Kodu okuyan, eleştiren ve testini yazan kişi yapay zekâ ile kod yazıyordur ve dersi yapay zekâ ile kod yazmaktır. Yalnızca çalıştırmanın ürettiğine bakıp bir sonraki istemi ona göre yazan kişi vibe coding yapıyordur.

Yani bu iki kamp değil, bir yelpazedir. Bir kişi sabah bir prototipi vibe coding ile üretip öğleden sonra aynı kodu satır satır yeniden yazabilir ve ikisi de doğru olabilir. Yanlış olan, hangi kipte olduğunuzu bilmemektir.

Ve tartışmalarda kaybolan bir şey: vibe coding, çalışma biçiminde yeni bir icat değil. Bir forumdan kodu okumadan kopyalamak tam olarak buydu ve yirmi yıllık bir geçmişi var. Değişen şey ölçek. O zaman yirmi satır kopyalıyordunuz, şimdi iki bin satır alıyorsunuz ve o iki bini de kimse okumuyor.

Geliştiricilerin gerçekte kaçı bunu yapıyor?

Farsça ve İngilizce internet, vibe coding'in sektörün yeni çalışma biçimi olduğu iddiasıyla dolu. Sayı başka bir şey söylüyor.

2025 Stack Overflow geliştirici anketi, yukarıdaki tanımı kullanarak vibe coding'in profesyonel geliştirme işinizin parçası olup olmadığını doğrudan sordu. Yanıtlayan 26.564 kişinin yüzde 72,2'si hayır dedi, yüzde 5,4'ü de kesinlikle hayır. Olumlu tarafta yüzde 11,9 evet, yüzde 2,8 bir ölçüde, yüzde 0,4 kesinlikle evet dedi. Yüzde 2,1 denediğini söyledi, yüzde 1,2 emin değildi.

Bu sayıdan iki sonuç çıkıyor ve ikisi de önemli. Birincisi, yüzde 84'ünün yapay zekâ araçlarını kullandığı aynı topluluk içinde, yaklaşık yüzde on beşi profesyonel işlerinde yaptıklarına vibe coding diyor. Yani yaygın yapay zekâ kullanımı ile vibe coding aynı şey değil ve bu ikisini tek şey sayanlar, ister tanımlarken ister eleştirirken, iki farklı şeyden bahsediyorlar.

İkincisi, sayıyı olduğundan fazlasıyla okumayın. Bu, insanların kendileri hakkında söyledikleridir, davranışlarının ölçümü değil ve örneklem kendi kendini seçmiştir. Daha da önemlisi, soru profesyonel iş hakkındaydı. Hafta sonu istemlerle küçük bir uygulama yapan biri bu ankette büyük olasılıkla "hayır" işaretledi ve o topluluk aslında büyüyor.

Gerçekten nerede değer?

Bu çalışma biçimini eleştirmek kolaydır ve yazılanların çoğu tam olarak bunu yapar. Ama vibe coding'in yalnızca kabul edilebilir değil, doğru seçim olduğu üç yer var.

Atılacak bir prototip. Bir fikrin hiç değeri var mı diye bakarken önemli olan tek şey, dokunabileceğiniz bir cevaba ne kadar hızlı ulaştığınızdır. Yarın silinecek kodun kalitesi, ödemek için sebep olmayan bir maliyettir. Buradaki asıl koşul bir teknik değil bir karardır: bu kodun atılacağına baştan karar verin ve o karara sadık kalın. Üretime giden bir prototip, projedeki en kötü koddur ve hepimiz bunun her hâlini gördük.

Kendiniz için bir iç araç. Ayda bir çalışan ve yalnızca sizin çalıştırdığınız bir betik. On bin dosyayı yeniden adlandıran bir betik. Tek bir sayıyı gösteren küçük bir sayfa. Bunların kullanıcısı yok, saldırganı yok ve bozulurlarsa yalnızca kendi zamanınız gider. Burada kod kalitesi için endişelenmek yanlış şey için endişelenmektir.

Öğrenmek, tek şartla. Bir fikrin nasıl işlediğini yazmayı bilmeden görmek motivasyon üretir ve motivasyon öğrenmede küçük bir şey değildir. Şart, sonradan geri dönüp aynı şeyi kendinizin yazmasıdır. O ikinci adım olmadan vibe coding, öğrenme için yüzme videosu izlemenin yüzmeye yaptığını yapar.

Ve İran'a özgü, nadiren dile getirilen bir avantaj: erişim. Küçük bir kasabada oturan ve teknik bir ekibe hiçbir yolu olmayan biri, artık fikrini insanlara gösterebilecek kadar ileri taşıyabiliyor. Bu küçük bir şey değildir ve bu yönteme yönelik hiçbir eleştiri bunu görmezden gelmemelidir.

Maliyet nerede ortaya çıkar?

Bu yöntemin maliyetlerinin hiçbiri ilk gün görünmez ve onu tehlikeli yapan da budur. Burada yalnızca mekanizmalardan söz ediyoruz, kaynağı olmayan korku hikâyelerinden değil.

Güvenlik ve çoğu insanın tersinden anladığı bir örnek. Yaygın varsayım, tehlikenin istemci tarafı kodundaki bir anahtar demek olduğudur. Şimdi Google'ın Firebase API anahtarlarına dair kendi kılavuz sayfasını okuyun: Firebase anahtarlarının, alışılmış API anahtarlarının aksine, arka uç kaynaklarına erişimi denetlemek için kullanılmadığını ve kodun ya da depoya işlenen yapılandırma dosyalarının içinde bulunmasının sakıncası olmadığını söylüyor; veriyi asıl koruyan şey Güvenlik Kurallarıdır. Yani vibe coding ile yapılmış bir uygulamanın anahtarı tamamen zararsız, veritabanı ise herkese açık olabilir, çünkü kurallar hiç yazılmamıştır ve hiçbir anahtar tarayıcısı bir şey bildirmez. Aynı sayfa iki satır yukarıda Gemini API anahtarı için tam tersini söylüyor: o asla kodunuzda bulunmamalı. Bir uygulamada iki anahtar, iki zıt kural ve hangisinin hangisi olduğunu bilmenin tek yolu belgeleri okumak. Model çalışan kod yazar ve bu güvenli olmakla aynı şey değildir.

Bakım. Okumadığınız kod, bozulduğunda sizi hiçbir aracın kurtaramayacağı bir yere koyar: nereye bakacağınızı bilmezsiniz, çünkü neyin nerede olduğunu bilmezsiniz. Olağan yol, aynı modeli çağırıp düzelt demektir ve bu, sorun küçük kaldığı sürece işler. Program tek bir konuşmaya sığandan büyüdüğünde o yol da kapanır.

Lisans belirsizliği. Bu modeller kamuya açık kod üzerinde eğitildi ve kısıtlayıcı lisanslı mevcut koda benzeyen bir parça üretebilirler. Kodu okumayan birinin bunu fark etmesinin pratikte hiçbir yolu yoktur. GitHub'ın kamuya açık kodla eşleşen önerileri engelleyen bir ayar eklemesi, üreticinin de kaygıyı gerçek saydığını gösteriyor.

Ve kendinize ödediğiniz bir maliyet. Aynı ankette katılımcıların yüzde 20'si kendi problem çözme becerilerine olan güvenlerinin azaldığını söyledi. Mekanizmayı yapay zekâ ile kod yazmak dersinde açıyoruz: öğrenme takılmaktan gelir ve takılmayı ortadan kaldıran bir araç, size öğreten şeyi ortadan kaldırmıştır.

İlk günün gösterdiği ve göstermediği

  • 1

    Çalışıyor

    Sayfa açılıyor, düğme çalışıyor, istediğiniz şey ekranda. İlk gün görünen tek katman.

  • 2

    Sınır durumları

    Boş girdi, çok büyük girdi, aynı anda iki kişi. Bunlar sizin denemenizle değil, gerçek kullanıcıyla gelir.

  • 3

    Erişim denetimi

    Kimin neyi görmeye ya da değiştirmeye hakkı olduğu. Yokluğu hata vermez ve uygulama sahibine her şey normal görünür.

  • 4

    Bakım

    Bir şeyin bozulduğu ve nereye bakacağınızı bilmediğiniz gün, çünkü neyin nerede olduğunu hiç bilmediniz.

  • 5

    Lisans ve sahiplik

    Bu parçanın nereden ve hangi koşulla geldiği. Kodu okumamış birinin bunu öğrenmesinin pratikte yolu yoktur.

Su hattının altındaki katmanların hiçbiri hata vermez ve işin zor kısmı budur: çalışan bir program, programın sağlam olduğunun kanıtı değildir.

Duruşumuz: taslağı vibe coding ile yapın, ürünü mühendislikle

Vibe coding iyi mi kötü mü diye tartışmak verimsiz bir tartışmadır, çünkü cevap iki tarafın da söylemediği bir şeye bağlıdır: bu kod neyi taşıyacak.

Pratik kuralımız bir ilke değil bir sorudur: bu program yarın tümüyle yanlış şeyi yapsa ne kaybedilirdi? Cevap "hiçbir şey, yeniden çalıştırırdım" ise vibe coding yapın ve zamanınızı harcamayın. Cevap birinin parasını, birinin verisini ya da birinin itibarını içeriyorsa o kod okunmalıdır; ister siz okuyun ister parasını ödediğiniz kişi.

Tuttuğumuz pratik sınır üç şeydir. Kullanıcı verisi olan her yerde kod okunur, istisnasız. Para olan her yerde aynı. Bir mevsimden uzun yaşaması istenen her yerde aynı, çünkü üç ay sonra kimse isteme ne yazdığını hatırlamaz.

Diğer tarafta, bir fikre cevap almak için, yalnızca sizin çalıştırdığınız bir araç için ve bir şeyin nasıl görüneceğini görmek için bu yöntem elinizdeki en hızlı şeydir ve kullanmamak bir erdem değildir.

İşini bir serbest çalışana ya da ajansa veren herkes için son bir nokta: "bu kodu kim okudu" diye sormak kaba bir soru değildir ve cevaplaması da zor değildir. Cevap alamıyorsanız, cevap odur. Burada kendi işimizi nasıl yaptığımızı uygulama ve yazılım geliştirme sayfasında yazdık.

Taslağı vibe coding ile yapın, ürünü mühendislikle

  1. 1

    Taslak

    İstem verin, sonuca bakın, hızlı ilerleyin. Kod kalitesi burada hiçbir ölçüt değildir.

  2. 2

    Karar: tutmak mı atmak mı

    Tek soru: bu yarın tümüyle yanlış şeyi yapsa ne kaybedilirdi? Cevap, yolun hangi yöne gideceğini belirler.

  3. 3

    Gözden geçirerek yeniden yaz

    Aynı özellik, bu kez okunan küçük değişikliklerle ve koddan önce tanımlanmış bir testle.

  4. 4

    Yayından önce: erişim, girdi, anahtarlar

    Asla hata vermeyen ve her zaman elle kontrol edilen üçlü. Her anahtar için genel bir kuralı değil, o servisin kendi belgelerini okuyun.

Üçüncü adım, çoğu projenin kırıldığı yerdir: zor olduğu için değil, prototip çalıştığı ve kimse ona dokunmak için sebep görmediği için.

Bu işte yapay zeka

Bu dersin tamamı yapay zekâ ile bir çalışma biçimi hakkında, dolayısıyla bu blok o biçimin ne kadara mal olacağını belirleyen şeyi ele alıyor: hangi araçla vibe coding yaptığınız ve neyi kendinizde tuttuğunuz. Duruşumuz tek cümlede: <strong>size her değişikliği gösteren bir araç, siz onu okumasanız bile, yalnızca sonucu gösterenden daha güvenlidir, çünkü okumak zorunda kaldığınız gün okunacak bir şey vardır.</strong>

Gerçekten işe yarayan araçlar

  • Cursor Yerleşik ajanlı bir editör. Bu çalışma biçimi için asıl avantajı, değişiklikleri editörün içinde fark olarak göstermesidir; yani bir gün okumaya karar verirseniz orada durur. Kendi fiyatlandırma sayfası, sınırlı istekli ücretsiz bir plan ve ayda yirmi dolarlık profesyonel bir plan gösteriyor. İran'dan erişim hakkında bir iddiada bulunmuyoruz: bir desteklenen ülkeler listesi bulamadık ve kendimiz test etmedik.
  • GitHub Copilot İranlı bir okur için erişim hikâyesi beklenmediktir: GitHub'ın kendi ticaret denetimleri sayfası, bir ABD Hazinesi lisansının İran'da ikamet eden geliştiriciler için bulut hizmetlerini ücretsiz ve ücretli olarak kapsadığını söylüyor. Bunu aktarıyoruz, ödeme konusunda bir iddiada bulunmuyoruz. Özelliklerinden biri doğrudan bu dersi ilgilendiriyor: kamuya açık kodla eşleşen öneriler engellenebilir ve kodu okumayan biri için lisans belirsizliğine karşı tek pratik savunma budur.
  • Claude Code Depoyu gören ve birden fazla dosyayı aynı anda değiştirebilen bir komut satırı ajanı. Aynı güç, vibe coding'i küçük bir uygulamadan gerçek bir projeye taşıyan şeydir ve aynı oranda gözden geçirmemeyi pahalılaştırır. Ücretsiz kurulur ama bir Claude aboneliği ya da Anthropic Console hesabı olmadan çalışmaz ve İran, Anthropic'in desteklenen ülkeler listesinde yok.
  • Gemini Bu dersin şart koştuğu ikinci adıma uygundur: bir şeyi vibe coding ile yaptıktan sonra onu alıp açıklamasını isteyin ki ne inşa ettiğinizi anlayın. Çalışma kipi de cevap vermek yerine soru sorar. Google'ın kendi sayfası Gemini web uygulamasının iki yüz otuzdan fazla ülke ve bölgede çalıştığını söylüyor ve İran o listede yok.

Nerede geri teper

Bu yönteme özgü risk tek cümleye sığar: yanlış olan şeylerin hiçbiri hata üretmez. Hiç yazılmamış bir erişim kontrolü hata vermez. Doğrulanmamış girdi hata vermez. Yabancı bir lisans taşıyan bir parça hata vermez. Bu yöntemin size verdiği tek geri bildirim programın çalıştığıdır ve o geri bildirim, tam da sonradan paraya mal olan şeyler hakkında sessizdir.
Maliyetler bölümündeki Firebase örneği bunun en somut hâlidir ve kaynağı Google'ın kendi sayfasıdır: istemci tarafı kodundaki bir Firebase anahtarı sakıncalı değildir çünkü erişimi denetlemez, ama aynı sayfa asıl korumanın Güvenlik Kuralları olduğunu ve Gemini API anahtarının asla kodunuzda bulunmaması gerektiğini söyler. İki anahtar, iki zıt kural. Hiçbir model sormadıkça hangisinin hangisi olduğunu söylemez ve kodu okumayan biri sorulacak bir şey olduğunu bilmez.
Azaltmanın iki pratik yolu: yayından önce "çalışıyor mu?" yerine "birisi bunu değiştirirse ne olur?" diye sorun; ve size anahtar veren her servis için genel bir kuralı değil, o servisin o anahtara dair kendi belge sayfasını okuyun. Bu araçların İran'dan nasıl ödenebileceği için satın alma rehberine bakın.

Kaynaklar: Stack Overflow 2025 Developer Survey: AI Wikipedia: vibe coding (the definition the survey used) Google: API keys for Firebase, and what actually protects data OWASP Top 10: security misconfiguration GitHub Copilot plans GitHub and Trade Controls Cursor pricing Anthropic: supported countries Google: where the Gemini web app is available

Bu tavsiyenin sınırı

Bu ders ne bir güvenlik kılavuzu ne de bir hukuk kılavuzudur ve iki bölüm de gerçek danışmanlığın yerini almamalıdır. Üç şey bilerek yok: her ay değişen yap-ve-yayınla araçlarının listesi; bu yöntemin ne kadar zaman kazandırdığına dair herhangi bir sayı, çünkü savunacağımız bir kaynağımız yok ve kendimiz ölçmedik; ve bu yüzden veri sızdıran belirli bir uygulama hikâyesi, çünkü bulduğumuz her anlatının ya birincil kaynağı yoktu ya da doğrulanamıyordu. Burada olan şey mekanizmadan akıl yürütmedir ve her teknik iddianın kaynağı üreticinin kendi sayfasıdır. Dürüstçe söylenecek bir sınır daha: vibe coding ile yapay zekâ destekli kodlama arasındaki çizgi keskin değildir ve pratikte herkes onu başka bir yere çeker. Sunduğumuz şey bir tanım değil bir testtir: kodun ne yaptığını açıklayamıyorsanız onu okumamışsınızdır.

Kendi işimizden

"İstemci tarafı kodundaki bir anahtar" sorunun tek biçimi değildir demek, bizim için bir görüş değil bir mimari karardır. Bu sitedeki SEO araçları dışarıdaki bir veri servisine bağlanır ve o servisin kullanıcı adı ile parolası bir WordPress seçeneğinde saklanır; her çağrıyı PHP'nin kendisi yapar ve ziyaretçinin tarayıcısı o servisle hiç konuşmaz. Bu dersin kontrol edildiği gün bunu hatırlamak yerine test ettik: o kimlik bilgisinin adı yalnızca o eklentinin includes dizini altındaki PHP dosyalarında geçiyor, hiçbir JavaScript dosyasında geçmiyor; main.js onu sıfır kez içeriyor; ve genel araçlar sayfasının çıktısında o servis adının göründüğü tek yer, verinin nereden geldiğini söyleyen sayfanın kendi metni. Yani bir servisi sayfa metninizde adıyla anabilir ve kimlik bilgisinin sunucudan hiç çıkmamasını sağlayabilirsiniz. Aynı testi kendi sitenizde de çalıştırabilirsiniz ve bir dakika sürer: sayfa çıktınızı ve JavaScript dosyalarınızı, kodunuzda var olan her anahtarın adı için arayın.

Gerçek devam soruları

Programlama bilmeden gerçek bir uygulama yapılabilir mi?

Çalışan bir şey, evet. Güvenebileceğiniz bir şey, neyi taşıdığına bağlıdır. Gerçek kullanıcı, gerçek veri ve para söz konusu olmadığı sürece sorun yok; olduğu andan itibaren birinin kodu okuması gerekir ve o kişi siz değilseniz, biri olmalıdır.

Vibe coding ile yazılmış kodu nasıl güvenli hâle getiririm?

Tek bir taramayla ya da tek bir istemle olmaz, çünkü sorun genellikle orada olan bir şey değil, olmayan bir şeydir ve bir araç yokluğu bulamaz. Gerçekten işe yarayan en küçük şey: sakladığınız her veri parçası için kimin görmeye ve değiştirmeye hakkı olduğunu yazın, sonra bunu kodda bulun; ve projedeki her anahtar için o servisin o anahtara dair kendi belgelerini okuyun.

Vibe coding programcılık işlerini bitirecek mi?

Biz öngörüde bulunmuyoruz ve size kesin bir sayı veren kişi onu bir yerden almamıştır. Görülebilen şu: piyasa değeri olan iş hiçbir zaman kod yazmak değildi; neyin inşa edileceğine ve neden öyle inşa edileceğine karar vermekti. O kararlar hâlâ insan kararlarıdır ve aynı ankette yüzde 75,3, yapay zekâ kodlama işlerinin çoğunu yapabilse bile, cevaplarına güvenmediklerinde yine bir insana soracaklarını söyledi.