先说结论

不会。至少不会有我们现在看到的这个「现代 Web」。

但这不是一个悲观结论——恰恰相反,我认为没有那个 AI 的 2011 年,Web 变得比任何 AI 辅助的版本都更好。这不是一个讽刺,这是一个关于创造力和约束的思考。


2011 年的 Web:约束是创新的燃料

2011 年的 Web 是什么样子?

  • jQuery 还是绝对霸主。Backbone.js 刚发布 7 个月,AngularJS 还要 6 个月才登场,React 要到 2013 年。
  • HTTP/1.1 是唯一选择。SPDY 协议刚发布,还在襁褓中。
  • 移动 Web 基本等于「做不起 App 的人的备选方案」。
  • 前端工程化? grunt-contrib-concat 算是一种选择。

但同时,2011 年也是真正有意思的事情正在发生的时代:

Twitter 的 Bootstrap 在 2011 年 8 月发布了。开源出来的第二天就被全球开发者用上了。Rails 社区的 Asset Pipeline 争论了一年,最后在 Rails 3.1 里用 Sprockets 实现。这不是大公司推动的——这是社区自己在解决「CSS 烂代码怎么管」的问题。

Node.js 在 2011 年开始进入主流。不是因为它更高效,而是因为一批人发现:用 JavaScript 写服务端,招聘和知识复用方便太多了。npm 在那一年增长到 1000 个包。

Backbone.js 的发布说明里写着「给 JavaScript 加分量的 RESTful 持久化库」。它的目标很简单:让 JavaScript 代码不是 DOM 操作的一锅粥。

我在 2011-2013 年间写了不少 jQuery 代码。那种体验用一个词形容:失控。不是代码跑不了,而是三个月后的自己看不懂三个月前的自己写了什么。每次接手的项目都是「重写」比「修改」更省时间。

但这种失控感是有价值的。它迫使一批人在 2011-2013 年间思考:Web 前端到底需要什么抽象?最终,Backbone 的脆弱、Angular 的激进、React 的函数式思考——都是在回答同一个问题:「如何让前端代码在大型项目里依然可控」。

如果没有 AI,这个探索过程会发生吗?

我认为会。或者说:正是那个「约束」推动了探索。

jQuery 时代的问题不是「代码写得太慢」,而是「代码太难维护」。AI 能加速写代码,但不能直接给你「好的抽象是什么」这个答案。这个答案需要人在实践中摸索,需要踩坑,需要争论,需要有人站出来说「我试过了,这种方式行不通」。


AI 实际上在加速什么

2024 年的 Web 开发者用 AI 辅助写代码,大多数场景下效率提升是真实的——特别是:

重复代码:CRUD 页面、数据表格、表单验证。AI 能以 10 倍速度生成,代码质量和手工写的没有明显差异。

代码转换:「把这段 jQuery 改成 Vue」「把这个类改成用 hooks」。AI 在这类任务上做得很准确,比我手动改还少 bug。

API 调用:给定一个 API 文档,让 AI 生成调用代码,基本可用。

但 AI 在这些场景下做的是复制和组合——它没有创造新的抽象。

真正的 Web 创新发生在什么时候?发生在有人发现现有抽象不够用的时候。

2013 年 React 发布时,虚拟 DOM 这个概念不是「用 AI 分析了 1000 个前端项目发现的优化」——它是 Jordan Walke 在 Facebook 内部解决真实问题的产物。真实问题是:带有大量动态内容的 RSS 阅读器,每次状态更新触发全量 DOM 重绘,卡出翔了。

这个问题,AI 解决不了。因为这个问题不在代码里,在架构设计里。AI 可以帮你写出更高效的 DOM 操作代码,但「为什么我要从零构建一套新的 UI 编程范式」这个决策,来自人的判断和承担。


效率和生产力的区别

我最近在思考一个区别:效率生产力不是一回事。

效率:单位时间产出更多的正确代码。

生产力:解决了正确的问题,或者发现了新的价值。

2011 年 Web 的核心问题是:Web 能做什么?Facebook 能做到 Twitter 做不到的事情吗?Stripe 能在支付这件事上比 PayPal 更优雅吗?

这些问题需要人去探索,去实验,去承担风险。一个 AI 可以帮你写 Stripe 的集成代码,但它不会帮你决定「我要做一个比 PayPal 更优雅的支付产品」。

