Vibe Coding(氛围编程):Yazılımı AI'ya teslim etme anı, geleceğin bakım yetkisini de teslim etmek demektir — Yavaş Yavaş AI162
Çevirmenin Notu
- “氛围编程” (Vibe Coding) esasında AI’nın hızında teknik borç biriktirmek anlamına geliyor.
- AI kodlama, çift taraflı bir kılıçtır: Prototip oluşturmak bir harika, ancak uzun vadeli bakım gerektiren ana projelerde felaketin başlangıcıdır.
- Teknolojiden anlamayan birinin AI ile ana ürünleri geliştirmesi, bir çocuğa sınırsız kredi kartı vermeye benzer — kısa süreli bir şatafat, sonrasında ise sonsuz borç.
- AI’yi kontrol etmenin anahtarı düşünmeyi bırakmak değildir; “teorik yapı” yeteneğini artırmaktır. İnsan, iplerin kontrolünü elinde bulundurmalıdır, AI’nın peşine takılmamalıdır.
“氛围编程”, teknik borç yaratmaktır
Steve Krouse
Halk arasında kafa karışıklığına neden olsa da, Andrej Karpathy “氛围编程” (Vibe Coding) terimini, AI destekli bir programlama biçimi olarak tanımlamıştır. Bu modelde, kodun varlığını bile “hissetmiyorsunuz”.
Kalıtım Kodu / Teknik Borç
Hiç kimsenin anlayamadığı kodlar için, çoktan bir terimimiz var: Kalıtım Kodu / Teknik Borç.
Kalıtım kodu herkesin düşmanı, bu boşuna değil. Ama sorun şu ki, kod tam orada değil mi? Doğrudan kodu görmekle anlamıyor muyuz?
Büyük bir yanılgı. Hiç kimsenin anlayamadığı kodlar, gerçek bir teknik borçtur. Tanımadığınız bir kodu anlamak ve hatalarını düzeltmek, büyük zaman kaybı gerektirir. Ayrıca yeni fonksiyonlar eklemek, yeni hatalar getirmeden yapmak daha da zor bir iştir.
Programlamanın özünde teori inşası vardır, kod yığmak değil. Bu gerçeği hepimiz biliyoruz. Bu yüzden, kod satırıyla programcı çıktılarını ölçmeye çalışan iş birimlerine şikâyet ediyoruz.
“氛围编程” ile kod yığını oluşturma hızınız, AI’nın kod oluşturma hızıyla aynıdır. Bu nedenle, “氛围编程”, prototip geliştirme ve tek seferlik projelerin mükemmel bir seçimidir: Sonuçta, yalnızca uzun süreli bakıma ihtiyaç duyan kodlar kalıtım kodu haline gelir!
Prototip ve Tek Seferlik Kod
Kendim de “氛围编程” ile bazı küçük uygulamalar geliştirmiştim, örneğin:
- Haftalık Büyüme Oranı Hesaplama
- New York Times’ın Connections oyununu puanlama
- Nişanlıma evlenme teklifi etme
Bu uygulamaları sürekli güncellemeyi düşünmüyordum, bu yüzden kodlarını anlamayacak olmam sorun değildi. Üstelik, bu uygulamaların ölçeği küçük, bir gün geri dönmek zorunda kalırsam, borçlanmam da sınırlı olacaktı. Bu sayede, uygulama geliştirme hızım geleneksel yöntemlere göre çok daha fazlaydı, süreç son derece keyifliydi.
“氛围编程” dereceli bir meseledir
“氛围编程” bir derece meselesidir; anahtar, kodu ne kadar derinlemesine anladığınızdır. Anlayışınız ne kadar derinse, o kadar fazla “hissetmekle” uğraşmazsınız.
Aynı bir talep vermek gibi, bir mühendis “kalıcı bir veritabanına sahip bir web uygulaması geliştirmek” isterken, bir teknik bilgisi olmayan kişinin “bir uygulama yapsana” istemesi (ama o, web uygulamasıyla yerel uygulama arasındaki farkı ayırt edemiyor ve veri kalıcılığını da anlamıyor), birincisinin “hissetmekle” uğraşma derecesi çok daha düşüktür.
Kredi Kartını Çocuğa Vermek
En kötü senaryo, bir programcı olmayanın “氛围编程” yöntemiyle uzun dönem bakım gerektiren büyük bir projeyi geliştirmeye çalışmasıdır. Bu, bir çocuğa bir kredi kartı verip “borç nedir” diye açıklamamak gibidir.
Başlangıçta, bu durum ne kadar heyecan verici olabilir: “Aman Tanrım, bu kartı dükkanımda geçirir geçirmez, ne istersem alabilirim!”
Bu, günümüz popüler söylemlerine ne kadar benziyor: “AI her şeyi yapabilir! Herkes programcıdır! Bakın, AI’nın oluşturduğu bu uygulama!”
Ancak bir ay sonra, kredi kartı faturasının vadesi dolacak: “Gerçekten bu şeyleri almak zorunda mıydım? Şimdi bu kötü durumu nasıl düzelteceğim?”
“氛围编程” geliştiricileri de benzer bir durumla karşılaşacak: “Kodum çöktü! Bu kadar çok dosya ve klasör ne için? Bunu nasıl düzeltmeliyim? AI’dan aldığım kod için harcadığım 400 doları geri alabilir miyim?”
Eğer kodu anlamıyorsanız, tek çıkış yolunuz AI’nın devam etmesini sağlamak olacaktır. Bu, “bir kartla diğer kartı ödemek” gibidir; yeni bir kredi kartının limitini bir diğerine borç olarak kullanmak.
2025’te AI ile Ciddi Yazılım Geliştirme
Eğer 2025’te uzun süre bakım gerektiren ciddi bir proje oluşturmayı planlıyorsanız, Andrej’in önerisi doğrudur:
AI’yi yeni bir stajyer gibi düşünmelisiniz ve onu çok kısa bir ip ile bağlamalısınız. Bu stajyer, yazılım bilgisine hâkim, adeta yürüyen bir ansiklopedidir. Ancak aynı zamanda aşırı hevesli, sürekli saçmalıyor, cesaretli ve iyi kodun ne olduğunu anlama yeteneğinden mahrumdur. Bu nedenle, hızınızı azaltmalı, savunmacı olmalı, dikkatli ve hatta biraz da takıntılı olmalısınız. Her fırsatı yakalayıp pratikte öğrenmelisiniz; çalışmayı tamamen ona devretmemelisiniz.
—— Andrej Karpathy, twitter
AI ile İnşaatı Nasıl Kucaklayabiliriz
Val Town’da, AI’yı ürünlerimize entegre etmenin birçok yolunu geliştirdik. AI yardımcımız Townie, kod yazıp okuyabilen, programları çalıştırabilen ve günlükleri kontrol ederek sürekli iterasyon yapan bir akıllı varlık gibidir.
Townie, “hissetmekle programlama” için mükemmel bir araçtır. Bunun avantaj ve dezavantajlarını anlayan arkadaşlara şiddetle tavsiye ederim. Bazen onu hızlı “氛围编程” için kullanırken; çok önem verdiğim projelerde, ipleri sıkı tutar, yalnızca “cerrahı hassasiyetle” düzeltmeler yapmasına izin veririm. Her iki mod da hem eğlenceli hem de verimlidir.
AI kodlama alanı sürekli değişiyor, geleceği tahmin etmek zor. Ama inanıyorum ki, “teorik yapı”, karmaşık yazılımlar inşa etmenin özüdür. Bu da, insan teknik uzmanlığımızın hâlâ vazgeçilmez olduğunu göstermektedir! Ayrıca, AI’nın yazılım mühendisliğini daha iyi hale getirmek için beklenmedik yollarla ilerlemeye devam edeceğine dair iyimserim.
Ancak, eğer çevrenizde teknik bilgisi olmayan arkadaşlar, “hissetmekle programlama” yoluyla “bir milyar dolarlık” uygulama hayalini kovalıyorlarsa, lütfen bu makaleyi onlara iletin. “Hissetmekle programlama” onları başarıya götüremez. Er ya da geç, kendi gözleriyle kodu anlamayı öğrenmeleri gerekecek 😱 ve nihayetinde acı bir gerçeği anlayacaklar: Hiç kimsenin anlamadığı bir kalıtım sistemini düzeltmektense, sıfırdan başlayarak yapılandırılmış bir yeni kod kütüphanesi inşa etmek daha iyidir.
Bu makale, geçen ay yaptığım bir konuşmanın özeti niteliğindedir; konuşmanın konusu Programlamada İnsan Zihninin Rolü idi. Nişanlım Emily’ye bu konularda aylardır dinleyip destek olduğu için teşekkür ederim, ayrıca konuşma videomu çektiği için de minnettarım. Bu konuşmayı organize eden Malte ve Rippling’e de teşekkür ederim.
Geoffrey Litt, Jimmy Koppel, Max McDonnell, Tom MacWright, Charmaine Lee, Brent Jackson ve Dan Shipper’a makaleye katkıları için teşekkür ederim. AI’nın abartılması ve pesimist görüşleri arasında makul bir ses çıkartan Simon Willison ve Andrej Karpathy’ye de teşekkürler.
Orijinal makale adresi: https://blog.val.town/vibe-code