Oleksandr Kuzmenko, РедакторОпубліковано 5 хв читанняЗа участі AI · перевірено редактором
TL;DR
- Кожен актор Rivet потребує лише 72 КБ оперативної пам'яті та стартує за 4.99 мс (p99) у спільному середовищі Node.js, Bun або Rust.
- Стан фіксується за допомогою вбудованої SQLite на базі S3-сумісного об'єктного сховища без потреби в окремій базі даних.
- agentOS забезпечує ізольоване виконання згенерованого коду з гранулярним контролем мережі, файлів і ресурсів.
Ключові факти
- Споживання пам'яті
- 72 КБ на актора
- Холодний старт
- 4.99 мс p99 (за даними авторів)
- Затримка сховища
- 1.07 мс запис / 1.36 мс читання p99 (за даними авторів)
- Перевага за вартістю
- В 10.4 раза дешевше за реплікований EBS gp3 (за даними авторів)
- Ліцензія
- Apache 2.0
Джерело: Ключові факти — Споживання пам'яті
Джерело: Ключові факти. Споживання пам'яті: 72 КБ на актора. Кожне число скопійоване з історії.
- Споживання пам'яті72 КБ на актора
Відмова від накладних витрат мікро-ВМ
Rivet відмовляється від повноцінних контейнерів для рутинних задач агентів. Окремий Rivet Actor виконується всередині спільного процесу Node.js, Bun або Rust, споживаючи лише 72 КБ оперативної пам'яті замість звичних 512 МіБ у традиційних сендбоксах. За даними розробників, холодний старт скорочується до 4.99 мс на перцентилі p99 завдяки відсутності завантаження образів та ініціалізації віртуалізації.
Довговічність SQLite поверх об'єктного сховища
Замість зовнішніх кластерів Postgres або брокерів NATS система спирається на SQLite, збережену в Amazon S3, Google Cloud Storage або сумісних сховищах на кшталт MinIO та Cloudflare R2. Довготривалий запис триває 1.07 мс, а читання — 1.36 мс (p99), що у 10.4 раза дешевше за репліковані диски Amazon EBS gp3. У періоди бездіяльності актор автоматично консервується та не витрачає обчислювальні ресурси.
Виконання ненадійного коду через agentOS
Якщо агенту потрібно виконати згенерований код, Rivet пропонує інструмент agentOS. Він призначений для безпечного запуску коду, створеного агентом, надаючи гранулярний контроль над доступом до мережі, файлової системи та лімітами ресурсів без необхідності запуску важкої віртуалізації.
Спробуй за 2 хвилини
await db.execute(`CREATE TABLE IF NOT EXISTS messages (role TEXT, content TEXT)`);
await c.db.execute("INSERT INTO messages VALUES (?, ?)", "user", text);
const messages = await c.db.execute("SELECT role, content FROM messages");Коли використовувати
- Високонавантажені системи з тисячами паралельних довгоживучих агентів.
- Мультитенентні ШІ-застосунки зі збереженням стану, де критична затримка старту до 10 мс.
Коли НЕ варто
- Якщо агенти потребують кастомних модулів ядра Linux або прямого доступу до драйверів пристроїв хоста.
- Якщо немає можливості використовувати S3 або сумісне об'єктне сховище для персистентності.
Що зробити сьогодні
- Протестувати Rivet Actors для сценаріїв агентів зі збереженням стану, які вимагають швидкого старту та дешевої консервації.
- Спробувати локальний запуск Rivet з використанням S3-сумісного бекенду на зразок MinIO або Cloudflare R2.
Назви кроків узяті з блоку «Що зробити сьогодні».
Назви кроків узяті з блоку «Що зробити сьогодні». Протестувати Rivet Actors для сценаріїв агентів зі збереженням стану, які вимагають швидкого старту та дешевої консервації.. Спробувати локальний запуск Rivet з використанням S3-сумісного бекенду на зразок MinIO або Cloudflare R2.
- Протестувати Rivet Actors для сценаріїв агентів зі збереженням стану, які вимагають швидкого старту та дешевої консервації.
- Спробувати локальний запуск Rivet з використанням S3-сумісного бекенду на зразок MinIO або Cloudflare R2.
