乐于分享
好东西不私藏

我问 AI 一个疯狂想法,它给我讲了软件 50 年

我问 AI 一个疯狂想法,它给我讲了软件 50 年

今天下午,我干了件有点疯狂的事。

我让 AI 帮我评估一个想法:能不能做一个"功能全部可插拔"的应用?不是简单的"加个插件",而是每一个功能都可以拔下来换掉,甚至同一个功能的不同版本也能互相替换。

我以为它会说:这个想法很新,很有前景。

结果它沉默了一会儿,给我讲了一串"坟场"——过去几十年,抱着同样想法做软件的人,几乎都死了。

我突然意识到,我可能撞上了软件产业五十年来最深刻的一次变革。

这篇文章,就是下午那场对话的整理和延伸。


一、软件曾经是"冰"

要理解软件正在变成什么,得先看它曾经是什么。

1960 年代,软件是"焊死"在硬件里的。IBM 卖大型机,交付的是"带程序的机器"。你想换个功能?对不起,得换机器。

软件像冰,冻在机器里,一动不动。

那时候没有"软件公司",只有"计算机制造商"。软件是硬件的附属品,形态完全固定。

二、软件变成了"瓶装水"

直到 PC 出现,软件第一次"独立"了——你可以买一张软盘,装到任何一台电脑上。软件开始流动了。

然后是客户端/服务器,是网页,是移动 App。2008 年 App Store 上线,软件进入"成品时代":每个功能都被打包进一个 App,装进一个"瓶子",用户去商店里挑瓶子。

这就像瓶装水:水(软件的能力)已经能流动了,但它还是被装进固定的瓶子里。你要喝水,先得买瓶子。

三、水开始从瓶子里漏出来

但"把功能从应用里拆出来"这件事,其实一直在悄悄发生,而且越拆越大:

2005 年前后,拆的是函数和类

——Eclipse 的 OSGi,把一个 IDE 拆成上千个可插拔的模块;

2015 年前后,拆的是服务

——Docker、Kubernetes,把应用拆成一个个容器,独立部署、独立升级;

2020 年前后,拆的是业务能力

——电商把支付、物流、库存拆成独立服务,按需组合,行业里叫 Composable Commerce;

2026 年,拆的是 AI 能力

——DeepSeek Harness、MCP、Agent Skills,把"智能"本身变成可插拔的模块。

注意这个规律:拆的粒度越来越大,从函数到整个子系统。2005 年你拆的是一个函数,2026 年你拆的是"整个认证流程""整个支付链路"。

水正在从瓶子里,一点点漏出来。

四、为什么以前做这件事的人,都死了

既然方向一直有人想,为什么到今天还没有一个"一切皆插件"的通用应用?

因为做过的人几乎都死了,而且死因高度一致。

第一个是 KDE Plasma 4。2008 年,这个 Linux 桌面系统提出"一切皆 Plasmoid"——桌面、面板、任务栏、时钟、天气,全部做成可插拔的小组件。听起来很酷,结果却是:性能灾难,桌面卡顿;组件之间通信复杂,一个崩溃拖垮整个桌面。用户根本不想要"拼乐高",他们只想要一个能用的桌面。2014 年,Plasma 5 推倒重来。

第二个是 Amarok。曾经最受欢迎的音乐播放器,花了约两年时间做全面插件化重写。结果呢?重写期间用户全跑了,跑到了从它分叉出去的 Clementine。它的 3.0 版本直到 2024 年才发布——一个音乐播放器重写了十几年,已经没人记得它了。

第三个是 Eclipse 的 OSGi。软件史上插件化最彻底的工程:一个 IDE 拆成上千个模块,每个都是可插拔的 Bundle。但模块之间的版本依赖形成一张蛛网——升级一个模块,牵动几十个。开发者抱怨"依赖地狱",调试时断点都打不进去。企业最终放弃了 OSGi,转向更粗粒度的微服务。

第四个是 Mozilla。Firefox 的插件体系折腾了十几年:搞过轻量级插件 Jetpack,又和老插件体系两套并存,开发者无所适从;Firefox OS 手机系统也以失败告终。最终 Mozilla 转向了 WebExtensions——本质上是放弃"一切皆插件",回到"有限的扩展点"。

如果给这些失败找个共同的死因,大概是五个:

① 冷启动螺旋。

没有插件 → 用户觉得这应用啥也干不了;没有用户 → 开发者觉得做了也没人用。两边互相等,最后一起死。

② 接口的"宪法困境"。

接口一旦发布就是宪法,改接口等于所有插件重写。于是接口要么僵化,要么分裂,最后生态崩掉。

③ 复杂度爆炸。

5 个插件就有 10 条依赖关系,50 个插件就是 1225 条。指数级增长,没有团队能维护。

④ 商业模式真空。

框架免费、插件开发者免费、用户免费——谁来付费?VS Code 能做插件化,是因为微软根本不需要编辑器本身赚钱,它是整个云生态的入口。不是每个公司都有这个底气。

⑤ "通用"的诅咒。

越想做一个通用的插件化框架,接口就越抽象,越没人知道拿它干什么。反过来看,成功的插件化产品全是垂直的:VS Code 是编辑器,Figma 是设计工具,Obsidian 是笔记,WordPress 是博客——领域越窄,越容易成。

一句话总结这段历史:可插拔对开发者是优雅,对用户是灾难。失败的不是架构,是"通用 + 冷启动 + 接口僵化"的三重诅咒。

五、那为什么这次不一样?

因为 2026 年的条件,和以前完全不同了。

第一,内核不用从头写了。Cordis——一个天生为"一切皆插件"设计的框架,已经默默维护了四年多,作者是开源聊天机器人框架 Koishi 的创始人。它不是空想,是实战验证过的。今年 8 月,DeepSeek 和北大还联合发了一篇论文,用形式化的方法验证了这套插件体系的正确性。

第二,AI Agent 天生需要"可插拔"。Agent 本身是空壳,能力全靠外部工具——这决定了 AI 时代的软件天然就是插件化的。DeepSeek Harness 今年 8 月 13 日开源,5 天 GitHub 星数破 15 万,不到两周已经 18 万。这个速度本身就是信号:市场在等这个东西。

第三,基础设施齐了。npm 上的包数以百万计,GitHub 上的仓库数以亿计,组件复用的成本趋近于零。插件分发、版本管理、依赖解析,全都有现成工具。

第四,也是最关键的一点:AI 把最难的"组装"问题解决了。以前用户要自己逛插件商店、自己装、自己配——这是所有插件化产品死在用户端的原因。现在,AI 可以帮你选插件、装插件、配插件,用户根本不需要知道"插件"的存在。

六、未来的软件长什么样

我的判断是八个字:底层是乐高,上面是成品玩具。

对开发者:软件会拆成一个一个"能力积木"。以后你未必再做一个完整的 App,而是做一个能被 AI 随时调用组合的原子能力。就像汽车产业——福特曾经自己造发动机、轮胎、玻璃、座椅;今天的汽车,发动机是博世的,轮胎是米其林的,玻璃是福耀的。软件正在从"整车厂时代",走向"零部件供应商时代"。

对用户:你看到的还是一个"成品"——但这个成品,是 AI 根据你的需求,从能力池里实时组装出来的。

你说:"我要一个能管 5 人团队的项目工具,数据存在本地,界面简洁。"

AI 从能力池里抓来项目看板、本地存储、极简界面,几秒组装好,递给你。

你全程不知道"插件"的存在。用完即散,下次要别的,再组装。

这听起来像科幻,但"成品 App 会消失"这句话,圈内已经喊了两年。它的准确版本是:"成品"会消失,"能力"会永存。固定形态的软件包会消失,软件变成流态——像水,根据容器的形状成形,而不是让用户去适应软件的形状。

七、这对你意味着什么

当然,这条路还很长。接口标准还在混战(MCP、Harness、各家私有协议),过渡期至少还要五到十年,中间一定很乱。

但对普通人来说,变化已经开始了:

以后你不需要再"适应软件的形状"——不需要为了一个功能装一个 App,不需要在十个差不多的软件里比较哪个更顺手。你只需要说出你要什么,软件自己会长出你要的样子。

这是我这几年对软件行业最有信心的一次判断。不是因为 AI 多聪明,而是因为软件终于要从"瓶子"里解放出来了。


五十年前,软件是冰,冻在机器里。

二十年前,软件是瓶装水,流得动,但装在瓶子里。

今天,水正在从瓶子里漏出来。

明天,可能没有瓶子了——只有水,和你此刻需要它的形状。

插件化从来不是目的。目的是让软件适应你,而不是你适应软件。