3 puan yazan GN⁺ 2025-02-04 | 1 yorum | WhatsApp'ta paylaş
  • LLM tabanlı geliştirme ortamında, kullanıcının doğrudan kod yazmadan konuşma ve komutlarla sonuç ürettiği yeni bir "vibe kodlama" kavramı ortaya konuyor
  • Cursor Composer ve SuperWhisper kullanılarak sesli komutlarla kod değiştiriliyor; "kenar çubuğu padding'ini yarıya indir" gibi basit isteklerle işlem yapılıyor
  • Kod değişikliklerini (diff) okumadan Accept All ile topluca onaylama ve hata mesajlarını olduğu gibi yapıştırarak çözme şeklinde bir otomatik düzeltme akışı kullanılıyor
  • Kod zamanla daha karmaşık ve anlaşılması zor hale gelse de, hafta sonu deneme projeleri düzeyinde yeterince iyi çalışıyor
  • Gerçek zamanlı olarak karşı karşıya gelen iki LLM'in yer aldığı bir Battleship oyunu da aynı yöntemle geliştirildi; "4o, 4o-mini'den daha güçlü" gözlemi dile getiriliyor

Vibe kodlama kavramı

  • "Vibe Coding" kod yazma eyleminden çok akışa ve hisse odaklanan bir geliştirme yaklaşımı
    • Kullanıcı, kodun ayrıntılı yapısına odaklanmadan LLM'in önerdiği sonuçları olduğu gibi kabul ediyor
    • "Kodun var olduğunu bile unutursunuz" ifadesiyle, AI merkezli geliştirme deneyimi vurgulanıyor

Kullanılan araçlar ve çalışma biçimi

  • Kod üretimi için Cursor Composer ve Sonnet modeli kullanılıyor
    • SuperWhisper üzerinden Composer ile sesli olarak konuşuluyor ve klavye neredeyse hiç kullanılmıyor
  • "Kenar çubuğu padding'ini yarıya indir" gibi basit komutlarla değişiklik isteniyor
    • Kod değişiklikleri (diff) incelenmeden Accept All ile onaylanıyor
    • Hata mesajları ayrıca açıklama eklenmeden yapıştırıldığında çoğu zaman çözüm üretiliyor

Kod yönetimi ve sınırlar

  • Kod büyüdükçe anlaşılması güç bir karmaşıklık seviyesine ulaşıyor
    • Hata çözülemezse, etrafından dolaşma ya da rastgele düzeltme isteklerini tekrar etme yoluyla sorun gideriliyor
  • Bu yaklaşım kısa süreli ve deneysel projeler için uygun olsa da, karmaşık sistemlerde sınırlara sahip

Deney projesi: Battleship oyunu

  • Yaklaşık bir saatlik "vibe kodlama" ile bir Battleship oyunu geliştirildi
    • Yapı, iki LLM modelinin gerçek zamanlı olarak birbirine karşı oynadığı şekilde kurgulandı
    • "4o, 4o-mini'den daha güçlü" şeklinde resmî olmayan bir gözlem paylaşılıyor
  • Somut istatistikler veya performans karşılaştırma verileri henüz mevcut değil

Genel bağlam

  • LLM'lerin gelişimi, geliştiricilerin kodun ayrıntılarıyla doğrudan uğraşmadan çalışan uygulamaları hızla üretebilmesini gösteriyor
  • "Vibe kodlama", AI merkezli yeni bir programlama paradigmasını deneysel olarak ortaya koyan bir örnek olarak değerlendirilebilir

