转身面对陌生的东西

Fly.io 的 Kurt Mackey 宣布卸任 CEO、转任顾问,Scott Johnston 接任。他回应 Theo Browne 的质疑,解释公司为何押注给 agent 用的计算机 Sprites。

中文
复制
插画:通往另一个世界的传送门,Sprites 的题图

Annie Ruygt*

我们是 Fly.io,一个公有云平台,既是我们最喜欢的把应用送上互联网的方式,也是我们最喜欢的让前沿 agent 编程工具放开手脚干活的地方。这篇文章讲的是我们公司、未来,以及 Sprites——为 agent 准备的计算机,你现在就可以去看看。

这篇文章有点复杂。所以你得答应我一件事:如果你读完了这段引言,就得把后面全部读完。这是关乎荣誉的事。

几个月前,Theo Browne 发了个视频,给“2026 年托管新应用的最佳去处”排了个名。Theo 通常会说我们的好话。这次也说了。但他在结尾说,在他关注的所有服务商里,我们是他最没信心能撑到年底的那一个。

好吧,操。

Theo 让我们吃了一惊,因为我们正处在连续几个强劲季度的势头中,其中包括公司历史上财务表现最好的几个月。但这个说法一直在我脑子里打转。它精准地戳中了我的痛处——关于我们在做什么,以及作为一家公司要往哪里去。

说实话,我本该预见到这一点。Fly.io 今年一直在往前跑,但我有点松懈了,任由公司在一场悬而未决的身份危机里闷烧。

接下来我还要再多说一些掏心窝子的话,但我不会让你干等着。所以:我们又融了一大笔钱。我们要发布新一版 Sprites,并把公司聚焦在它以及它解决的问题上。另外,我请来了 Scott Johnston 担任 CEO。

产品市场契合

我创办 Fly.io 时有两个清晰的原则,它们现在大概已经不重要了。

第一,互联网应用跑得快才最好用,而要做到快,就得部署在离用户近的地方。这是我在 Ars Technica 工作多年学到的,创办 Fly.io 有一部分原因就是想解这个痒。公司最初几年,这是我们的信条。

其次是云基础设施太复杂了。开发者需要的平台,既要像 AWS 一样灵活,又要像 Heroku 一样好用。我们创办 Fly.io 的时候,这两样东西还无法兼得,而现在可以了——在我们这里,也在别处。

读到这里你会说:“这不废话吗,这些当然重要。”但我要告诉你,它们没有你以为的那么重要,原因显而易见——也是如今人们唯一还在谈论的原因。AI 已经彻底改造了软件开发。澳洲野狗真的把我们的孩子吃掉了。 † 过去 18 个月里,每次我说出这句话,它都变得更加成立。

我觉得大家还没有完全消化这一点[†]。我们仍在试图把编码 agent 整合进这个行业,仿佛它们只是足够聪明的编译器。但 AI 带来的变化,不是从发布 C 代码到发布 Ruby 代码那种差别。它要大得多。

所有人都忘了,在 Dan Bricklin 发明电子表格之前,世界上每一份“Excel 文档”都是计算机程序,由程序员编写。短短几年间,每一位商务人士都成了程序员,用的是世界上最重要的编程语言——电子表格公式。AI 也是这样,但更大。几乎任何人都可能构建几乎任何类型的计算机程序。

现在再想想传统的公有云基础设施。我们把按严格标准构建、跑在繁琐 CI/CD 轨道上的固定功能应用,发布给数百万人的受众。但一个拥有数百万受众的计算机程序,很快就会像一份拥有一百万读者的电子表格。它们存在!但它们不是常态。

押注 2020 年那种有明确主张的公有云设计,就等于押注个性化、自适应软件不会成真。我不觉得这是个好赌注。就算我觉得是,我也不想下这个注。我想要这样一个世界:我的朋友和家人能让计算机完全按他们的意愿做事,而不必等着我把一切都替他们建好。

Agent 想要什么

这就引出了我们的第二条立身原则:严肃的云基础设施对开发者来说太难用好。这一点如今依然成立!但显然已经不再重要了。

† 事实上,现在给开发者提供一套精心打磨、带有主观默认值的人类开发体验,可能反而更糟。Agent 在一切明确的时候表现最好。

