rivet-dev/rivet

Rivet Actors are the primitive for stateful workloads. Built for AI agents, collaborative apps, and durable execution.

解決する問題

Rivetは、エージェント型ワークロード専用に設計された高密度でスケーラブルなオーケストレーション層を提供します。Kubernetesのような従来のコンテナオーケストレーションのオーバーヘッドなしに、永続メモリ、独立したストレージ、高速起動時間を必要とする、数千または数百万のステートフルで長命なAIエージェントを管理する問題を解決します。

仕組み

Rivetは「仮想アクター」パターンを使用し、エージェントをアクター(軽量で耐久性のあるプロセス)として扱います。ポッドとは異なり、アクターは個別のVMやコンテナではなく、既存のワーカープロセス(Node.js、Bun、Rust)内に存在します。

主要な技術メカニズムは次のとおりです。

  • 永続状態:各アクターには独自のSQLiteデータベースまたはPOSIXファイルシステムがあり、長期保存用にS3に階層化されます。
  • 休止:アイドル状態のアクターはリソースを解放して休止し、新しいリクエストが到着すると約12msで起動します。
  • コントロールプレーン:単一のRustベースのコントロールプレーンが、クラスター全体のアクターのスケジューリング、ルーティング、永続化を処理します。
  • 接続:アクターはHTTPまたはWebSocketを介して直接アドレス指定でき、クライアントへのリアルタイムイベントブロードキャストが可能です。

対象者

  • AIエージェント開発者:長期的なメモリと永続状態を必要とするコーディングエージェント、パーソナルアシスタント、または企業固有のエージェントを構築する人。
  • エージェントアプリビルダー:各ユーザーが専用のスケーラブルなバックエンド(アクター)を持つプラットフォームを開発する開発者。
  • リアルタイムアプリケーション開発者:同じアーキテクチャがサポートできるコラボレーションツール(部屋やチャネルなど)を構築する人。

ハイライト

  • 極限の効率:12msのコールドスタート、インスタンスあたりわずか72KBのメモリ。
  • 組み込みの永続性:アクターごとにSQLiteとファイルシステムのサポートを統合。
  • 柔軟なデプロイ:オープンソースでセルフホスト可能(Apache 2.0)、マネージドクラウドまたはBYOC(自社クラウド持ち込み)オプション。
  • 開発者体験:バックエンド用の型付きSDKとフロントエンド用のファーストパーティReactフック。
  • フォールトトレランス:ワーカーが失敗した場合、アクターは他のワーカーに自動的に再スケジュールされ、状態の整合性を維持します。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト