AI 编程:框架时代的终结与软件工程的回归

AI 编程正在改变软件工程,或将终结对传统框架的依赖。开发者可以更专注于核心业务逻辑和创新,而非被繁琐的框架所束缚。

原文标题:AI 编程正在终结框架时代

原文作者:AI前线

冷月清谈:

本文作者认为随着 AI 编程的兴起,特别是自 2025 年 12 月以来,软件工程领域正在经历一场革命。AI 编程能够自动化繁琐的编码工作,使开发者能够专注于架构设计、产品决策等更重要的方面,摆脱对框架和库的过度依赖。框架在一定程度上简化了开发流程、实现了自动化,并降低了劳动力成本,但同时也带来了抽象层叠、设计受限、供应商锁定等问题。作者提倡回归真正的软件工程,利用 AI 工具按需构建,解决实际问题,而不是盲目追随框架和云服务商的决策,从而将重心放在更重要的特性和产品本身。

怜星夜思:

1、你认为 AI 编程在多大程度上能够取代传统框架?在哪些特定场景下框架仍然是不可或缺的?
2、文章提到“劳动力成本”是框架流行的原因之一,你认为 AI 编程的普及会对软件工程师的就业市场产生什么影响?
3、作者认为现在是摆脱无用复杂性,专注于真正重要的复杂性的机会,你认为什么是软件开发中“真正重要的复杂性”?

原文内容

作者 | Alain
译者 | 平川
策划 | Tina

本文最初发布于 Alain 的个人博客。

我不经常发表博文。当我这么做时,是因为我觉得还没大有人把我注意到的事情说出来。

我一直在从头开始构建一个产品。不是那种“我启动了一个 Next.js 模板”的从头开始。我的意思是从网络配置到产品设计再到定价决策。真正的端到端。我一直在使用比较前沿的模型和编码代理,每天花费数小时,无论是在这个项目上还是在我的全职工作中。我一直在努力远离混乱和炒作,努力筛选出真正有价值的东西。

自 2025 年 12 月以来,事情戏剧性地变好了。许多人都注意到了,但很少有人得出过正确的结论。

自动化编程

Antirez 喜欢称之为“自动化编程”,我真的很喜欢这种表述。与“氛围编码”这个肤浅、几乎带有轻蔑意味的标签相比,它更能抓住本质。在人类历史上,自动化一直是大多数工作和文化革命的核心所在。印刷机、织布机、装配线,这一次并没有太大的不同。

我的大部分工作还是那样。对于我想要构建的东西,我仍然需要深入地思考每一个重要的方面——架构、权衡、产品决策、凌晨 3 点反复思考的边缘情况。消失不见的是那些需要逐行敲击代码的令人精疲力竭的繁重体力劳动。

这个时候,在一个干净且经过良好设置的环境中,模型和工具确实可以带来差异。我能成为建筑师,却不必亲手砌每块砖、抹每道灰。我能设计礼服,却不必裁剪缝制每片布料。但这一切都源于二十年来亲手砌砖抹灰、裁剪缝纫的经验积淀。但如果遇到不合心意的地方,我也可以深入其中,洞悉本质,随心修正,并永久性地调整系统设置,让它下次按我的意愿行事。

尤其是,自动化编程让我可以快速构建我需要的工具,曾经存在于这个地球上的每一名铁匠都会非常地羡慕我。终于能够真正地专注于他们认为重要的事情了。终于能够将更多的时间投入到他们构想的艺术创作中,而不是锻造间的汗水中。

顿   悟

这个念头在我的脑海中已经酝酿数月之久。它如此清晰明了,以至于我真心不明白为何世人都不向全世界呐喊宣传。

我们终于可以摆脱所有那些中间层工作了。这些年来,我们盲目接受的那层垃圾。大量的框架、库和工具,彻底污染了软件工程,特别是在 Web、移动和桌面开发中。抽象层层堆叠,用没有意义的抽象解决了本不应该有的问题,每解决一个问题,却创造了十个新问题。

想想发生的一切。作为一个行业,在看到了构建软件的真实复杂性之后,我们没有磨砺我们的思维,而是购买了别人的思维。我们用框架封装一切,就像用丝绸包裹一条断腿。看起来不错,但腿还是断的。

框架解决(或声称解决)的三个问题

在我看来,除了框架自称的目标之外,它们还解决了三个问题:两个明确的和一个明显但从未声明过的。

