Rivet 想给 AI 代理当调度台:一个代理一个 Actor,状态放进 S3
作者:陈一帆
11 月 5 日,Rivet 团队在 Hacker News 发布 Launch HN 帖,介绍用 Actor 模型托管 AI 代理的开源编排器;两天后帖子有 118 分、58 条评论。核心变化是代理不再各占一台重型沙箱,而是变成共享进程里的轻量 Actor,状态存在 S3 上,仓库按 Apache 2.0 开源、可自托管。

11 月 5 日,Rivet 团队(YC W23)的 Nathan 和 Nicholas 在 Hacker News 发了 Launch HN 帖,介绍他们用 Actor 模型托管 AI 代理的开源编排器;到 11 月 7 日,帖子拿到 118 分、58 条评论 。这次变化的关键在代理的运行方式:以前通常给每个代理开一台重型沙箱,现在改成每个代理一个共享进程里的轻量 Actor,状态落在 S3 上 。GitHub 仓库的 License 一栏写着 Apache 2.0,可以完整自托管 。
先说说“编排器”具体负责什么。把它想成调度台的工作:你同时放十个修 bug 的代理出去,得有人安排谁上工位(并发)、记住每个代理干到哪一步(状态)、测试挂了让它自己重跑(重试)。Rivet 的做法是给每个代理一个常驻进程,自带内存状态、一个 SQLite 数据库和 WebSocket 连接,闲着的时候把状态写下来、卸载掉,下一个请求来了再醒过来接着干 。官网首页的例子很具体:一个代理跑 pnpm vitest run checkout,12 个通过、1 个失败,定位到 src/checkout/total.ts 的舍入问题改了三行,重跑 13 个全过,开了 PR #482——中间它重启过两次,从原进度继续做完了 。
为什么不用沙箱?日常类比大概是:沙箱像给每个代理单开一间病房,大部分时间空着,费用照付;Actor 更像值班床位,有活就醒,没活就腾地方。官方给的数字是 Actor 基线内存 72.4 KB、冷启动 4.99 ms(p99),对比沙箱 512 MiB 和 1.70 秒 。这几项对比的统计口径需要区分:512 MiB 是沙箱服务商 E2B 计费文档里的默认配额,不是实测占用;1.70 秒来自第三方 ComputeSDK 10 月 30 日的基准;Actor 侧的数字出自 Rivet 自己的基准页,我没找到独立复现 。

S3 这部分是这个版本最值得看的设计。写入一个 Actor 的 SQLite 时,3 个可用区里 2 个 SSD 落盘就算确认,随后后台批量转存 S3,也就是 S3 不在写路径上;读取和唤醒先查 SSD 缓存,未命中再回源对象存储 。对应到数字,官方报 1.07 ms 持久写入 p99、1.36 ms 读取 p99,以及从对象存储读的 138 ms p99 。选 S3 的理由也算实在:用户在 Actor 里存的会话记录、代理产物比预想的多得多,全放 SSD 上大部分是躺着不动的旧记录。官方按 AWS 列牌价算,S3 Standard 存一份比三副本 EBS gp3 便宜约 10.4 倍——这个对比不含请求费和流量费 。
背景也顺得下来:这家公司 2023 年做 YC 时在搞 Diep、Krunker 这类多人游戏的匹配和实时消息基建,原来跑在 FoundationDB 上,后来被用户数据量推着做了 SSD 加 S3 的分层 。官方还提到客户 Amp 从 Cloudflare Durable Objects 一个周末迁到 Rivet 并做本地部署,理由是平台限制和支援响应慢——目前只有官方这一方说法 。仓库 FAQ 把对比讲得更直接:Durable Objects 有 128 MB 内存上限和 10 GB SQLite 限额,Rivet 称自己不受这些限制,Actor 跑在原生 Node.js 或 Bun 上而不是自定义运行时 。
那和 LangGraph 是什么关系?双方都没做过对比,以下是我的判断:LangGraph 管的是代理的逻辑流程——这一步之后走哪个分支、状态怎么在图里流动;Rivet 管的是脚下那层基础设施——进程常驻、状态落盘、节点挂了把 Actor 挪到别处。定位不同,理论上可以叠着用,但我没有实测过。
边界也得说清楚:HN 评论区那 58 条里对基准方法和 S3 一致性的具体质疑,我这次没能逐条读到;内存和延迟数字目前都是官方口径;“一个控制面跑十亿 Actor”是官网的设计说法,不是公开案例 。想尝鲜的话门槛不高,本地跑一个二进制、配个存储桶就能起来,单机试玩还有本地文件系统后端 。
转载说明
本文根据以下公开资料整理,原文及配图出处见下方。
- [S1] https://hn.algolia.com/api/v1/search?query=Rivet%20S3%20agents&tags=story
- [S2] Rivet - The Orchestrator for Agentic Workloads
- [S3] GitHub - rivet-dev/rivet: The orchestrator for agentic workloads. A fast, high-density and scalable orchestrator for every workload an agent needs.
- 配图 1:来源:Rivet(图片署名见原文) · 图片出处
- 配图 2:来源:Rivet(图片署名见原文) · 图片出处
评论 0
还没有评论,来抢沙发。