« Tüm yayınlar

VM ve Sandbox Olmadan Çalışan Kodlama Ajanı: TypeScript'te Linux

RapidNative'in kodlama ajanı, VM veya sandbox kullanmadan; TypeScript'te yazılmış Lifo motoru ve pg-mem ile Linux benzeri araçları tek istekte çalıştırıyor.

RapidNative'in kodlama ajanı, tam kapsamlı React Native uygulamaları üretirken istek zincirinde hiçbir sanal makine veya bulut sandbox kullanmıyor. Vercel Sandbox, E2B, Daytona gibi Firecracker tabanlı çözümler yerine sistem tamamen bir Vercel Function içinde çalışıyor; TypeScript ile yazılmış, MIT lisanslı açık kaynak bir işletim sistemi motoru olan Lifo'yu kullanıyor. Lifo, Linux benzeri bir shell, dosya sistemi ve 60'tan fazla komutu kullanıcı alanında yeniden uyguluyor.

Temel içgörü şu: ajan çağrılarının büyük çoğunluğu cat, grep, sed, find gibi dosya sistemi işlemleri ve shell pipeline'ları, rastgele native ikili dosyalar değil. Lifo'nun sanal dosya sistemi, bash benzeri yorumlayıcısı ve WASM paket yöneticisi, hipervizör seviyesinde izolasyona gerek kalmadan bu yüzeyi kapsıyor. Ölçümlere göre soğuk başlangıç süresi ~27ms, gzip'li ayak izi ~305KB; WebContainers'ta ise bu değerler sırasıyla ~6.6 saniye ve 75-85MB. Aynı kod Node.js'te ve tarayıcıda birebir aynı şekilde çalışıyor.

Mimari, Lifo'nun geçici sanal dosya sistemini kalıcı depolama olan Supabase Postgres ile eşleştiriyor; her turda hidrasyon ve commit yapılarak atomik, çökme güvenli yazımlar sağlanıyor. Veritabanı durumu da benzer şekilde, her oturumda yeniden oluşturulan bellek içi bir Postgres motoru olan pg-mem ile modelleniyor. SQL migration'ları tek doğruluk kaynağı olarak kabul ediliyor, uygulanmadan önce doğrulanıyor ve TypeScript tipleri canlı şemadan yeniden üretiliyor. Kural içermeyen RLS politikaları uyarı değil, build hatası olarak ele alınıyor.

Yapay zeka destekli kodlama ajanları geliştiren mühendisler için bu, varsayılan sandbox sağlama modeline somut bir alternatif sunuyor: işletim sistemini ve veritabanını sağlanması gereken altyapı değil, istek içindeki veri yapıları olarak ele almak — bedeli ise native Linux ikili dosyalarını çalıştıramamak.