AI 与编程难度的转变

AI 与编程难度的转变

从记忆到判断的转变

AI 并不一定让编程变得更容易了,但它从根本上改变了难点所在。软件开发的主要挑战已从记忆(知道如何编写特定的函数或记住语法)转向了判断(确定生成的代码是否正确、安全且架构合理)。

虽然 LLM 可以快速生成样板代码并解决孤立的问题,但验证的重担现在完全落在人类开发者身上。这创造了一种新型的认知负荷,开发者必须充当持续的审查者,对机器生成的输出做出系列关键决策,而不是从零开始构建逻辑。

AI 辅助编程中的经验悖论

在编程中有效使用 AI 需要一定的深度经验基础,而 AI 本身可能会阻碍新手开发者去获取这种经验。为了评估 AI 生成的代码是否“合理”,开发者必须首先理解只有通过多年的手动编码才能获得的权衡和失败模式。

社区见解强调了与这种转变相关的几个风险:

  • 进步的错觉: AI 可以充当生产力倍增器,让开发者在没有意识到的情况下朝着错误的方向快速前进。
  • 洞察力的侵蚀: 与 AI 生成的文章类似,AI 生成的代码在表面上可能看起来连贯,但缺乏真正的架构洞察力,导致难以编辑或维护。
  • 维护债务: LLM 生成的代码随着时间的推移可能会出现更多 Bug 或变得更难理解,当原始作者不再理解他们委托给机器的底层逻辑时,就会产生悔意。

"要评估它是否合理,你首先需要编写代码的经验……AI 是一种超能力,但如果没有经验来引导它,它会很快变得非常糟糕。"

认知疲劳与“决策负担”

使用 AI 编程引入了一种特定的精神疲劳,其特征是不断的决策。开发者现在面对的是一系列需要持续验证的复杂计划和建议,而不是在主动编写过程中获得的“心流”状态。

这种现象被比作“分拣土豆”问题:虽然 AI 可以处理高容量、重复性的任务(如劈柴或修补篱笆),但人类留下的却是无休止的分拣任务——决定保留什么、播种什么以及扔掉什么。这种从创造策展的转变可能比传统的开发更令人疲惫。

关于生产力和架构的不同观点

关于 AI 是真正“转移”了难度,还是仅仅揭示了软件架构固有的难度,存在着巨大的争论。

AI 作为效率工具

一些开发者认为,AI 通过消除语法障碍,客观上让编程变得更容易了。通过自动化“简单部分”(编写代码),AI 让开发者能够完全专注于高层意图和系统设计。从这个角度来看,通过提示词生成可用程序的能力是生产力的净增长,无论对监督的需求是否增加。

代码作为真理的至高无上性

“AI 优先”方法的批评者认为,虽然提示词和计划是有用的产物,但代码仍然是唯一的具体真理。由于 LLM 缺乏真正的语义,无法以 100% 的确定性执行逻辑,因此最终输出必须被视为一种商品,需要严格的人类验证,以确保它不仅仅是一个运行系统的“幻觉”。

经济现实

一些观察者指出,虽然 AI 提高了个人生产力,但这种效率的价值往往被市场而非劳动者所捕获。更快完成更多工作的能力并不一定会减少工作量;它只是提高了竞争环境下的预期基准。

Sources