rivet-dev/rivet
Rivet Actors are the primitive for stateful workloads. Built for AI agents, collaborative apps, and durable execution.
解决的问题
Rivet 提供一个专为代理型工作负载设计的高密度、可扩展的编排层。它解决了管理数千或数百万个有状态、长寿命的 AI 代理的问题,这些代理需要持久记忆、独立存储和快速启动时间,而无需传统容器编排(如 Kubernetes)的开销。
运作方式
Rivet 使用“虚拟 Actor”模式,将代理视为 Actors——轻量级、耐用的进程。与 Pod 不同,Actors 存在于现有的工作进程(Node.js、Bun 或 Rust)中,而不是在单独的 VM 或容器中。
关键技术机制包括:
- 持久状态:每个 Actor 都有自己的 SQLite 数据库或 POSIX 文件系统,并分层到 S3 进行长期存储。
- 休眠:闲置的 Actors 释放资源并休眠,当新请求到达时约在 12ms 内唤醒。
- 控制平面:单一的 Rust 控制平面处理 Actors 在集群中的调度、路由和持久化。
- 连接:Actors 可以通过 HTTP 或 WebSockets 直接寻址,允许向客户端进行实时事件广播。
适用对象
- AI 代理开发者:那些构建编码代理、个人助理或公司特定代理的人,需要长期记忆和持久状态。
- 代理应用构建者:开发平台,让每个用户拥有自己的专用、可扩展后端(Actor)的开发者。
- 实时应用开发者:那些构建协作工具(例如房间或频道)的人,同一架构可以支持这些工具。
亮点
- 极致效率:12ms 冷启动,每个实例仅 72KB 内存。
- 内置持久性:每个 Actor 集成 SQLite 和文件系统支持。
- 弹性部署:开源且可自托管(Apache 2.0),提供托管云或 BYOC(自带云)选项。
- 开发者体验:后端类型化 SDK 和前端第一方 React hooks。
- 容错:如果工作进程失败,Actors 自动重新调度到其他工作进程,保持状态完整性。
相关
- 项目
- 项目
- 项目
- 项目
- 项目