𝗩𝗶𝗯𝗲 𝗖𝗼𝗱𝗶𝗻𝗴 𝗕𝗶𝗿 𝗦𝗲𝘃𝗶𝘆𝗲 𝗗𝗲ğ𝗶𝗹𝗱𝗶𝗿. 𝗕𝗶𝗿 𝗘𝗸𝘀𝗲𝗻𝗱𝗶𝗿.
Karpathy, vibe coding'i basit bir döngü olarak tanımladı: bir şeyler gör, bir şeyler söyle, bir şeyler çalıştır ve kopyala-yapıştır.
Çoğu insan bunu bir özerklik merdiveni olarak görüyor. Yapay zekaya ne kadar iş verdiğinizi ölçüyorlar.
Seviyeler şöyledir:
- L0: Yapay Zeka Yok
- L1: Otomatik tamamlama olarak yapay zeka
- L2: Niyet odaklı (siz ne yapılacağını, yapay zeka nasıl yapılacağını tanımlar)
- L3: İş birlikçi eşli programlama (pair-programming)
- L4: Yarı otonom
- L5: Tam otonom
Bu merdiven yararlıdır ancak eksiktir. Sadece tek bir şeyi ölçer: delegasyon.
İki geliştirici de Seviye 4'te olabilir. Biri güçlenerek büyüyen temiz bir kod tabanı oluşturur. Diğeri ise bozularak ilerleyen bir karmaşa yaratır.
Aradaki fark becerileri değil, operatör disiplinleridir.
Operatör disiplini, işinizin ne kadarının incelenebilir bir durumda (state) kaldığıdır.
Kararlarınızı kaydetmezseniz, her oturumda onları tekrarlamak zorunda kalırsınız. Aynı mimari hakkında yapay zekayla tartışarak aylarımı harcadım. Her seferinde aynı yanlış şeyi öneriyordu. Bitkin hissediyordum.
Bunu, kararlar için basit bir depo (store) oluşturarak çözdüm:
- Önerilen
- Kabul Edilen
- Kilitli
Bir karar kilitlendiğinde, yapay zeka izin almadan onu değiştiremez. Çalışma süreci sakinleşti. Kod tabanı sallanmayı bıraktı.
Vibe coding iki eksenli bir haritadır.
- Eksen Özerkliktir (L0'dan L5'e).
- Eksen Operatör Disiplinidir (Düşükten Yükseğe).
Matematik şu şekilde işler: Uzun vadede L1 + Yüksek Disiplin > L5 + Düşük Disiplin.
Düşük disiplinle yüksek özerklik, maksimum hız ve maksimum karmaşaya yol açar. Teknik borç duvarına doğru hızla ilerlersiniz.
Disiplinle inşa etmek için üç şey kullanıyorum:
- Bir persona dosyası: Model için kimlik, kurallar ve tercihler.
- Sadece ekleme yapılabilen depolar (append-only stores): Kilitli kararlar ve aktif iş akışları için bir yer.
- Bir kayıt alışkanlığı: Kararları oluştuğu anda not etmek.
Sadece istemlere (prompts) güvenmeyin. Bir durum makinesi (state machine) inşa edin.
Eğer daha fazla yapay zeka size daha fazla kaldıraç sağlamıyorsa, sorun muhtemelen model değildir. Sorun ikinci ekseninizdir.
Neyi durum (state) olarak kaydediyorsunuz? Her oturumda neyi sıfırdan yeniden inşa ediyorsunuz?
Kaynak: https://dev.to/jugeni/vibe-coding-is-not-a-level-its-an-axis-12gb
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi