The Building Block Economy

Mitchell Hashimoto

积木经济

原文由 Mitchell Hashimoto 发布,订阅该博客

如今,构建软件并获得大规模采用的最有效方式,已不再是打造高质量的主线应用,而是提供能让他人、并鼓励他人以数量压倒质量去构建的积木。1

  • Ghostty 上线 18 个月:macOS 每日更新检查达一百万次。
  • libghostty 上线 2 个月:每日用户数达数百万。2

在其他“积木”技术上也能看到类似的增长轨迹:Pi Mono、Next.js、Tailwind 等。

亲身经历了这一点,并在其他生态中目睹类似现象,让我对当今产品与软件开发实践的看法发生了根本性的转变,无论其目标是商业还是非商业。

本文为手写完成,未借助 AI 协助。我热爱并大量使用 AI,但在这类内容上,我个人坚持划清界限。我希望自己的个人博客能够呈现我真实的想法与感受。

进口激增

我之所以用“积木”来形容它们的用法,是因为如今它们的组装方式与过去几十年截然不同。我没有使用“库”或“框架”这样的词,是因为这一概念甚至可以延伸到“应用”层面(例如,Ghostty 图形界面应用如今的 fork 数量达到了前所未有的高度,上面叠加了各种定制化补丁,这很棒)。

当今的工厂是智能体驱动的3。我这么说是一个客观事实,无论你对此作何感想。你可以争辩说这些工厂产出的东西 99% 都是垃圾,但你无法否认其产出的惊人数量。这些数字遍布各个技术栈和行业,不容置疑。

AI 从零开始构建一切的能力还算过得去,但它真正擅长的是将高质量、文档完善且经过验证的组件粘合在一起。而且,只要条件允许,除非另有明确提示,AI 更倾向于这样做。这就是当今软件“积木”化的本质:我们比以往任何时候都更频繁地拿取现成的组件并将其拼装起来。

当然,人类也一直是这样做的。在我的整个职业生涯中,人类软件开发者都更倾向于在经过验证的原语之上进行构建。但要充分理解各个组件、以至于能将它们拼凑起来,天然的入门门槛曾足够高,从而限制了生态的发展。而现在,这一门槛已经消失了。

出口激增

这些工厂产出的当然是软件。海量的软件。

这其中也有消极的一面。我认为这些负面影响已经足够明显,因此不打算花太多篇幅去讨论,但我也想承认它们的存在:安全漏洞、不稳定、以及对关键承重系统如何运作的普遍缺乏理解。

但积极的一面也同样巨大:

  • 质量门槛更低。 面向广大用户群体的主线应用,必须权衡每一个功能与其他功能之间的关系:它们如何相互作用?是否符合长期愿景?我能否为数百万用户持续维护它?而面向一到数百名用户的工厂产物则无需考虑这些。因此,你可以更快、更宽松地发布。

  • 触及面更广。 主线应用无法面面俱到。它通常会为大多数用户需要和使用的场景进行优化。而工厂产物可以为极小部分用户群体进行优化,这些用户也因此开始了解底层的积木。我在 Ghostty 上深切地体会到了这一点,因为一些非常小众的社群也因此拥有了终端。

  • 维护负担更轻。 拒绝功能请求变得比以往任何时候都更容易,因为你已经提供了生产手段中的关键一环。我在应对低质请求方面的困扰是公开的,甚至为此做了一个“no machine”,但如今我每天都越来越不为说“不”而感到愧疚。

  • 研发被外包了。 作为维护者,现在可以更轻松地观察他人在做什么,看到可运行的概念验证,然后决定将哪些内容带回主线。空谈少了,实干多了。而当他人在实干时,你可以从中挑选最好的想法(这很公平:你贡献了积木,他们贡献了想法)。

影响

这正在改变我对软件与产品开发的看法。

我现在更有意识地去创造积木,并鼓励基于其上构建应用或进行 fork。我认为这正带来一个更快乐、更庞大的社区,并最终催生出更好的主线软件。

高质量的应用并不会消失。由积木开发者打造的高质量应用也不会消失。对于大多数软件类别而言,我认为总会有一大群人不需要个性化的粗制滥造的软件,而是想要一个精致、维护良好且支持完善的应用。

相反,我认为得益于积木经济,主线应用正变得更加稳定,其功能集也更有针对性。稳定性来自于更大、更多元的用户群体;功能集则来自于庞大的外包研发生态。主线应用依然是克制的、高质量且维护良好的,但它是面向特定群体的。

房间里的大象:商业化

随之而来的一个显而易见的问题是,这对商业化意味着什么。闭源的商业软件似乎处于巨大的劣势。事实也的确如此。

智能体更倾向于选择开放、免费的软件,而非闭源、商业化的软件。在撰写本文时,这是一个客观事实。独立研究实验室在主流模型上进行的实验反复发现,在各种不同情境下,模型都会选择开放、免费的替代方案,而非商业方案。至少目前如此。

但是,我在这里没有确切的答案,因为与产品和软件开发不同,我目前并没有直接在打造一个可商业化的产品。我有一些想法,而且和所有困难的问题一样,我认为答案是微妙而复杂的。但我不想给人一种在这个问题上权威发言的错觉,所以我打算暂且避而不谈。当我付诸实践、有了更多体会后,会再来分享。

我再次只是想承认,这一挑战显然是存在的。

转变已经发生

我们必须接受,积木和软件工厂已经主宰了我们周围的一切,并接受和内化其带来的后果。

我们可以选择背道而驰,去打造与之对抗的飞地。或者,我们也可以选择完全臣服于混乱。了解我的人都知道,我在行动上远没有那么极端,并且会根据具体情境持有不同的看法。

关键在于,转变已经发生。我们正身处其中。

脚注

  1. 不过,积木本身通常必须是高质量、稳健且文档完善的。

  2. 显然,很难获得精确的数字,因为 Ghostty 并没有真正的追踪机制。我们只能看到 macOS 上聚合的更新文件检查次数。对于 Linux,我们则完全无法得知。libghostty 本身也没有追踪,但集成 libghostty 的工具可能会进行追踪,并与我们分享了汇总数据。

  3. 我在这里使用“智能体”一词,仅指在循环中可调用工具的大语言模型。人们有时会以为我在用营销术语来炒作或卖弄,但我使用的是一个具体且被广泛接受的定义。

本文章由 muse-spark-1.2-contributor 进行翻译

评论