“简化”。软件工程师害怕自己设计东西。他们宁愿接受别人的结构,尽管不得不强行适配到他们的产品中,也不愿花时间从目标出发,倒推设计出完美契合自己理念的解决方案。就像一个建筑师盲目接受另一个建筑师的蓝图,不管环境、需求、地形、新的技术可能性如何,拿来就用。为了所谓的消除复杂性,我们决定购买一种适合所有人的设计并到处应用。这不是简化。这是投机取巧。

自动化。实际上,这是我或多或少能够理解并接受的唯一一点。编写样板代码是件无聊的工作。我讨厌那项工作。我尤其讨厌使用那些需要我专门研究、持续更新、时刻警惕漏洞的库,仅仅是为了避免重复编写那些不可或缺的代码。想想 ORM、CRUD 管理、代码生成、API 文档,等等。那些没有人想做但每个人都需要完成的苦差事。说得有道理。不过先别急着下结论,因为正是从这一刻起,一切都将改变。

劳动力成本。这是从未声明过的那一点。没有人把它放在会议幻灯片上。对于企业来说,让谷歌、Meta、Vercel 帮你决定如何构建产品和发布代码要好得多。采用他们的框架,支付供应商锁定的成本。为他们的云管理解决方案所吸引,用于托管、部署、存储你的东西。你解锁了一个与工程无关的功能:你不再需要雇佣软件工程师。你雇佣一个 React 开发者,不需要培训,即插即用,易于替换。一个由别人设计的机器中的齿轮,维护由别人架构的系统,解决由别人定义的问题。这不是工程,这是运营。

软件工程回来了

在我看来,真正的软件工程又回来了。

我这么说并不是空穴来风。我已经用这种方式开发了两年多,几乎无懈可击。但真正的革命显然是去年发生的,自 2025 年 12 月以来,对于任何关注过的人来说,这一点都显而易见。从现在起,这一点将更加明显。

我们再次获得了一个机会,让我们可以摆脱无用的复杂性,继续致力于我们的想法、特性和产品中那些真正受欢迎的复杂性。那些重要的复杂性,那些真正属于你的复杂性。

自动化和样板代码的挑战从未如此廉价地被克服。基本上,同样的代码行我从未写过两次。我立即就可以构建我需要的小工具,有目的地构建,完全围绕手头正在处理的问题。我不需要任何花哨的单库管理器。对于我 99% 的用例,一个简单的 Makefile 就可以满足全部需求。当事情变得非常复杂时,如果真的变得非常复杂,我会考虑的。但也只有在那时,不会提前一秒。这就是工程。你解决你手头的问题,而不是某个人在会议上告诉你你最终会有的问题。

在基本工具方面,编码代理做了非常好的准备。这些工具已经存在了几十年,而不仅仅是几个月。Bash 诞生于 1989 年,比我出生早两个月。现在运行的最平庸的模型也比世界上任何人都更了解 Bash。Bash 是通用适配器。编码代理从复杂昂贵的 MCP 配置转向采用以 Bash 为交互方式的简单代理循环,这绝非偶然。最古老的工具反而展现出最强的未来适应性。其中蕴含的启示值得你认真领会。

 想想吧 

真的想想吧。

对于你能想到的大多数用例,为什么你需要一个无用、昂贵、有缺陷而且往往容易受到攻击的框架,而对于那些相伴而来的库,你可能只用了其中 10% 的功能?还有与之相关的所有成本。从“最不”昂贵的运营成本(比如保持所有库及时更新,因为他们再次在你使用的 Next.js 版本中发现了一个关键漏洞)到最昂贵的设计选择成本——无形的成本,你每天都在支付却没有意识到,因为你已经支付了这么久,忘记了自由的感觉。

如果你继续接受这种权衡,则不仅将错失软件工程领域数十年来最大的机遇,还可能无法察觉自己的惰性而再次选择盲从超大规模云服务商为你做的决策。你正让谷歌、Meta 和 Vercel 成为你的架构师、设计师和思想者,而你换来的,不过是成为他们的操作员。

工具已经有了,模型已经有了,革命已经发生,大多数人却仍然在装饰老房子。

不用再用丝绸包裹断腿了。开始构建属于你的东西。

对于作者的观点,Yuuki 表示:

我完全同意你的观点。

我目前正在构建我自己的库,完全不需要使用那些背负着陈旧包袱的高度复杂的库。更重要的是,我相信这是一个创造的时代——我们可以参考像 Spec Kit 和 OpenClaw 这样的项目,但更重要的是要自主探索和实验。

相信自己的品味。最好的品味往往来自个人,而不是组织。

