← Radar

Konu: Kodlama3 dk okuma

Zero: Vercel ajanlar için bir programlama dili yaptı, gerçekten gerekli mi?

Bu neden önemli?

Ajan bir hatayı ne kadar hızlı düzelttiğini büyük ölçüde aldığı geri bildirime borçlu. Zero bu fikri uç noktaya taşıyor. Yeni dili kullanmasan bile, kendi araçlarının ajana ne söylediğini düşünmek için iyi bir örnek.

İnsan için değil, ajan için tasarlanmış dil

Bugünkü programlama dilleri insanlar için tasarlandı. Hata mesajları bir insanın okuyup anlayacağı düz metinler. Zero, Vercel Labs’in Mayıs 2026’da yayınladığı deneysel bir dil ve tersinden başlıyor: Ya dili en çok yapay zekâ ajanları kullanacaksa?

Projenin ilk hâlindeki hedefler şunlardı:

  • Ajanın örneklerden ve derleyici geri bildiriminden hızla öğrenebileceği küçük ve düzenli bir dil. Bir işi yapmanın tek ve belli bir yolu olsun.
  • Geniş bir standart kütüphane, böylece çoğu program bir paket aramasıyla başlamasın.
  • Hata mesajları, bağımlılık grafiği, boyut raporu gibi her çıktının ajanın işleyebileceği yapılandırılmış veri olarak gelmesi.

Zero, Rust ya da Zig gibi bir sistem dili. Yani küçük, doğrudan çalıştırılabilir programlara derleniyor.

Dilin kendisi

Better Stack videosu dili kısaca deniyor. Göze çarpan fikir yetenek (capability): Dosya okumak, ekrana yazmak, ağa bağlanmak gibi dış dünyaya dokunan her iş, fonksiyona World adlı bir parametre verilmesini gerektiriyor. Bir fonksiyonun imzasında World yoksa, yan etkisi olmadığını hemen anlıyorsun. Videoya göre derleyici bunu hedefe göre de denetliyor: Dosya sistemine erişen bir kodu WebAssembly’ye derlemeye çalışırsan, hata çalışma anında değil derlemede çıkıyor.

Hata verebilen fonksiyonlar raises ile işaretleniyor, hata check anahtar kelimesiyle yukarı aktarılıyor. Rust’taki ? operatörüne benziyor. Bellek de açık: Bir değerin sahibi belli, kapsam dışına çıkınca senin yazdığın temizlik fonksiyonu çalışıyor.

Asıl iddia: Araç zinciri

Videonun en ilginç kısmı derleyicinin çıktıları. zero check komutu hatayı JSON olarak verebiliyor: Hatanın kodu, yeri, beklenen ve bulunan değer, bir yardım notu ve düzeltmenin insan onayı gerektirip gerektirmediği. zero fix ise bir düzeltme planı çıkarıyor.

Videodaki deney şöyle: Üç hata içeren bir Zero dosyası, dil hakkında hiçbir bilgi olmayan boş bir klasöre konuyor. Claude’a sadece bu komutları kullanması söyleniyor. Claude, internete bakmadan 31 saniyede üç hatayı da düzeltiyor. Dilin belgesini, ihtiyaç anında derleyici veriyor.

Ama gerçekten yeni mi?

Videonun şüphesi de haklı. Yapılandırılmış hata çıktısı yeni değil: Rust derleyicisi de hataları JSON olarak verebiliyor. Üstelik modeller Rust ya da Go’yu eğitim verilerinden zaten çok iyi tanıyor, Zero’yu ise hiç görmediler. Mevcut dillerin araçlarını iyileştirmek, yeni bir dil yazmaktan daha kolay olabilir.

Yine de çıkarılacak ders genel: Ajan, aldığı geri bildirim kadar iyi çalışıyor. Hata mesajı neyin yanlış olduğunu ve neyin doğru olduğunu söylerse, ajan tahmin etmek yerine düzeltiyor. Aynı fikrin TypeScript tarafındaki örneğini anti-slop yazımızda anlattık.

Sonra ne oldu?

Proje kısa sürede yön değiştirdi. Adı Zerolang oldu ve artık kendini “grafik tabanlı” bir dil olarak tanımlıyor. Programın asıl kaynağı metin dosyası değil, derleyicinin kontrol ettiği bir anlam grafiği (zero.graph). Ajan bu grafiği zero query ile sorguluyor, değişiklikleri zero patch ile gönderiyor. Derleyici geçersiz ya da eski bir değişikliği reddediyor. .0 uzantılı metin dosyaları ise insanların okuyup inceleyebilmesi için üretilen bir görünüm. Son sürüm Haziran’da çıkan 0.3.4. Proje hâlâ bir Vercel Labs deneyi olarak duruyor ve depo, üretimde kullanılmaması uyarısını taşıyor.

Düşün

  • Kullandığın araçların hata mesajlarından hangisi bir ajanı yanlış yöne sürükleyebilir?
  • Kodun asıl kaynağı metin değil de bir grafik olsaydı, kod incelemesi nasıl değişirdi?

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: Better Stack

CRAP metriği: Hem karmaşık hem testsiz kodu bulmak

2007'de ortaya atılan CRAP metriği, bir fonksiyonun ne kadar karmaşık olduğunu ve testlerle ne kadar kapsandığını tek bir sayıda birleştiriyor. Rust için yazılan cargo-crap, bu unutulmuş ölçüyü yapay zekâyla yazılan kod tabanları için yeniden gündeme getirdi.

Konu: Kodlama3 dkVideo: Syntax

Ajanları salmadan önce: Projede baştan vermen gereken 8 karar

Bir kodlama ajanı, kuralı olmayan projede her seferinde farklı bir yol seçer. Syntax'ta Wes Bos ve Scott Tolinski, ajanlarla hızlanmadan önce sabitlemen gereken temel kararları sıraladı: veri şeması, tipler, doğrulama, sayfa yapısı, CSS, bileşenler, istemci-sunucu iletişimi ve klasör düzeni.