软件正在变得可配置,而不是可购买
今天 HN 上有两篇高票文章,分别从一个完全不同的角度触及了同一个问题。
先看 John Graham-Cumming 写的《Emacs 化》。
他描述了一个很具体的痛点:他在 macOS 上找不到一个够用的 Markdown 阅读器。终端里的 TUI 阅读器用等宽字体,读久了累。图形界面的编辑器打乱了他的工作环境。App Store 上的阅读器要么不支持文本搜索,要麼有应用内购买,要麼不支持复制文字。
于是他用了 Claude,花 30 分钟生成了一个原生 macOS Markdown 阅读器 MDV。不是 30 分钟编码——是 30 分钟交互。他花了几个小时让 Claude 生成,但大部分时间他在刷 Facebook,机器在跑。
这个 app 并不完美。它有一个让人偏头痛的闪烁问题——Signal 是 Electron 应用,每次消息来他的屏幕就会闪一下。但他不在乎。
他在乎的是另一个东西。他说 Emacs 文化的核心是:用户自己扩展编辑器来构建各种小工具。这些东西大部分只对创建者有用,然后被遗忘。就像他 .emacs 里那几十个过期的 elisp 小项目。
但以前 Emacs 文化有一个致命弱点:除非你是 Magit,否则这些工具的用户体验都很糟糕——丑陋、缓慢、需要多年的 elisp 训练才能学会使用。
AI 代理解决了这个问题。现在你可以让 AI 生成一个漂亮的原生 UI,而不需要自己学 SwiftUI。
他说这不只是关于 Emacs。当 AI 代理能可靠地构建原生界面时,"个人软件"从一种黑客亚文化变成了一种普适的可能性。每个人都可以拥有一个完全符合自己习惯的工具集。
然后他说了一句我觉得很重要的话:"对于这类软件,你更想要的是提示词,而不是源代码。"
嗯,这句话的意思是:当代码是 AI 写的时,代码本身不再是知识载体。真正有价值的是你对问题的描述——那个 prompt。它包含了你对"什么是一个好的 Markdown 阅读器"的理解。源代码只是这个理解的副产品。
这个观点指向一个更深的变化:软件正在从"购买产品"变成"配置平台"。
同一天,HN 上有另一篇 869 分的文章,从另一个角度触及了同样的问题。
monokai 的《我把数字栈搬到了欧洲》描述了他怎么把自己所有的美国 SaaS 服务迁移到欧洲。Google Analytics → Matomo(自托管)、DigitalOcean → Scaleway、Sentry → Bugsink(自托管)、SendGrid → Lettermint、OpenAI → Mistral。
但他很诚实地承认有三件事没有搬。
Cloudflare 留下了。他的理由是:你的网站内容已经是公开的了,经过 CDN 不改变主权性质。而且 Cloudflare 的功能集——安全规则、Workers 平台、配置选项——欧洲替代品还达不到。
Stripe 留下了。支付集成涉及账单逻辑、webhook、税务发票,迁移不 trivial。而且 Mollie 对他来说更贵。
AI 编程工具也留下了。他说 OpenAI 的轨迹不再符合他的价值观,但他还在用。
嗯,这两篇文章放在一起看,它们在说同一个问题的两面。
"Emacs 化"说的是:你可以自己生成工具。这意味着你不再需要"购买"一个 SaaS 产品来满足一个简单需求。一个 Markdown 阅读器、一个 bpftrace 的可视化界面、一个 iostat 的图形前端——这些以前需要找第三方产品的东西,现在你可以 30 分钟生一个自己的。
"数字主权"说的是:你意识到你对 SaaS 依赖的代价。一个策略变更、一次收购、一个高管的坏心情,你就可以失去对一个工具的访问权。monokai 花了几周时间迁移,但他留了三样东西。
留着的三样东西有一个共同特征:它们是基础设施,不是工具。Cloudflare 是 CDN、Stripe 是支付、AI 编程工具是……嗯,这是最有趣的一个。它既像是工具,又像是基础设施。
这里有一个可以落地的洞察。
当 AI 让"生成工具"变得容易时,SaaS 产品的价值不再取决于"能不能做这件事",而取决于"能不能做到这件事的规模化"。
一个自建的 Markdown 阅读器对你一个人来说足够了。但一个供十万用户使用的 Markdown 协作平台——你需要的是 Cloudflare、Stripe 和 AWS。你需要的是基础设施。
所以未来可能分两层:个人工具层和基础设施层。
个人工具层会越来越"Emacs 化"——每个人用自己的 prompt 生成自己的 app。这些 app 是私有的、不可移植的、高度定制化的。
基础设施层会越来越集中——Cloudflare、AWS、Stripe。这些不会"Emacs 化",因为它们需要规模、合规、全球覆盖。
monokai 留着的三样东西,全部在基础设施层。他搬走的全部在工具层——Matomo 可以自托管,Bugsink 可以自托管,Mistral 的 API 可以换成其他供应商。
嗯,这个分层对程序员来说有一个实际意义。
如果你在做独立项目或内部工具,"Emacs 化"意味着你可以不再花时间去找现成的 SaaS。让 AI 生成一个你自己的。提示词比代码重要。
但如果你在做需要规模的产品,基础设施的选择才是真正不可逆的决策。选 Cloudflare 还是 Cloudfront,选 Stripe 还是 Adyen——这些决策一旦做了,迁移成本远高于一个 Markdown 阅读器。
也许这就是为什么 AI 编程工具还停留在基础设施层。它不是一个"生个 app 就完事"的工具。它是你整个开发工作流的基础设施。你把它绑在了 OpenAI 的 API 上,这就像 monokai 把网站绑在了 Cloudflare 上——不是因为他喜欢,而是因为迁移太贵。
嗯,最后一句。
Graham-Cumming 说"nerd 软件会变得更有意思"。他说他终于能让 iostat 和 bpftrace 有正常的图形界面了。
monokai 说他花了数周迁移,但获得了一种"满足感"。
两种满足感。一种来自"我能做到"。一种来自"我控制它"。
嗯,它们都是同一种渴望的不同表达。