返回资讯中心
外部精选
软件工程
#开发者实时流

Rivet 推出基于 S3 的 AI Agent 编排器,用轻量 actor 替代重型沙箱

来源标题:Launch HN: Rivet (YC F25) – Scale and Orchestrate Agents on S3

Rivet 发布面向 agentic 工作负载的开源编排器,用由 S3 支撑的轻量 actor 取代每个 Agent 一个重型沙箱。每个 actor 提供长驻进程、内存状态、WebSocket 服务、基于 S3 的持久化 SQLite 存储及空闲休眠,类似 Cloudflare Durable Objects 但可自托管。团队曾参加 2023 年 YC,此前做多人游戏基础设施。

Hacker News 最新NathanFlurry2026/11/5 · 今天12 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

大家好,这里是 Rivet(https://rivet.dev)的 Nathan 和 Nicholas。Rivet 是一个快速、高密度、可扩展的编排器,基于 actor 模型来处理 agentic 工作负载。我们不是为每个 agent 运行一个重量级沙箱,而是让每个 agent 获得一个由 S3 支持的轻量级 actor。Actor 为长时间的 agent 回合提供长期运行的进程,为上下文提供内存状态,为多人协作提供 WebSocket 服务器,提供由 S3 支持的持久化 SQLite 存储,并在空闲时休眠。这个模型与 Cloudflare Durable Objects 类似,但它是开源的并且可以自托管。这里有一个视频讲解:https://www.youtube.com/watch?v=3Ev6I7DOV9c

2023 年参加 YC 时,我们正在为 Diep 和 Krunker 这样的多人游戏构建基础设施。这涉及大量优化高吞吐量匹配、实时玩家消息和快速扩展。在这个过程中,我们花了很多时间处理 Postgres 无法跟上我们吞吐量的工作负载。我们最初是在 Redis 之上拼凑 Lua 脚本来解决的,但这变得过于繁琐,难以维护和升级。这促使我们扩展游戏服务器编排器,以支持我们今天称之为 Rivet Actors 的东西:许多具有内存状态和持久化存储的轻量级 worker。通过使用 actor,我们得以服务数千万月活跃用户。

随着 agent 越来越流行,很明显在沙箱中运行 agent 是低效的。沙箱昂贵、大部分时间空闲,而且启动缓慢。开发者开始使用 actor,因为它们的内存效率高得多(actor 基线为 72 KB,而最小沙箱为 512 MB),并且启动速度快(actor 的 p99 为 4.9 ms,而沙箱的 p99 为 1.7 s)。例如,Amp 正在使用 Rivet 来编排多人 agent。他们最初尝试基于 Cloudflare Durable Objects 构建,但由于平台的限制和无响应的支持而无法上线。他们在一个周末内迁移到了 Rivet Actors,并在本地部署。Rivet 灵活的架构让他们能够将其适配到自己的用例,而不受框架或 Cloudflare Durable Objects 的内存、存储和运行时限制的约束。

在底层,Rivet 由 S3 支持,同时保持 SSD 速度。为什么选择 S3?此前,Rivet 运行在 FoundationDB 上。然而,我们惊讶地发现,公司在 Rivet Actors 上存储的数据比在 Postgres 中多几个数量级,例如大型会话记录、agent 产物和完整的 POSIX 文件系统。随着他们的数据增长,他们不得不开始为大部分时间闲置、只存放旧会话记录的 SSD 付费。这促使我们加倍投入 S3 作为我们的主要存储介质,同时不牺牲性能。这一选择意味着存储在 Rivet 上的数据比 EBS gp3 便宜 10 倍,同时保持 SSD 速度。

这并不是简单地把数据直接写入 S3。大量针对微小数据块的 PUT 操作既慢又昂贵。相反,我们使用 SSD 层级来优化速度和成本:当你将数据写入 actor 的 SQLite 数据库时,一旦 3 个可用区中有 2 个的 SSD 拥有该数据,写入就会被确认。然后,数据会在后台批量写入 S3。这意味着 S3 永远不会处于写入路径上,从而降低了延迟和成本。在读取数据或唤醒 actor 时,Rivet 会从 SSD 读取(如果已缓存),否则回退到 S3。SSD 缓存可以根据你的需求进行调整,为你的 actor 提供可配置的分层存储。这种架构让 Rivet 能够提供 1.07 ms 的持久化写入(3 AZ,p99)、1.36 ms 的读取(p99),以及 138 ms 的对象存储读取(p99)。

我们花了大量时间确保 Rivet 可以在你需要的任何地方运行。自托管需要部署一个 Rust 二进制文件,S3 是唯一的依赖;Rivet Cloud 让你可以在任何区域的 AWS 或 GCP 上部署专用集群;BYOC 让我们可以将 Rivet 部署到你的 VPC 中,而无需你自己运维。Rivet 在本地开发和生产环境中的运行方式完全相同,因为 Rivet 是一个可以在任何地方运行的轻量级二进制文件。

Rivet Actors 可以用 TypeScript 或 Rust 编写。开箱即用,它们支持 agent(Pi Durable)、工作流、实时、多人、运行 AI 生成的代码、Durable Streams,以及与 Vercel 的 Eve 和 Turso 等工具的集成。查看我们所有可用的指南,或者让你的 agent 去阅读它们:https://rivet.dev/docs/#guides

现在就试试吧,阅读我们的快速入门指南(https://rivet.dev/docs/),或者让你的 agent 执行:“运行 npx skills add rivet-dev/skills,然后构建一个多人聊天 agent 并在本地运行。”

我们很乐意听取你对 Rivet 使用体验的反馈!我们致力于让 Rivet 成为一种易于自托管、灵活且高效的 agentic 工作负载运行方式。

GitHub:https://github.com/rivet-dev/rivet 架构:https://rivet.dev/docs/architecture/ 基准测试:https://rivet.dev/docs/benchmarking/ 自托管:https://rivet.dev/docs/deploy/self-host/ 评论 URL:https://news.ycombinator.com/item?id=50381687 点数:3 评论数:0

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →