Все статьи
ИТ и технологии

Rivet заменяет тяжелые «песочницы» на 72-КБ акторы для ИИ-агентов

Как модель акторов Rivet сокращает потребление памяти в 7000 раз и время «холодного старта» в 340 раз по сравнению с «песочницами», используя SQLite на S3 для надежной и масштабируемой оркестрации агентов.

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

Rivet, open-source оркестратор от команды YC W23, представляет легковесный примитив актора для рабочих нагрузок ИИ-агентов. Вместо запуска «песочницы» или контейнера для каждого агента, Rivet выполняет каждого агента как актор — долгоживущий процесс, который использует общий процесс узла, потребляет 72 КБ оперативной памяти и запускается за 4,99 мс (p99) [1][5]. Проект имеет 6,6 тыс. звезд на GitHub и 6318 коммитов, что свидетельствует об активной разработке [3].

Почему модель акторов меняет экономику агентов

Традиционные агентные платформы выделяют полноценную «песочницу» (≈512 МБ) на сессию агента. Акторы Rivet используют общий рабочий процесс, поэтому один сервер может содержать сотни тысяч акторов вместо сотен «песочниц» [1][2]. Память на одного актора измеряется как увеличение RSS на 72,4 КБ при использовании Rust SDK [1]. Время «холодного старта» сокращается с 1,7 секунды для «песочницы» до 4,99 мс (p99) для актора Rivet в трехзонном кластере [1][5].

Устойчивое состояние без сервера баз данных

Каждый актор получает собственную базу данных SQLite. Записи направляются на локальные SSD в двух из трех зон доступности, а затем пакетно передаются в S3 в фоновом режиме — S3 никогда не находится на пути синхронной записи [6]. Чтение происходит из кэша SSD, если данные «горячие», и из S3, если «холодные». Результат: 1,07 мс (p99) для устойчивых записей и 1,36 мс (p99) для чтения на 50-МБ базе данных [1]. Расходы на хранение примерно в 10,4 раза ниже, чем при использовании трех реплицируемых томов EBS gp3, согласно прайс-листу AWS us-east-1 [1].

Гибернация и пробуждение по запросу

Простаивающие акторы записывают свое состояние и выгружаются, потребляя 0 МБ во время гибернации. Следующий запрос пробуждает актора, при этом его состояние в оперативной памяти и база данных SQLite остаются нетронутыми [1][3]. Отдельный планировщик не требуется; планирование по cron и временным меткам реализовано внутри плоскости управления (control plane) [1].

Операционная модель: один бинарный файл, без Kubernetes-оператора

Плоскость управления поставляется в виде одного статического бинарного файла на Rust без внешних зависимостей. Она общается по обычному HTTP внутри вашего VPC за балансировщиком нагрузки — никаких CRD, операторов или сервис-мешей [1]. Акторы обращаются друг к другу по ключу и вызывают методы внутри кластера так, будто они локальные [1]. Мультирегиональное размещение направляет запросы туда, где в данный момент находится каждый актор [1].

Опыт разработчика: типизированные SDK и React-хуки

Определения акторов генерируют типы клиентов, поэтому изменение сигнатуры ломает сборку, а не продакшн [1]. React-хуки от разработчиков Rivet подписывают компоненты на состояние актора и поддерживают их актуальность при обновлении актора [1]. Доступны SDK для TypeScript, Rust, Python, Swift и Effect [2]. Система наблюдаемости отправляет трассировки OpenTelemetry, метрики и логи в ваш существующий коллектор [1].

Путь миграции с Cloudflare Durable Objects

Компания Amp мигрировала рабочую нагрузку с Durable Objects на Rivet за выходные и теперь использует его для оркестрации многопользовательских агентов [5]. Модель программирования схожа — устойчивые объекты (durable objects) с WebSockets, — но Rivet работает на вашей инфраструктуре, использует S3 для обеспечения устойчивости и позволяет избежать привязки к поставщику [1][5].

Когда стоит выбрать Rivet

Рассмотрите Rivet, если вам нужно много долгоживущих агентов с устойчивой памятью, многопользовательские функции в реальном времени или рабочие процессы, которые должны переживать перезагрузки. Он подходит для агентов-программистов, корпоративных агентов для работы с частными данными, персональных помощников и приложений для совместной работы [1]. Если ваша рабочая нагрузка укладывается в stateless-функцию типа «запрос-ответ», может быть достаточно более простой serverless-платформы.

Начало работы

Установите пакет навыков (skills pack) для вашего агента-программиста: npx skills add rivet-dev/skills. Затем попросите агента создать каркас проекта Rivet локально [1][2]. Quickstart создает актора с SQLite, широковещательной рассылкой WebSocket и типизированными действиями всего за несколько десятков строк кода [2][4].

Источники

  1. Rivet — оркестратор для агентных рабочих нагрузок
  2. Launch HN: Rivet оркеструет агентов… · AGI Hunt
  3. GitHub — rivet-dev/rivet: Оркестратор для агентных рабочих нагрузок. A …
  4. GitHub — danm-gh/rivet-dev-rivet: Оркестратор для агентных …
  5. Хранилище SQLite для акторов Rivet — Rivet
  6. Rivet дает каждому ИИ-агенту актора размером 72 КБ · Hacker News | Zeli
  7. GitHub — rivet-dev/rivet: Акторы Rivet — это примитив для stateful …
  8. Управление состоянием | rivet-dev/rivet | DeepWiki
Editorial transparency
How this article was produced

Research, writing, and quality checks are documented below.

319 words 2 min read 8 sources
Автор

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