1 yorum

 
GN⁺ 2025-02-04
Hacker News görüşleri
  • Her yıl yazılım için kalite standardının artık daha fazla düşemeyeceğini düşünüyorum, ama her seferinde yanıldığımı görüyorum

    • Neden düzgün yapılmayacak bir şeyi yapmaya kalktıklarını anlamıyorum
    • Bu, sanki düzgün kesilmemiş tahtaları çivileyip sandalyeye benzeyen bir şey yapıp sonra üstüne oturmak gibi
    • “Bazen sadece oturacak bir yere ihtiyaç olur” deniyor ama yine de en azından asgari bir bitmişlik düzeyi olması gerektiğini düşünüyorum
    • Bazı insanların İngilizce konusunda kendine güveni olmadığı için LLM'lere tamamen bağımlı hale geldiğini, bunun sonucunda da kendini ifade etme becerilerini ve özgüvenlerini kaybettiklerini görüyorum
    • Yazılımda daha en baştan yaptığınız şeyin bir ‘sandalye’ olduğunu bildiğiniz durumlar nadirdir
      • Sonuçta bu sadece keşif odaklı programlama ya da prototiplemenin başka bir adı
    • Bazen önemli olan varış noktası değil, sadece hızlıca bir yere ulaşmak istemek oluyor
      • Bu, yorgun olduğu için kısa süreliğine yere oturan birini azarlamak gibi
    • Bugünlerde kodun gerçek donanım üzerinde çalıştığına dair gerçeklik hissinin kaybolduğundan endişe ediyorum
      • Genç geliştiriciler çoğu zaman kodun fiziksel sonuçlarını anlamıyor
      • AI ve onun hype'ının bir gün çökeceğini düşünüyorum ama kaliteyi koruma mücadelesi sürmeli
  • Ben de bu şekilde hafif projeler yaparken keyif alıyorum

    • Ama güvenlik asla baştan savma yapılamaz
    • AI kodlama asistanlarının kimlik doğrulaması olmayan API'ler oluşturduğu ya da XSS riski taşıyan şablonlar ürettiği çok oldu
    • LLM'leri her gün kullanıyorum ama güvenlik mühendisinin rolünün gelecekte de fazlasıyla var olacağından eminim
  • Bu yaklaşıma bakınca, sanki ‘yiyip kod yazan biri’ ortaya bir çıktı teslim ediyormuş gibi geliyor

  • Bu şekilde kodlamaya başlamanın zor problemleri çözme yeteneğini körelteceğinden endişe ediyorum

    • Ama başka biri, hâlâ gerekli yerlerde elle dikkatli çalışma yapılabildiğini söylüyor
    • Buna karşılık yeni şeyler denemenin giriş bariyeri düştüğü için çok daha özgür keşif yapılabiliyor
  • Bugünlerde en baştan bu yöntemle öğrenen AI-native geliştiriciler giderek çoğalıyor

    • Artık çağın kod yazmaktan çok AI coder yönetimine yaklaştığını düşünüyorum
  • Doğal dil komutlarıyla düzenlenebilen WYSIWYG benzeri araçlarda, RAD araçlarının sınırları gibi ani bir zorluk duvarı olacağını düşünüyorum

  • Bazıları “bu şekilde öğrenilmez” diyor ama bence önemli olan harcanan emek ile ortaya çıkan kaliteyi dengelemek

    • Vibe Coding, öğrenme ve keşif için iyi bir yöntem
    • Yeni bir emek–kalite spektrumu açabilir
    • Ancak Fred Brooks'un dediği gibi, ilk deneme yetersizse onu cesurca atabilmek gerekir
      • LLM'in ürettiği ilk implementasyona saplanıp kalırsanız, problemi doğru düzgün anlamadan yanlış bir referans noktasına bağlanabilirsiniz
  • CSS için Vibe Coding'in yeterli olduğunu düşünüyorum

    • Ama başka biri, erişilebilirlik ve duyarlı tasarım düşünülünce bunun o kadar basit olmadığını savunuyor
    • İyi yazılmış CSS aksine daha sade ve bakımı daha kolay olur
    • Araya AI sokmak tersine engel olabilir
    • Bir başkası Claude ile küçük bir web yardımcı aracını baştan sona tamamen geliştirdiğini söylüyor
    • Bir diğeri ise React tabanlı bir arama DSL'i ya da GUI pipeline editörünü aynı şekilde yaptığını, bu yaklaşımın basit CSS düzeyinin ötesine geçtiğini anlatıyor