Hopp til hovedinnhold

Søndag 8. november

 Tilbake Selvhostet 2 min 04.14

Rivet legger agentenes tilstand i S3: 72 KB per actor og 4,99 ms kaldstart

fredag 6. november · KI-generert · Kilde: GitHub

Innholdet er KI-generert og kan inneholde feil. Sjekk originalkilden.

Flytt agentløkka ut av sandkassen med Rivet, som gir hver agent en actor på 72 KB med egen SQLite-database og bare trenger en S3-bøtte når du selvhoster.

«Agentarbeid har mange problemer, men orkestreringshastighet er ikke ett av dem», skrev en kommentator da Rivet (YC W23) presenterte seg i en Launch HN på Hacker News 5. november. Rivets svar er at nettopp ventetiden er problemet: Mens agenten venter på inferens inne i en sandkasse, betaler du for en hel VM som nesten ikke bruker CPU.

Rivet er open source under Apache 2.0. Hver agent, bruker eller økt får en actor, altså en langlevende prosess med tilstand i minnet, egen SQLite-database, WebSocket-server og planlegging, som går i dvale når den ikke brukes. Actorene deler én Node.js- eller Bun-prosess i stedet for å starte hver sin sandkasse. README-en oppgir 72 KB minne per actor og 4,99 ms kaldstart (p99), mot 512 MiB og 1,70 sekunder for en E2B-sandkasse.

Lagringen er det mest interessante grepet. En skriving til actorens SQLite-database bekreftes når SSD-er i to av tre tilgjengelighetssoner har den, og batches til S3 i bakgrunnen. Rivet oppgir 1,07 ms for varige skrivinger og 1,36 ms for lesinger (p99), og 138 ms når data må hentes fra objektlagringen. Lagringen skal være 10,4 ganger billigere enn tre kopier på EBS gp3.

Tallene er Rivets egne, målt på versjon 3.0.3, mens sandkassetallene er E2Bs standard minnetildeling og en benchmark fra ComputeSDK. En E2B-sandkasse isolerer koden i en egen VM, og det gjør ikke en actor. Rivet anbefaler selv å holde koden agenten skriver i en sandkasse og la agenten nå den via verktøy:

«Vi fant ut at det er en bedre arkitektur å kjøre agentløkka utenfor agentOS og eksponere den som verktøy.» — Nathan Flurry fra Rivet, på Hacker News

Selvhosting er én Rust-binær med objektlagring som eneste avhengighet, og en filsystem-backend lar deg teste på én maskin.

Hva bør du gjøre?

  1. Lim inn «Run npx skills add rivet-dev/skills, then ask me what to build and run it locally.» i kodeagenten din for å komme i gang lokalt.
  2. Pek Rivet mot MinIO, Cloudflare R2 eller Hetzner Object Storage når du selvhoster, siden bøtta er eneste avhengighet.
  3. Behold sandkassen for kode agenten skriver selv, og la actoren holde tilstanden.

Pulsen · norske KI-nyheter for deg som bygger. Sakene er KI-generert fra originalkilden, som alltid lenkes.