Stripe 的创始团队在 2010 年发现:当时的支付产品对开发者太不友好了。他们的解决方案是自己做一套 API。这个决策不是来自「AI 分析了 1000 个支付产品后发现开发者满意度最低点是 API 文档」——这是创始人自己的判断,自己的赌注,自己的承担。

没有那个 AI 的 2011 年,一批人有机会去赌这个承担。

Stripe、Twilio、Heroku——这些在 2011 年前后的创新,有一个共同点:它们解决的不是「代码写得太慢」的问题,而是「现有工具根本无法实现我想做的事」的问题。

如果 2011 年已经有 AI 辅助编程,这批人可能更早地用更少的人做出了更完整的产品。但也可能因此少了「被问题逼着思考」这个过程——而这个过程往往是创新的起点。


我们现在的问题是什么

2024-2026 年的 Web 开发者,面对的问题已经不是「怎么写前端代码」,而是:

方向问题:这个产品应该长什么样?AI 能帮你写代码,但它不能帮你决定产品方向。

价值问题:这个功能和那个功能,应该先做哪个?AI 能帮你快速做 A/B 测试,但它不能告诉你哪个 A 哪个 B 更有价值。

架构问题:这个技术债务应该在什么时间点还?AI 能帮你重构,但它不能告诉你「重构的时机到了」。

我最近在做的一个项目,用 AI 辅助后开发速度提升了 3 倍。但产品方向调整了 4 次。每次调整都是 AI 帮助快速验证。这个流程里 AI 的价值是真实的,但它做的是「让我更快地验证我的想法」,而不是「告诉我应该有什么想法」。


反事实的真正答案

回到问题:如果 AI 在 2011 年存在,我们会有现代 Web 吗?

我的答案是:会有一个 Web,但不是一个「现代」意义上的 Web。

AI 会加速 CRUD 类应用的开发。「博客平台」「论坛」「电商展示页」这类产品会更早出现、更低成本。但与此同时,「Rails 能做到什么 jQuery 不能」这个问题会被更晚地问出来——因为 AI 让 jQuery 够用了。

约束是创新的燃料,但 AI 移除了部分约束。

Stripe 在 2011 年的出现,部分原因是「当时的支付工具太差了」。如果 AI 让 PayPal 的集成变得足够简单,Stripe 还需要存在吗?

我倾向于认为:不会有 Stripe,因为问题不够痛。但也可能有别的「Stripe」——只是名字不同,出现的方式不同。

真正不会被 AI 取代的,不是写代码的能力,而是「这个问题值得被解决」这个判断。


对 2026 年开发者的建议

这篇文章的结论不是「AI 会毁掉创新」——这是一个悲观到错误的结论。

AI 让更多人能参与到 Web 开发的行列里。更多人能在更短的时间内把想法变成产品。这是真实的价值。

但如果你想在这个时代里做真正有价值的事情——不只是交付功能,而是发现新问题、定义新产品、推动新范式——你需要 AI 之外的什么东西。

是判断力。是对「现在的 Web 缺什么」这个问题有自己答案的能力。

2011 年的那一批人,在 jQuery 的约束下,用三年时间问出了「Web 前端到底需要什么抽象」这个问题。2026 年的 AI 能帮你更快地实现任何抽象。但那个问题本身,依然需要人来问。

AI 是更好的工具,但不是更好的问题来源。

而真正推动 Web 向前的,从来都是问题,不是工具。


附:2011 vs 2026 Web 开发者的一天

2011 年的一个前端开发者
- 写 jQuery 代码,处理 DOM 事件
- 跟后端争论 API 设计
- 晚上看 Backbone.js 的源码,想「这玩意儿能解决我的什么问题」
- 周末跟朋友聊「Web 能不能做实时协作」

2026 年的一个前端开发者
- 跟 AI 描述需求,AI 生成代码
- 调整 AI 生成的代码
- 集成第三方 API(AI 生成的调用代码)
- 晚上跟朋友聊「我们的产品怎么跟 AI 结合」

两个世界,节奏完全不同。

2011 年的人在思考「我能用什么新方式做事」。2026 年的人在思考「AI 能帮我做什么事」。

都没有错。但如果你只做后者,你可能会错过一个东西——定义问题本身的权利


本文首发于 jzhix.com