AI时代的开发者分化:真正的技能鸿沟在于是否学会思考,而非选择何种框架
当一位拥有7年经验的开发者告诉你,一个敏锐的新人现在可以超越一个自满的资深工程师,而社区还在争论Electron和Flutter哪个更好时,我们就知道,游戏规则已经彻底改变了。
核心观点:当前技术圈热议的框架选择(如Electron vs Flutter)和“AI取代程序员”的焦虑,其实都指向同一个更深层的转变:AI正在加速开发者进入一个“思维分流”时代,核心能力从掌握特定工具转向懂得如何利用AI思考,而这一转变让资深工程师和新人站在了同一起跑线上,同时暴露了传统技术选型讨论的局限性。
最近在Reddit的Electron社区里,一位开发者提出了一个看似技术选型的问题:是否该从Electron转向Flutter?他用了AI做深度研究,但最终决定暂时留守,因为担心学习曲线带来的风险。与此同时,另一位自称在科技行业深耕7年、正业余构建AI产品的开发者,在另一个帖子里给出了一个更为尖锐的判断——真正的分界线不在于AI是否会取代你,而在于你是用AI来思考,还是用AI来逃避思考。这两个帖子在同一天出现在我的信息流里,看似毫无关联,但在我看来,它们共同揭示了当前技术圈最被误解的一个真相:我们还在用旧地图寻找新大陆。
那个还在纠结Electron还是Flutter的帖子,其实代表了绝大多数技术工作者的日常焦虑——选什么框架、用什么语言、学哪个新库。这些讨论在过去十年里是技术博客和论坛的流量密码,每一个版本的更迭都能引发一场圣战。但今天,当AI代码工具已经能够根据自然语言描述生成完整的应用骨架时,这个问题的本质已经变了。框架的优劣依然存在,但它们对开发者职业前景的影响权重正在急剧下降。那位7年经验的开发者说得更直白:一个聪明的、愿意深入使用AI的应届生,现在完全有可能跑赢一个满足于现有技能栈的资深工程师。这不是某个特定场景下的极端案例,而是AI重新定义“技能”这一概念后产生的结构性变化。
更深层的信号来自于Andrej Karpathy最近在Sequoia Ascent 2026炉边谈话中的观点。他试图论证一个被低估的事实:LLM的价值远不止是加速已有的工作流,比如写代码。他举了三个例子——一个完全由LLM吞噬的传统代码应用(图像输入输出)、用.md文件替代.sh脚本的软件安装方式、以及基于LLM的知识库系统,这最后一项在古典编程范式下几乎不可能实现,因为它需要对非结构化数据进行计算。Karpathy在这里触碰到了一个关键点:我们正经历的不只是一次“效率升级”,而是一次“能力边界扩张”。有些任务在AI出现之前要么不存在(如用自然语言安装软件),要么技术上不可行(如整合任意来源的非结构化知识)。这意味着,那些还在用“AI只是帮你写代码更快”来安慰自己的开发者,实际上是在主动忽视这场变革中最具颠覆性的部分。
这种忽视并非偶然。Karpathy在对话中详细解释了LLM能力的“锯齿状”模式——同一个模型可以优雅地重构一个十万行代码的代码库,同时告诉你应该开车去洗车店洗车。他把这种不一致归因于训练数据分布中的经济因素:可验证性高、市场规模大的领域(比如写代码),会被强化学习电路精准覆盖,模型表现如虎添翼;而那些模棱两可、缺乏明确评判标准的知识领域,模型就像在丛林里用砍刀开路,步履维艰。这一洞察对开发者的启示是深刻的:你在哪个领域使用AI,决定了你体验到的是“飞行的快感”还是“砍树的辛苦”。那些抱怨AI不靠谱的人,很可能只是在错误的地形上使用了工具。
这就回到了那位7年开发者提出的核心问题:你是用AI来思考,还是用AI来逃避思考?用AI逃避思考的表现是什么?让AI直接生成代码,不做审查,不思考架构,不质疑输出。用AI来思考的表现又是什么?让AI生成多个方案,你评估权衡;让AI解释复杂逻辑,你理解后重构;让AI模拟不同决策的后果,你选择最优路径。两者在操作上可能只差几分钟的思考时间,但在职业发展路径上,差的却是整个职业生涯的天花板。Karpathy举的“install .md skills”的例子是一个绝佳的隐喻——与其写一个复杂的bash脚本来适配各种环境,不如用自然语言描述安装步骤,让AI作为一个“高级英语解释器”来动态适配执行。这要求开发者从“编写确定性程序”转向“描述意图并验证结果”,这是两种完全不同的思维模式。
但这里有一个不可忽视的反方视角:并不是所有领域都适合这种“意图编程”。那些对实时性、安全性和可审计性要求极高的系统(如航空航天、医疗设备、金融交易),仍然需要传统意义上的确定性代码。即使AI能够生成出看似正确的代码,在关键系统中,人类仍然需要对每一行代码负责。Karpathy自己也承认,他还在努力构建一个更准确的LLM能力模型,以帮助人们在实际中扬长避短。这意味着,即使是最前沿的AI研究者,也还在摸索边界。对于普通开发者而言,更务实的做法不是全盘接受或全盘否定AI,而是在自己的领域里逐步摸索出AI能力的“锯齿”形状,找到自己最适合使用AI的“轨道”。
框架选择的焦虑本质上是安全的幻觉——我们以为选对了工具就能保住工作,但真正决定职业安全感的,是你是否具备将AI转化为思考延伸的能力。Electron和Flutter之争,在未来两三年内很可能变得无关紧要,因为随着AI能力的渗透,底层框架的差异将被上层工具的智能度所模糊。真正重要的,是你是否能像那位用AI赢得Stripe争议的开发者一样,将一个原本需要繁琐手工操作的任务,变成AI自动化的流程;或者像另一位开发者一样,用AI监控项目成本,发现云服务商的错误计费并成功退款。这些不是对现有技能的小修小补,而是对工作方式的根本性重塑。
所以,当你在Electron和Flutter之间犹豫不决时,或许更值得问自己的问题是:我是否正在用“选择工具”来逃避“思考如何更好地使用AI”?如果你的答案是肯定的,那么你应该先停下来,去理解AI能力的新边界,然后你会发现,框架选择只是海面上的一朵浪花,而真正的潮水,正在改变整片海洋的流向。
参考来源
- Has anyone switched from Electron to Flutter? Here is what I am considering. - https://www.reddit.com/r/electronjs/comments/1t0xejh/has_anyone_switched_from_electron_to_flutter_here/
- 7 years in tech, now building AI products on the side. What I actually see happening and honest take for freshers navigating this mess - https://www.reddit.com/r/developersIndia/comments/1t0ig0f/7_years_in_tech_now_building_ai_products_on_the/
- Fireside chat at Sequoia Ascent 2026 from a ~week ago. Some highlights:
- The first theme I tried to push on is that LLMs are about a lot more than just speeding up what existed before (e.g. coding). Three examples of new horizons:
- 1. menugen: an app that can be fully engulfed by LLMs, with no classical code needed: input an image, output an image and an LLM can natively do the thing.
- 2. install .md skills instead of install .sh scripts. Why create a complex Software 1.0 bash script for e.g. installing a piece of software if you can write the installation out in words and say "just show this to your LLM". The LLM is an advanced interpreter of English and can intelligently target installation to your setup, debug everything inline, etc.
- 3. LLM knowledge bases as an example of something that was *impossible* with classical code because it's computation over unstructured data (knowledge) from arbitrary sources and in arbitrary formats, including simply text articles etc.
- I pushed on these because in every new paradigm change, the obvious things are always in the realm of speeding up or somehow improving what existed, but here we have examples of functionality that either suddenly perhaps shouldn't even exist (1,2), or was fundamentally not possible before (3).
- The second (ongoing) theme is trying to explain the pattern of jaggedness in LLMs. How it can be true that a single artifact will simultaneously 1) coherently refactor a 100,000-line code base *and* 2) tell you to walk to the car wash to wash your car. I previously wrote about the source of this as having to do with verifiability of a domain, here I expand on this as having to also do with economics because revenue/TAM dictates what the frontier labs choose to package into training data distributions during RL. You're either in the data distribution (on the rails of the RL circuits) and flying or you're off-roading in the jungle with a machete, in relative terms. Still not 100% satisfied with this, but it's an ongoing struggle to build an accurate model of LLM capabilities if you wish to practically take advantage of their power while avoiding their pitfalls, which brings me to...
- Last theme is the agent-native economy. The decomposition of products and services into sensors, actuators and logic (split up across all of 1.0/2.0/3.0 computing paradigms), how we can make information maximally legible to LLMs, some words on the quickly emerging agentic engineering and its skill set, related hiring practices, etc., possibly even hints/dreams of fully neural computing handling the vast majority of computation with some help from (classical) CPU coprocessors. - https://nitter.net/karpathy/status/2049903821095354523#m