粗略地说,已经没人读文档了。他们也不会去上手新的 CLI,靠反复试错摸清怎么用[†]。那是 agent 的活儿。Agent 可以一次性搞定 Fly.io 部署:在本地把站点搭好,然后说一句“现在让它在 Fly.io 上跑起来”,它就能跑得很好。但 agent 同样可以一次性搞定 AWS 部署。那我们在这儿忙活什么呢?到底发生了什么?

去年我写过这件事,在一篇讲我们增长最快的客户全是机器人的文章里。之后我不再给已经做出来的东西补设定,转而开始搞清楚机器人客户到底想要什么。以下是我的结论。

第一件事:编码 agent 期望运行在开发者的工作站上。

第二件事:即便是在你信任的沙箱里,把 agent 跑在你自己的物理开发笔记本上也很烦,因为合上盖子笔记本就停了。今年带着开盖的 MacBook 上下过楼梯的,举个手。手放下了吗?那我猜你家没有楼梯。于是大家最终都把 agent 沙箱放到云上跑。

第三件事:公有云是跑 agent 的糟心地。我们把服务器分成“宠物”和“牲口”,但对 agent 来说,哪怕一头牲口也意味着太多承诺。你想要的是一头,怎么说呢,半一次性奶牛——你想让它出现时它才出现,你想让它待多久它就待多久,而且花不了多少钱。这就是为什么类比很难写。

今年早些时候,我们团队做出了我认为是系统工程乃至整个计算机科学的一次突破:我们上线了半一次性奶牛。我们管它们叫 Sprites。

Sprite 的形状有点怪,来自把它紧贴在——我认为——机器人真正想要的东西上。你可以很快造出成百上千个,但它们每一个都带着 100GB 的持久磁盘。和云里的所有东西一样,它们按用量计费,但闲着的时候表不走,而且它们很擅长判断自己什么时候闲着。你还可以在上面跑一个应用,通过互联网分享给同事。

这一堆杂七杂八的特性凑在一起,构成了一个关于 agent 的主张。整个行业都在痴迷 sandbox。但机器人要的不是 sandbox,他们要的是计算机。我们的半一次性奶牛就是这个:一台给 agent 用的计算机。

*## 你现在就可以去造一个 Sprite

大概花个一分钟 ✨ 走起→*

给 Agent 用的计算机

Sprites 这次发布的效果我挺满意。但说实话,Sprites 原本是个 skunkworks 项目。我们甚至没把它放在 Fly.io 主站上!这操作挺怪的。我不是在给自己找理由。当时我们正处在身份危机里。不过云开雾散了,往后,Computers for Agents 就是我们公司的重心。 †(想感受一下这话有多真:对整个代码库做一次 git blame,我的名字出现得比谁都多)

Fly Machines 和我们的 Platform As A Service 那些功能不会消失。但 Sprites 原本是 Fly.io 内部一支极小的骨干小队做出来的[†],现在不是了。

按惯例,我们发布任何新产品都会写上几千字的技术深挖,讲我们是怎么做的。Sprites 我们也会写。但这篇已经写得很长了,我还有别的东西要讲。所以眼下先简短带过。

除了我们在扩容和编排上做的幕后工作,nu-Sprites 引入了两个大子系统,把我们带到了我总算愿意称之为“功能完整”的状态——就我们想做的事而言。

第一个是 Sprite Block Device(SBD)。最早的 Sprites 存储栈是我个人从 JuiceFS 里扒出来的一台哥布林装置,用 Ben Johnson 的 Litestream 接进我们系统。你听到下面这个消息应该会高兴:Ben 和 Tim Newsham 把整个栈拆到只剩龙骨,然后重建了。它更快、更可靠,而且照样能做即时 checkpoint 和恢复。

更重要的是,SBD 让 drive forking 成为可能:你可以创建一个模板 Sprite,然后高效地克隆数百万次。

Sprites 另一个重要的新东西是 Connectors。Connectors 建立在我们保护核心平台的工作之上:它让 Sprite 能向其他系统发起经过身份验证的请求,同时不给 agent 任何可供外泄的有用信息。Connectors 的安全特性很有意思,用起来也比手动管理账号和 API key 舒服得多。

这些是我们被要求最多的功能。也正是因为有了它们,那么多 agent 公司在我们的专用产品发布几个月后,仍然在用 Fly Machines。所以我敢下这个赌注:除非冒出某种外星科技,对计算机科学的冲击比 Transformer 模型还离谱,否则 Sprites 就是未来客户的最佳选择,对现有客户中的很大一部分也是如此。这就引出了:

