← Radar

Konu: Kodlama3 dk okuma

ponytail: Ajanına 'tembel kıdemli geliştirici' gibi düşünmeyi öğretmek

Bu neden önemli?

Ajanlar istenenden fazlasını yazmaya meyilli: gereksiz paketler, soyutlamalar, sarmalayıcılar. Az kod, az hata ve az bakım demek. Ayrıca her popüler 'skill' ya da istem paketinin iddiasını nasıl sorgulayacağını bu örnek iyi gösteriyor.

Herkesin tanıdığı o kıdemli

Her şirkette biri vardır. Ona 50 satırlık kod gösterirsin, bir şey demez, yerine tek satır yazar. ponytail bu kişiyi kodlama ajanının içine koymaya çalışan açık kaynak bir eklenti. Claude Code ve Codex’e eklenti olarak kuruluyor. Diğer ajanlar için tek bir AGENTS.md dosyası da var.

Temelinde 90’lardan kalma bir yazılım ilkesi var: YAGNI, yani “You Aren’t Gonna Need It” (Buna ihtiyacın olmayacak). İhtiyaç doğmadan soyutlama ekleme, paket kurma, sınıf yazma.

Karar merdiveni

ponytail, ajanı kod yazmadan önce sırayla şu sorulardan geçiriyor. İlk “evet” cevabında duruyor:

  1. Bu gerçekten gerekli mi? Değilse hiç yapma.
  2. Kod tabanında zaten var mı? Varsa onu kullan.
  3. Dilin standart kütüphanesi yapıyor mu?
  4. Platformun (tarayıcı, işletim sistemi) hazır bir özelliği var mı?
  5. Zaten kurulu bir paket yapıyor mu?
  6. Tek satırda olur mu?
  7. Hiçbiri değilse, çalışan en küçük çözümü yaz.

Örnek: Silme onayı için bir pencere istedin. Sıradan bir ajan bir arayüz kütüphanesi kurup portal, arka plan, tetikleyici gibi parçalarla 30 satır yazıyor. ponytail ise tarayıcının kendi <dialog> öğesini kullanıyor. Odağı içinde tutuyor, Escape ile kapanıyor, 2022’den beri tüm büyük tarayıcılarda var. Atladığı şeyi de ponytail: diye başlayan bir yorumla not ediyor. İleride gerçekten gerekirse nereye bakacağını biliyorsun.

Önemli bir sınır da konmuş: Güvenlik, veri kaybını önleme, girdi doğrulama ve erişilebilirlik hiçbir zaman kısılmıyor. Yani tembellik çözümde, okumada değil.

Benchmark’ın hikâyesi

İlk sürüm, “%80–94 daha az kod” iddiasıyla bir haftada GitHub’da 20 binden fazla yıldız topladı. Bu sayılar tek seferlik cevaplardan geliyordu: Modele bir görev ver, cevabındaki satırları say.

Scott Logic’in teknoloji direktörü Colin Eberhardt bu testi kendisi tekrarladı. Ortalama satır sayıları şöyle çıktı:

  • Hiçbir ek talimat yok: 108 satır
  • ponytail: 8,25 satır
  • Sadece “YAGNI ilkelerine uy” eklemek: 10,4 satır
  • “YAGNI ilkelerine ve tek satırlık çözümlere uy” eklemek: 6,9 satır

Yani yedi kelimelik bir cümle, ponytail’i geçti. Eberhardt’ın asıl tespiti şuydu: Talimatsız model cevabını açıklamalar ve seçeneklerle şişiriyordu. Fark büyük ölçüde kıyaslanan tarafın zayıflığından geliyordu.

ponytail’in yazarı eleştiriyi kabul edip testi yeniden kurdu. Yeni test, Claude Code’un gerçek bir FastAPI ve React projesinde 12 özellik geliştirmesini ölçüyor. Sonuç daha mütevazı: Ortalama %54 daha az kod, %20 daha düşük maliyet, %27 daha hızlı. %94’lük düşüş artık sadece ajanın gerçekten aşırıya kaçtığı görevlerde görülüyor.

Videodaki denemede de ponytail’li Claude Code, aynı hava durumu uygulamasını tek bir HTML dosyasıyla, yarı maliyetle yaptı. Talimatsız sürüm üç dosya ve bir Python sunucusu kurdu.

Peki kurmalı mısın?

Videonun yorumu: Paketleme de bir değer. ponytail sadece istem değil. Değişikliği aşırı karmaşıklık için inceleyen /ponytail-review, tüm projeyi tarayan /ponytail-audit ve ertelenen kısayolları listeleyen /ponytail-debt komutları da var.

Ama genel ders daha önemli: Bir “skill” ya da istem paketi büyük bir yüzde vaat ediyorsa önce şunu sor: Neyle kıyaslandı? Belki tek bir cümle, kendi talimat dosyanda aynı işi görüyor.

Düşün

  • Son yazdığın ya da ajana yazdırdığın özellikte, platformun zaten sunduğu bir şeyi baştan yazdın mı?
  • Kullandığın bir istem paketinin işe yaradığını nasıl ölçerdin?

Videoyu izle

Tıklayınca video YouTube'dan yüklenir; o ana kadar bu sayfa YouTube'a hiçbir istek göndermez.
Kaynaklar (5, İngilizce)

Kendi cümlelerimizle yazılmış bir özettir, çeviri değildir. Tüm kaynaklar yukarıda.

Konu: Kodlama3 dkVideo: The Pragmatic Engineer

Kod birikiyor, güven birikmiyor: Kent Beck'ten ajan çağı için üç ders

Extreme Programming ve TDD'nin babası Kent Beck, The Pragmatic Engineer'da yapay zekâ çağına dair derslerini anlattı. Ona göre kodu güvenden hızlı biriktiriyoruz. Keşif, büyüme ve hasat diye ayırdığı üç evre modeli de neden herkesin yeniden deney yapması gerektiğini açıklıyor.