← Radar

Konu: Web3 dk okuma

OJ: Lovable, Vite'ın geliştirme sunucusunu Rust ile yeniden yazdı

Bu neden önemli?

Yapay zekâ ajanları kod yazdıkça geliştirme sunucuları artık tek bir insanın dizüstü bilgisayarında değil, binlerce geçici sanal makinede çalışıyor. Bu ölçekte her megabayt önemli. OJ, araçların artık ajanlar için de tasarlandığını gösteren iyi bir örnek.

Önce Vite ne yapıyor?

Bir React uygulaması yazarken npm run dev dediğinde çoğu zaman arkada Vite çalışır. Vite bir geliştirme sunucusudur: Kodunu tarayıcıya servis eder, bir dosyayı kaydettiğinde sayfayı yenilemeden sadece değişen parçayı günceller. Buna hot reload (sıcak yenileme) denir.

Vite, Node.js ile yazılmış bir araç. Son sürümünde (Vite 8) ağır işleri Rust ile yazılmış Rolldown ve Oxc yapıyor. Yani Vite zaten hızlı. Peki Lovable neden yeni bir araç yazdı?

Sorun hız değil, ölçek

Lovable, sohbet ederek web uygulaması yaptığın bir yapay zekâ servisi. Yazdığın her uygulama için bir sandbox (yalıtılmış geçici makine) açılıyor ve içinde gerçek bir geliştirme sunucusu çalışıyor. Şirkete göre günde yaklaşık bir milyon sandbox açılıp kapanıyor.

Vite, tek geliştiricinin tek bilgisayarı için tasarlanmış. Her kopyası bir JavaScript çalışma ortamı, bir sürü paket ve epey bellek getiriyor. Bir tane için sorun değil. Binlerce tane aynı anda çalışınca hem para hem bekleme süresi demek.

OJ nedir?

OJ, Lovable mühendisi Raphael Amorim’in kişisel bir deneme olarak başlattığı, tek bir Rust dosyasından oluşan bir geliştirme sunucusu. Öne çıkan özellikleri:

  • Mevcut ayarını okuyor. Projendeki vite.config.ts dosyasını ve Vite eklentilerini değiştirmeden çalıştırmayı hedefliyor. Eklentiler için gerektiğinde küçük bir Node süreci açıyor.
  • Uçtan uca Rust. Dosya izleyiciden tarayıcıyla konuşan bağlantıya kadar her şey Rust. Vite ise Node.js’ten Rust araçlarını yönetiyor.
  • Ajanlar için tasarlanmış. İnsan bir dosyayı kaydeder, ajan aynı anda on dosya yazar. OJ bu toplu değişiklikleri tek bir güncelleme olarak uyguluyor. Böylece önizlemede yarım kalmış ara hâller görünmüyor.

Rakamlar ve dürüst bir not

Lovable’ın paylaştığı ölçümlerde 10.000 bileşenli yapay bir projede OJ yaklaşık 1,2 saniyede, Vite yaklaşık 4,9 saniyede açılıyor. Bellek farkı daha çarpıcı: OJ yaklaşık 115 MB, Vite 1,5 GB’ın üzerinde. Excalidraw gibi gerçek açık kaynak projelerde de bellek üçte bir ile sekizde bir arasına iniyor.

Ama şirket kendisi de bir uyarı ekliyor: Karşılaştırma tam adil değil. Vite tarafındaki ölçüme, arka planda TypeScript tip kontrolü yapan bir eklenti dahil. OJ bu eklentiyi henüz desteklemiyor ve atlıyor. Videoda Vite’ın yaratıcısı Evan You’nun tepkisine ve ölçümlerin eksiklerine de yer veriliyor. Bu yüzden Lovable, asıl önemsediği rakamın hız değil bellek olduğunu söylüyor.

Gerçek kullanımda sonuçlar da umut verici: Lovable’ın kontrollü denemesinde bir önizlemenin kullanılabilir hâle gelmesi ortalama 17,4 saniyeden 8 saniyeye düşmüş.

Sen kullanmalı mısın?

Muhtemelen henüz değil. OJ açık kaynak (MIT lisanslı), ama README’si hâlâ “deneysel” diyor ve şimdilik React odaklı. Tek bir bilgisayarda çalışıyorsan Vite 8 zaten yeterince hızlı. OJ’nin asıl hedefi, aynı anda çok sayıda sunucu çalıştıran ortamlar: yapay zekâ servisleri, CI sistemleri, birden fazla ajanın paralel çalıştığı makineler.

Yine de ilginç bir ders var: Geliştirici araçlarını artık sadece insanlar değil ajanlar da kullanıyor. Ve ajanların ihtiyaçları (toplu değişiklik, düşük bellek, hızlı açılış) araçların tasarımını değiştirmeye başladı.

Düşün

  • Bir aracın “hızlı” olduğunu gösteren bir karşılaştırmaya güvenmeden önce neleri kontrol etmelisin?
  • Kod yazan çoğunlukla ajanlar olursa, geliştirici araçlarında başka neler değişir?

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.