*## Fancy Sprite Beta

想要一个能自我克隆的奇怪 beta 版 Sprite?我可以给你弄一个脚趾。✨ 报名参加 beta →*

我辞职了

这事酝酿了一段时间,但以 Fly.io 目前的阶段,我作为 CEO 能榨出来的好东西差不多都榨完了。所以我不再干了。

创业公司的头几年,你做的其实是一个科研项目,一场以实验驱动、寻找 product-market fit 的探索。在这里工作过的人都能作证,我们试过几十样东西,从非托管 Postgres(千万别这么干)到全球 CDN,再到用户态 WireGuard。在公司更深的层面,我们搭建了一个自下而上的工程组织,不搞产品路线图,组建了一支全远程团队,成员分布在十几个国家。

有些实验成功了,有些则learning opportunities。过去 8 年,运行这些实验就是我的全部生活。但 Fly.io 不再需要这类科研项目了。

过去好几个月,一直追溯到 2025 年,我都在和 Scott Johnston 聊:如果由他来指挥,Fly.io 会是什么样子。Scott 曾是 Docker 的 CEO,带领 Docker 走过了一段极其艰难的时期——从 Docker 自身企业客户与开发者之间的身份危机开始,到最终把生意做得风生水起。作为 Fly.io 的股东,考虑到 Fly.io 当前所处的生命周期阶段,我更喜欢他那套打法,而不是我的。作为 Fly.io 的 CEO,比起我自己来做这些事,我更乐见由他来做。我们花了很长时间把这件事谈妥,最终董事会和我说服他接下了这个职位。

这类文章写到这一段,通常我该告诉你为什么 Scott 是 Fly.io 的完美人选,再回顾他过往的种种传奇。他确实是,那些经历也确实精彩。但这些你早就知道了,写出来只会无聊,而 Scott 想自我介绍的时候完全能自己来。他不腼腆。

所以,我打算做所有聪明的、已经套现的创始人 CEO 都会做的事:转去做顾问,随机空降到产品设计的讨论里(这是我工作中好玩的部分),同时用我的董事会席位去烦 Scott——他正在执行的那部分工作(对我来说)是我职责里不好玩的部分,而他做得比我好。

有一件事我确定 Scott 会详细讲,就是我们刚完成的这轮融资。这也是 Theo Browne 在视频里点到的另一件事(我没生气,我听起来像生气吗?)——我们好几年没宣布过融资了。答案是:我们融了一大笔他妈的钱,而且并不需要更多。如果按最初的计划走,如果 AI 没有把地面撕开、把我们所有人一口吞掉,我们一直处在永远不需要再融资的边缘。但显然,现在玩法变了。

变变变

听着,我知道这事会引来什么反应。我本可以写一篇谁都不得罪的文章,但我不知道怎么在谁都不得罪的同时还让它值得一读。

我们对这个行业的未来下了一个非常具体、大概也很分裂的赌注:几年之内,agent 将决定几乎所有软件如何被构建和发布。软件会变得远为个人化,受众更小,也远为灵活、易变。

这一切让我兴奋。能在这样的转折期身处这个领域,我有点受宠若惊。但如果我看不到这种转变让业内其他专业人士多么不安,那我就是瞎了。

到今年年中,我们本可以走两条路之一:

  • 第一条路:继续把精力投在我们一直在扩展和打磨的东西上——一个为人类设计的、固定功能全栈应用的平台。
  • 第二条路:全力调校并打磨出一款契合 agent 驱动的软件近未来的产品。

创业公司里最危险的五个字是“¿Por qué no los dos?”。我们要么做一件事,要么做另一件事。不会两条腿都踩上去,半心半意。如果失败,那就全力以赴地失败。不过,我猜往后我大概只有大部分能做到了。

在 Fly.io 这个阶段,带领一个团队、一家公司、一群客户,真不是件容易的事。关于优先级的重大决策,我们已经拖了好几个月。Theo,你注意到了这一点。提醒得好!我本可以决定得更快、更明确;结果我却去做了 Sprites。Sprites 回答了我们一直面对的问题。我很高兴花了时间把它们做出来,也很高兴招来了 Scott,把它们变成我们的核心业务。

来源: Fly.io← 返回首页