Hacker News 熱門精选80

Launch HN:Rivet(YC F25)——在 S3 上扩展和编排智能体

Launch HN: Rivet (YC F25) – Scale and Orchestrate Agents on S3

· 2小时前

精选理由

了解一种基于 S3 的轻量 Agent 编排方案,兼顾低延迟、低存储成本与自托管灵活性。

AI 摘要

HN 的各位好,我们是 Rivet(https://rivet.dev)的 Nathan 和 Nicholas。Rivet 是一个采用 Actor 模型、面向智能体工作负载的编排器,速度快、部署密度高且可扩展。我们不会为每个智能体运行一个重量级沙箱,而是为其分配一个以 S3 为存储后端的轻量级 Actor。Actor 提供长生命周期进程,以支持耗时较长的智能体执行轮次;提供内存状态来保存上下文;提供 WebSocket 服务器以支持多人协作;提供以 S3 为后端的持久化 SQLite 存储;并在空闲时休眠。这种模型类似于 Cloudflare Durable Objects,但它是开源的,而且支持自托管。视频演示在这里:https://www.youtube.com/watch?v=3Ev6I7DOV9c 2023 年参加 YC 时,我们正在为 Diep 和 Krunker 等多人游戏构建基础设施。这涉及对高吞吐量匹配、实时玩家消息和爆发式扩容进行深度优化。在这个过程中,我们花了大量时间处理 Postgres 无法满足吞吐量要求的工作负载。起初,我们在 Redis 之上拼凑了一些 Lua 脚本,但这种方案逐渐变得难以维护和升级。因此,我们扩展了游戏服务器编排器,使其支持如今被我们称为 Rivet Actors 的机制:大量具备内存状态和持久化存储的轻量级工作进程。借助 Actor,我们成功为数千万月活跃用户提供了服务。 随着智能体日益普及,在沙箱中运行智能体的低效问题变得显而易见。沙箱成本高,大部分时间处于空闲状态,而且启动缓慢。开发者开始使用 Actor,因为它们的内存效率高得多(Actor 的基准内存占用为 72 KB,而最小化沙箱为 512 MB),启动也更快(Actor 启动耗时的 p99 为 4.9 ms,而沙箱为 1.7 s)。 例如,Amp 正在使用 Rivet 编排多人协作智能体。他们最初尝试基于 Cloudflare Durable Objects 构建,但由于平台限制和支持响应不及时,产品无法上线。他们用一个周末就迁移到了 Rivet Actors,并采用本地部署。Rivet 灵活的架构让他们可以根据自身用例进行调整,不受框架或 Cloudflare Durable Objects 的内存、存储及运行时限制。 在底层,Rivet 以 S3 为存储后端,同时保持 SSD 级别的速度。为什么选择 S3?此前,Rivet 基于 FoundationDB 运行。然而,我们惊讶地发现,企业存储在 Rivet Actors 上的数据量比在 Postgres 中高出数个数量级,其中包括大型会话记录、智能体产物以及完整的 POSIX 文件系统。随着数据量增长,他们不得不开始为存放旧会话记录、却大部分时间闲置的 SSD 付费。这促使我们进一步将 S3 确立为主要存储介质,同时不牺牲性能。这一选择意味着,在保持 SSD 级别速度的同时,Rivet 上的数据存储成本仅为 EBS gp3 的十分之一。 这并不是直接将数据写入 S3 那么简单。针对微小数据块执行大量 PUT 操作,既慢又昂贵。因此,我们使用 SSD 存储层来优化速度和成本:向 Actor 的 SQLite 数据库写入数据时,只要 3 个可用区中有 2 个可用区的 SSD 已保存数据,就会确认写入成功。随后,数据会在后台批量写入 S3。这意味着 S3 始终不在写入路径上,从而降低延迟和成本。读取数据或唤醒 Actor 时,如果数据已经缓存,Rivet 就从 SSD 读取;否则回退到 S3。SSD 缓存可以根据你的需求进行调整,为 Actor 提供可配置的分层存储。这种架构使 Rivet 能够实现 1.07 ms 的持久化写入(3 个可用区,p99)、1.36 ms 的读取(p99),以及 138 ms 的对象存储读取(p99)。 我们投入了大量时间,确保 Rivet 能在你需要的任何地方运行。自托管只需部署一个 Rust 二进制文件,唯一的依赖是 S3;Rivet Cloud 允许你在 AWS 或 GCP 的任意区域部署专用集群;BYOC 则让我们可以将 Rivet 部署到你的 VPC 中,而无需你自行运维。Rivet 在本地开发环境和生产环境中的运行方式也完全一致,因为它是一个可在任何地方运行的轻量级二进制程序。 Rivet Actors 可以用 TypeScript 或 Rust 编写。它们开箱即支持智能体(Pi Durable)、工作流、实时功能、多人协作、运行 AI 生成的代码、Durable Streams,以及与 Vercel 的 Eve 和 Turso 等工具集成。你可以查看我们提供的所有指南,也可以让你的智能体阅读它们:https://rivet.dev/docs/#guides 现在就来试试吧:阅读我们的快速入门指南(https://rivet.dev/docs/),或者向你的智能体提出要求:“运行 npx skills add rivet-dev/skills,然后构建一个多人聊天智能体,并在本地运行。” 我们非常希望听到你使用 Rivet 的体验反馈!我们正全力投入,让 Rivet 成为一种易于自托管、灵活且高效的智能体工作负载运行方式。 GitHub:https://github.com/rivet-dev/rivet 架构:https://rivet.dev/docs/architecture/ 基准测试:https://rivet.dev/docs/benchmarking/ 自托管:https://rivet.dev/docs/deploy/self-host/ 评论链接:https://news.ycombinator.com/item?id=50381687 得分:5 评论数:0

查看原文(Hacker News 熱門)