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フック。
- フォールトトレランス:ワーカーが失敗した場合、アクターは他のワーカーに自動的に再スケジュールされ、状態の整合性を維持します。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト