YC W23 ekibinden açık kaynaklı bir orkestratör olan Rivet, yapay zeka ajanı iş yükleri için hafif bir aktör ilkelini (primitive) tanıtıyor. Her ajan için bir sandbox veya konteyner başlatmak yerine, Rivet her ajanı bir Aktör olarak çalıştırır; bu, bir düğüm (node) sürecini paylaşan, 72 KB RAM kullanan ve p99’da 4,99 ms’de başlayan uzun ömürlü bir süreçtir [1][5]. Proje 6,6 bin GitHub yıldızına ve 6.318 commit’e sahip, bu da aktif bir geliştirme sürecine işaret ediyor [3].
Aktör modeli ajan ekonomisini neden değiştiriyor
Geleneksel ajan platformları, her ajan oturumu için tam bir sandbox (≈512 MB) ayırır. Rivet Aktörleri tek bir çalışan (worker) sürecini paylaşır, bu sayede bir sunucu yüzlerce sandbox yerine yüz binlerce Aktörü barındırabilir [1][2]. Aktör başına bellek, Rust SDK kullanılarak 72,4 KB RSS artışı olarak ölçülmüştür [1]. Soğuk başlatma süresi, üç bölgeli bir kümede bir sandbox için 1,7 saniyeden, bir Rivet Aktörü için p99’da 4,99 ms’ye düşer [1][5].
Veritabanı sunucusu olmadan dayanıklı durum (state)
Her Aktör kendi SQLite veritabanına sahiptir. Yazma işlemleri, üç kullanılabilirlik bölgesinden ikisindeki yerel SSD’lere gider, ardından arka planda S3’e toplu olarak (batch) aktarılır — S3 hiçbir zaman senkron yazma yolunda yer almaz [6]. Okumalar, sıcak olduğunda SSD önbelleğine isabet eder, soğuk olduğunda ise S3’e geri döner. Sonuç: 50 MB’lık bir veritabanında 1,07 ms p99 dayanıklı yazma ve 1,36 ms p99 okuma [1]. Depolama maliyetleri, AWS us-east-1 liste fiyatları kullanıldığında, üç kopyalı EBS gp3 biriminden yaklaşık 10,4 kat daha düşüktür [1].
Hazırda bekletme ve talep üzerine uyandırma
Boştaki Aktörler durumlarını yazar ve bellekten boşaltılır, hazırda beklerken 0 MB tüketirler. Bir sonraki istek, Aktörü bellek içi durumu ve SQLite veritabanı bozulmadan uyandırır [1][3]. Ayrı bir zamanlayıcıya gerek yoktur; cron ve zaman damgası planlaması kontrol düzleminin (control plane) içinde yer alır [1].
Operasyonel yapı: tek ikili dosya, Kubernetes operatörü yok
Kontrol düzlemi, harici bağımlılıkları olmayan tek bir statik Rust ikili dosyası olarak sunulur. VPC’nizin içinde, bir yük dengeleyicinin arkasında düz HTTP ile iletişim kurar — CRD yok, operatör yok, servis ağı (service mesh) yok [1]. Aktörler birbirlerini anahtarla adresler ve sanki yerelmiş gibi küme genelinde çağrı yaparlar [1]. Çok bölgeli yerleşim, istekleri her Aktörün o anda bulunduğu yere yönlendirir [1].
Geliştirici deneyimi: tipli SDK’lar ve React kancaları
Aktör tanımları istemci tiplerini oluşturur, bu sayede bir imza değişikliği üretim ortamı yerine derlemeyi bozar [1]. Birinci taraf React kancaları, bileşenleri bir Aktörün durumuna abone eder ve Aktör güncellendikçe onları canlı tutar [1]. TypeScript, Rust, Python, Swift ve Effect SDK’ları mevcuttur [2]. Gözlemlenebilirlik; OpenTelemetry izlerini, metriklerini ve günlüklerini mevcut toplayıcınıza gönderir [1].
Cloudflare Durable Objects’ten geçiş yolu
Amp, bir Durable Object iş yükünü bir hafta sonu Rivet’e taşıdı ve şimdi bunu çok oyunculu ajanları orkestre etmek için kullanıyor [5]. Programlama modeli benzerdir — WebSocket’li dayanıklı nesneler — ancak Rivet kendi altyapınızda çalışır, dayanıklılık için S3 kullanır ve satıcı bağımlılığından (vendor lock-in) kaçınır [1][5].
Rivet ne zaman tercih edilmeli
Dayanıklı belleğe, gerçek zamanlı çok oyunculu özelliklere veya yeniden başlatmalara dayanması gereken iş akışlarına sahip birçok uzun ömürlü ajana ihtiyaç duyduğunuzda Rivet’i değerlendirin. Kodlama ajanları, özel veriler üzerinde şirket içi ajanlar, kişisel asistanlar ve işbirlikçi uygulamalar için uygundur [1]. İş yükünüz istek-yanıt durumsuz (stateless) bir fonksiyona uyuyorsa, daha basit bir sunucusuz (serverless) platform yeterli olabilir.
Başlarken
Kodlama ajanınız için yetenek paketini yükleyin: npx skills add rivet-dev/skills. Ardından ajandan yerel olarak bir Rivet projesi oluşturmasını isteyin [1][2]. Hızlı başlangıç, birkaç düzine satırda SQLite, WebSocket yayını ve tipli eylemler içeren bir Aktör oluşturur [2][4].
Kaynaklar
- Rivet - Ajan İş Yükleri İçin Orkestratör
- Launch HN: Rivet ajanları orkestre ediyor… · AGI Hunt
- GitHub - rivet-dev/rivet: Ajan iş yükleri için orkestratör. Bir …
- GitHub - danm-gh/rivet-dev-rivet: Ajan iş yükleri için orkestratör …
- Rivet Aktörleri İçin SQLite Depolama - Rivet
- Rivet her yapay zeka ajanına 72 KB’lık bir Aktör veriyor · Hacker News | Zeli
- GitHub - rivet-dev/rivet: Rivet Aktörleri, durum bilgisi olan … için ilkeldir
- Durum Yönetimi | rivet-dev/rivet | DeepWiki