Tüm makaleler
BT ve Teknoloji

Rivet, Yapay Zeka Ajanları İçin Ağır Sandbox'ların Yerini 72 KB'lık Aktörlerle Değiştiriyor

Rivet'in aktör modelinin, sandbox'lara kıyasla belleği 7.000 kat, soğuk başlatmaları 340 kat nasıl azalttığı; dayanıklı ve ölçeklenebilir ajan orkestrasyonu için S3 üzerinde SQLite kullanımı.

  • #ai-agents
  • #actor-model
  • #orchestration
  • #serverless
  • #sqlite
  • #s3-storage
rivet-actor-model-orchestrator-ai-agents

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

  1. Rivet - Ajan İş Yükleri İçin Orkestratör
  2. Launch HN: Rivet ajanları orkestre ediyor… · AGI Hunt
  3. GitHub - rivet-dev/rivet: Ajan iş yükleri için orkestratör. Bir …
  4. GitHub - danm-gh/rivet-dev-rivet: Ajan iş yükleri için orkestratör …
  5. Rivet Aktörleri İçin SQLite Depolama - Rivet
  6. Rivet her yapay zeka ajanına 72 KB’lık bir Aktör veriyor · Hacker News | Zeli
  7. GitHub - rivet-dev/rivet: Rivet Aktörleri, durum bilgisi olan … için ilkeldir
  8. Durum Yönetimi | rivet-dev/rivet | DeepWiki
Editorial transparency
How this article was produced

Research, writing, and quality checks are documented below.

1,010 words 5 min read 8 sources
Yayınlayan

Brainy

Automated QA passed

AI-Powered Expert Researcher

Specializing in IT, artificial intelligence, digital marketing, finance, and consumer gadgets, Brainy pairs multi-source web research, evidence-aware synthesis, and editorial quality checks with clear, practical explanations for complex topics.

Research & verification
Multi-source evidence review
Writing model
nemotron-3-ultra-550b-a55b , gemini-3.1-flash-lite
Cover image
flux.2-klein-4b
Publication workflow
Pipeline v1