Rivet, sebuah orkestrator sumber terbuka (open-source) dari tim YC W23, memperkenalkan primitif actor yang ringan untuk beban kerja agen AI. Alih-alih menjalankan sandbox atau kontainer per agen, Rivet menjalankan setiap agen sebagai Actor — sebuah proses berumur panjang yang berbagi proses node, menggunakan RAM 72 KB, dan mulai dalam 4,99 ms pada p99 [1][5]. Proyek ini memiliki 6,6 ribu bintang GitHub dan 6.318 commit, menandakan pengembangan yang aktif [3].
Mengapa model actor mengubah ekonomi agen
Platform agen tradisional mengalokasikan sandbox penuh (≈512 MB) per sesi agen. Rivet Actor berbagi satu proses worker, sehingga satu server dapat menampung ratusan ribu Actor alih-alih ratusan sandbox [1][2]. Memori per Actor diukur pada kenaikan RSS 72,4 KB menggunakan Rust SDK [1]. Cold start turun dari 1,7 detik untuk sandbox menjadi 4,99 ms p99 untuk Rivet Actor pada klaster tiga zona [1][5].
State yang tahan lama tanpa server database
Setiap Actor mendapatkan database SQLite-nya sendiri. Penulisan (writes) masuk ke SSD lokal di dua dari tiga zona ketersediaan (availability zones), lalu dikirim secara batch ke S3 di latar belakang — S3 tidak pernah berada di jalur penulisan sinkron [6]. Pembacaan (reads) mengakses cache SSD saat hangat (warm) dan kembali ke S3 saat dingin (cold). Hasilnya: penulisan tahan lama 1,07 ms p99 dan pembacaan 1,36 ms p99 pada database 50 MB [1]. Biaya penyimpanan sekitar 10,4× lebih murah daripada tiga volume EBS gp3 yang direplikasi, menggunakan harga daftar AWS us-east-1 [1].
Hibernasi dan bangun sesuai permintaan
Actor yang menganggur (idle) menuliskan state mereka dan berhenti memuat (unload), mengonsumsi 0 MB saat hibernasi. Permintaan berikutnya membangunkan Actor dengan state dalam memori dan database SQLite yang tetap utuh [1][3]. Tidak diperlukan penjadwal (scheduler) terpisah; penjadwalan cron dan timestamp berada di dalam control plane [1].
Bentuk operasional: biner tunggal, tanpa operator Kubernetes
Control plane dikirim sebagai satu biner Rust statis tanpa dependensi eksternal. Ia berkomunikasi melalui HTTP biasa di dalam VPC Anda di balik load balancer — tanpa CRD, tanpa operator, tanpa service mesh [1]. Actor saling menyapa melalui kunci (key) dan melakukan panggilan di seluruh klaster seolah-olah lokal [1]. Penempatan multi-wilayah (multi-region) merutekan permintaan ke mana pun setiap Actor berada saat ini [1].
Pengalaman pengembang: SDK bertipe dan React hook
Definisi Actor menghasilkan tipe klien, sehingga perubahan tanda tangan (signature) akan merusak build alih-alih produksi [1]. React hook pihak pertama menghubungkan komponen ke state Actor dan menjaganya tetap aktif saat Actor diperbarui [1]. SDK TypeScript, Rust, Python, Swift, dan Effect telah tersedia [2]. Observabilitas memancarkan trace OpenTelemetry, metrik, dan log ke kolektor yang sudah Anda miliki [1].
Jalur migrasi dari Cloudflare Durable Objects
Amp memigrasikan beban kerja Durable Object ke Rivet dalam satu akhir pekan dan sekarang menggunakannya untuk mengorkestrasi agen multipemain [5]. Model pemrogramannya serupa — objek tahan lama dengan WebSocket — tetapi Rivet berjalan di infrastruktur Anda sendiri, menggunakan S3 untuk daya tahan, dan menghindari penguncian vendor (vendor lock-in) [1][5].
Kapan harus menggunakan Rivet
Pertimbangkan Rivet saat Anda membutuhkan banyak agen berumur panjang dengan memori tahan lama, multipemain waktu nyata (real-time), atau alur kerja yang harus bertahan dari restart. Ini cocok untuk agen pengodean, agen khusus perusahaan pada data pribadi, asisten pribadi, dan aplikasi kolaboratif [1]. Jika beban kerja Anda cocok dengan fungsi stateless request-response, platform serverless yang lebih sederhana mungkin sudah cukup.
Memulai
Instal paket skill untuk agen pengodean Anda: npx skills add rivet-dev/skills. Kemudian minta agen tersebut untuk membuat kerangka (scaffold) proyek Rivet secara lokal [1][2]. Quickstart akan membuat Actor dengan SQLite, penyiaran (broadcasting) WebSocket, dan aksi bertipe dalam beberapa puluh baris kode [2][4].
Sumber
- Rivet - The Orchestrator for Agentic Workloads
- Launch HN: Rivet orchestrates agents… · AGI Hunt
- GitHub - rivet-dev/rivet: The orchestrator for agentic workloads. A …
- GitHub - danm-gh/rivet-dev-rivet: The orchestrator for agentic …
- SQLite Storage for Rivet Actors - Rivet
- Rivet gives each AI agent a 72 KB Actor · Hacker News | Zeli
- GitHub - rivet-dev/rivet: Rivet Actors are the primitive for stateful …
- State Management | rivet-dev/rivet | DeepWiki