做开发这行久了,大概都有过这种感觉:每隔几年,我们手里的铲子就会换一把。从早期的jQuery到React,从Ant到Maven再到Gradle,我们习惯了学习新工具。
但这次不一样。这次不是换铲子,是换了要挖的山。
我们必须承认一个正在发生的现实:经典编程时代正在谢幕。 那些我们引以为豪的 TypeScript、Swift、Kotlin 甚至 Go,正在变成新的“汇编语言”。
没人再手写汇编了,哪怕你写得更好
回想一下我们现在写 Kotlin 或者 Java 的心态。你会去关心编译器底层生成的汇编指令吗?
除非你是做极底层优化的专家,否则你不会。当然,如果你硬要钻研,你大概率会发现:哪怕编译器再智能,也就是个通用解。如果你亲自上手写汇编,针对特定硬件做指令集优化,跑出来的代码绝对比编译器更快、更省内存。
但你不会这么做。为什么?因为不划算。
在现代软件工程的规模面前,那点极致的性能榨取,远不如代码的可读性、可维护性和开发效率来得重要。我们主动放弃了对寄存器的控制权,换取了更抽象的逻辑表达能力。
现在的局势是:Prompt正在成为新的高级语言,而刚才提到的那些传统代码,就是这一层级的“汇编”。
如果你现在还在纠结一个泛型怎么封装才优雅,或者一个 Interface 怎么设计才符合 SOLID 原则,这感觉就像是在 2025 年坚持用汇编语言写一个 Web Server。你写得再精妙,也就是在雕琢一块砖。而旁边的人,已经用自然语言指挥着一整个施工队,把楼盖起来了。
别把“撞大运”当工程能力
我们这代程序员,大都是刷 LeetCode 进的大厂。
大家心里都清楚,面试是一回事,工作是另一回事。刷算法题像买彩票,讲究个运气和状态。那天你脑子清醒,刚好碰见做过的题型,你就是“技术大牛”;那天状态不好,思路卡壳,你就是“基础不牢”。
但进了公司以后呢?真正的软件工程从来不靠灵光一乍现。我们需要的是稳定性。不需要你写出惊天地泣鬼神的递归,只需要你写出这就是一段平平无奇、甚至有点无聊,但绝对健壮、别人一眼能看懂、测试覆盖率 100% 的业务代码。
现在的 AI 编程圈子,像极了当年刷题的日子。
网上到处流传着“神级 Prompt”、“魔法咒语”。有人发帖炫耀:“我只用了一句话,Claude 就帮我写了个贪吃蛇!”
这不叫工程,这叫撞大运。
你今天运气好,模型没抽风,给了你一段能跑的代码。明天换个参数,或者模型微调了一个版本,同样的 Prompt 可能就跑出一堆乱码。
资深开发者的价值,不在于你会背多少“魔法咒语”,也不在于你会不会写 TypeScript(那已经是汇编了)。我们的价值在于:如何把 AI 这种概率性的输出,通过工程手段,驯化成确定性的交付。
哪怕 AI 是李白,也需要也是土木工程师
LLM本质上是个诗人。它爱幻想,爱发散,充满创造力,但也满嘴跑火车。
让诗人去写代码,偶尔会有神来之笔,但你敢把银行的核心计费系统交给诗人去写吗?
这时候,就是我们这些“老家伙”登场的时候了。
我们需要像土木工程师一样,给这个“诗人”搭建脚手架。
- 它天马行空,我们用 RAG 给它划定知识边界;
- 它逻辑跳跃,我们用 Chain of Thought 强迫它分步思考;
- 它信口开河,我们用传统的 Unit Test 和 Linter 去卡它的输出,错了就打回去重写。
未来的编程,不再是自己一行行敲代码,而是设计约束系统。
以前我们写的是 Logic(逻辑),现在我们写的是 Constraints(约束)和 Evaluation(评估)。我们不再是砌砖的工匠,我们是拿着图纸、盯着 AI 干活、一旦发现墙歪了立马纠正的监工。
接受现实,然后如释重负
说实话,意识到这一点,我感到一种前所未有的如释重负。
我不必再焦虑又出了什么新框架,不必再担心跟不上年轻人的手速。那些繁琐的、重复的、拼记忆力的“语法糖”工作,统统扔给 AI 去做。它们不知疲倦,且以此为乐。
我们终于可以腾出手来,去干点真正的“高级活”了。
那些我们因为赶工期而无暇顾及的系统架构、那些因为“实现太麻烦”而搁置的创意、那些需要深厚行业经验才能洞察的业务痛点——现在,我们有能力去实现了。
别再留恋写“汇编”的快感了。
哪怕你手写的 for 循环再漂亮,在 AI 浪潮面前也毫无意义。抓紧时间,把你的经验从“如何写代码”升级为“如何造系统”。
时代没抛弃我们,它只是把我们要解决的问题,提高了一个维度。