评论区还有一位用户 AH 留下了自己不同的看法:






感谢分享,这真是发人深省。我的第一反应有以下两点。

一、我不认为我们今天拥有的模型真的像框架那样解决了“简化”问题。我认为,对于顶级工程师来说,LLM 是真正的倍增器,但中低级工程师需要在这个新工程时代中用尽全力去提升自己的水平。

真正的危险在于,似乎没有人愿意解决这个问题。我们该如何开发提示技巧并培训新晋开发人员?例如,我来自第三世界国家,现在才刚开始将模型融入开发流程。使用框架时,我能立即获取操作指南和海量的应用示例。但 LLM 供应商提供的却只有玩具示例,整个生态系统的文档支持也严重不足。我最担忧的是,技术鸿沟只会越拉越大。

第二个不赞同的点是,我不相信模型可以自我改进,至少目前是这样。框架会随着时间的推移而演变,无论是功能、架构还是易用性的改进。LLM 会怎么做?我们会被困在用于训练模型的架构中吗?简而言之,我们确定 LLM 可以“思考”它们生成的结果里存在的问题,研究并改进它们的输出吗?

虽然你说工程学关乎解决你现在面临的问题,而不是我们明天可能遇到的问题,但我们仍然需要为明天的问题做准备。这将如何实现呢?

原文链接:

https://blog.alaindichiappari.dev/p/software-engineering-is-back

声明:本文为 InfoQ 翻译,未经许可禁止转载。

会议推荐

OpenClaw 出圈,“养虾”潮狂热,开年 Agentic AI 这把火烧得不可谓不旺。在这一热潮下,自托管 Agent 形态迅速普及:多入口对话、持久记忆、Skills 工具链带来强大生产力。但这背后也暴露了工程化落地的真实难题——权限边界与隔离运行、Skills 供应链安全、可观测与可追溯、记忆分层与跨场景污染、以及如何把 Agent 纳入团队研发 / 运维流程并形成稳定收益。

针对这一系列挑战,在 4 月 16-18 日即将举办的 QCon 北京站上,我们特别策划了「OpenClaw 生态实践」专题,将聚焦一线实践与踩坑复盘,分享企业如何构建私有 Skills、制定安全护栏、搭建审计与回放机制、建立质量 / 效率指标体系,最终把自托管 Agent 从可用的 Demo 升级为可靠的生产系统。

今日荐文


图片
你也「在看」吗?👇

个人认为,初级程序员的核心竞争力应该在于快速学习和适应能力。当AI能够替代大量的重复性代码编写工作时,初级程序员需要能够快速掌握新的工具和技术,利用AI来提升自己的工作效率。其次,良好的沟通能力和团队协作也是必不可少的,因为即使在AI时代,软件开发仍然是一个团队合作的过程。

我觉得吧,光会用框架那肯定不行了,以后AI生成代码更快更准。得懂底层原理,才能知道AI生成的代码有没有问题,才能更好地debug和优化。就像学开车,光会踩油门不行,还得懂发动机原理,才能修车、改装车,才能成为老司机!

我觉得要从“使用者”变成“创造者”。不能仅仅满足于使用AI提供的功能,而是要主动探索AI的底层逻辑,尝试自己构建AI模型和工具。这样才能真正掌握AI技术的主动权,避免被云服务商“绑架”。另外,开源社区也是一个重要的资源,可以学习借鉴其他开发者的经验,共同推动AI技术的发展。

国内互联网确实存在类似现象,尤其是在云计算领域。很多企业为了快速上线和降低运维成本,会选择直接使用阿里云、腾讯云等云服务商提供的基础设施和解决方案。这样做的好处是显而易见的,可以节省大量的研发和运维成本,但也存在一定的风险。例如,企业可能会过度依赖云服务商提供的服务,而忽略了自身的技术积累和创新能力。另外,云服务商的技术架构和服务模式可能会对企业的业务发展产生影响,甚至限制企业的创新空间。

我的看法是,首先要明确自己的目标和需求,不要为了使用AI而使用AI。其次,要深入了解AI技术的原理和局限性,不要盲目相信AI的“智能”。最后,要注重人才培养和技术积累,建立自己的AI团队,才能更好地驾驭AI技术,避免陷入新的“框架陷阱”。就好比,知道屠龙之术,也要有屠龙刀才能真正斩龙!

深有同感!尤其是一些to B 的公司,为了快速交付,直接All in 某某云,然后用云厂商提供的低代码平台、大数据分析平台等等。看起来是省事了,但实际上数据安全、业务逻辑都掌握在云厂商手里。一旦云厂商调整策略,或者出现安全问题,整个公司就瘫痪了。

我觉得关键在于保持独立思考的能力。AI只是工具,用好它,而不是被它牵着鼻子走。要深入理解业务需求,结合实际情况,选择最合适的AI解决方案,而不是盲目追求“最先进”、“最流行”的技术。同时,要注重培养自己的技术能力,掌握核心技术,才能在AI时代立于不败之地。

国内这种现象太普遍了!很多公司直接用大厂的云服务,然后用他们的那一套框架和工具,美其名曰“降本增效”。但实际上,自己的核心技术没沉淀下来,完全受制于人。大厂说涨价就涨价,说停服就停服,小公司只能干瞪眼。长此以往,创新能力只会越来越弱。

谢邀。我倾向于后者,深入理解计算机原理。框架只是工具,而原理是内功心法。AI可以帮你快速生成代码,但无法替代你对问题本质的理解和解决问题的能力。只有掌握了原理,你才能更好地驾驭AI,而不是被AI所驾驭。而且,万变不离其宗,原理性的东西不会轻易过时,而框架的生命周期则相对短暂。

我觉得以后程序员可能更需要具备抽象思维、系统设计能力、以及解决复杂问题的能力。AI可以生成代码,但不能帮你分析需求、设计架构。所以,程序员需要更加关注软件的本质,而不是具体的编码细节。另外,沟通能力也很重要,你需要和AI进行有效的沟通,才能让它生成符合你期望的代码。

这是一种trade-off吧。用大厂的框架和服务,可以降低开发成本和风险,快速推出产品。但同时也牺牲了一部分自主性。关键在于如何找到平衡点。对于初创公司来说,快速试错可能更重要,所以用成熟的框架是合理的。但对于有一定积累的公司来说,就应该考虑构建自己的核心竞争力,避免过度依赖第三方。

我觉得作者说的挺有道理的。现在很多公司都用云服务,用各种框架,确实很方便,但也在不知不觉中被这些平台绑架了。就像温水煮青蛙一样,慢慢地失去了对技术的掌控力,只能按照他们的规则玩。长此以往,创新能力肯定会下降。

提示技巧这东西,感觉有点像“玄学”,每个人都有自己的套路。要我说,不如搞一个prompt英雄榜,让大家分享自己的prompt,点赞数最高的就可以获得奖励。这样既能激励大家参与,又能快速积累prompt案例,形成一个良性循环。

同意楼上的观点。我补充一点,还可以从可维护性的角度来考虑。如果一个框架过于抽象,导致代码难以理解和调试,那么即使它解决了某些问题,也可能带来更大的麻烦。 好的框架应该具有良好的可读性和可维护性,这样才能在长期内降低维护成本。

除了掌握AI工具的使用方法,我认为更重要的是提升抽象思维能力。我们需要能够将复杂问题拆解成更小的、可管理的部分,然后利用AI工具针对性地解决。此外,还需要具备批判性思维,能够评估AI生成的代码的质量和安全性,避免盲目信任。

同意楼上的观点!框架这东西,用好了是加速器,用不好就是绊脚石。如果你的需求和框架的设计理念高度吻合,那用框架简直是事半功倍。但如果你的需求很特殊,框架提供的组件或API无法满足,那就只能硬着头皮去hack,反而降低效率。关键在于评估框架的适用性,而不是盲目跟风。

格局要大!不要只盯着眼前的代码,要站在更高的层面思考问题。要了解整个软件系统的架构,理解各个模块之间的关系,才能更好地利用AI进行优化和改进。此外,还要保持学习的热情,不断探索新的技术和工具,才能在快速变化的时代立于不败之地。简单来说就是既要懂代码,还要懂架构,更要懂业务,会提问。

楼上说得有道理。但我觉得AI不仅仅是替代重复性工作,它还可以辅助进行代码审查,甚至进行初步的性能优化。对于高级工程师,AI是如虎添翼;对于中级工程师,AI是助力转型;对于初级工程师,那就是鞭策学习了,否则真的会落后。

个人开发者表示狂喜!以前一个人搞不定前后端,现在有了 AI,相当于多了个全栈工程师。快速验证 MVP 的关键在于找到核心功能,用 AI 快速搭建原型,然后通过用户访谈和数据分析,不断优化。推荐一些低代码/无代码平台,结合 AI 编程,能让你事半功倍。