自动化的代价:为什么有些开发者选择被时代抛弃

当今科技行业的主流叙事是一种紧迫的适应感:“如果你不学习如何使用 AI,你就会被时代抛弃。”对于许多人来说,这是一种战斗号召——促使人们将 LLMs 集成到工作流程的每一个环节中,以保持竞争优势。但对于其他人来说,这一最后通牒提出了一个根本性的问题:我们究竟被要求抛弃什么?

十年来,软件开发不仅仅是编写功能性代码的行为;它更是一场社交与智力的旅程。构建的过程——以看到第一个应用在物理设备上运行的“灵光一现”时刻、黑客松中由咖啡因驱动的混乱,以及在面对像 RxJava 这样复杂的库时向导师寻求帮助的脆弱感——构成了开发者身份的基石。这是一种由人际连接、共同奋斗和对知识的集体追求所定义的工艺。

学习过程的侵蚀

随着大语言模型 (LLMs) 从产生胡言乱语转向生成可编译的代码,它们引入了一种诱人的效率。然而,这种效率是有代价的。软件工程中通往精通的传统路径是由反复试验和错误铺就的。正是与 bug 搏斗、在 Stack Overflow 上搜索以及参与社区辩论的过程,构建了批判性思维所需的“大脑肌肉”。

当开发者将这种奋斗的过程委托给机器时,学习闭环就被打破了。开发者不再通过研究和社区验证来从根本上理解问题,而是往往依赖于第一个能用的答案。这种转变将编码行为从一种解决问题的练习转变为一种提示词工程 (prompt engineering) 和验证的过程。

"当我们将批判性思维自动化时,我们开始失去构建稳健、持久软件的能力。"

这种自动化不仅延伸到了代码本身,还延伸到了工作场所的人际动态。曾经基于生活经验的、两个工程师就不同架构优劣进行的“权衡讨论”——正被向黑盒进行查询所取代。其结果是人类经验的枯竭,而这种经验曾让这一职业感觉像是一种艺术形式。

工艺与商品的巨大分歧

这种紧张关系在工程社区内引发了极化的辩论。一方认为 AI 是“钢铁侠战衣”——一种增强人类能力并消除样板代码枯燥工作的工具。他们认为,通过自动化琐碎的任务,开发者可以更自由地去思考高层级的系统设计。

另一方则认为软件正在变成一种商品,类似于从手工家具向 IKEA 的转变。虽然后者更易于获取且更高效,但它缺乏手工制作作品的灵魂和持久的品质。一些开发者认为,这种转变不仅影响了程序员,也影响了最终用户,因为“随机代码挤压机”可能会导致整体软件质量和长期可维护性的下降。

社区视角

对这种转变的反应因开发者个人与这项工艺的关系而异:

  • 孤独的程序员: 对于那些一直以来都在孤立状态下编程的人来说,LLMs 可以成为一种救命稻草,提供某种程度的“导师”或技术决策的讨论对象。
  • 职业资深人士: 许多资深开发者表达了一种丧失感,不仅是对工具的丧失,也是对导师制度文化以及已被远程办公侵蚀的面对面协作的“魔力”的丧失。
  • 务实主义者: 有些人认为,“关注工艺”实际上是“关注产品”的一个组成部分,而“害怕被时代抛弃”是一个伪命题。他们建议,最出色的开发者将是那些能够将手工般的精准度与 AI 驱动的效率结合起来的人。

道德与结构性困境

除了技术和情感的影响之外,人们对行业权力动态的担忧也日益增长。向 AI 辅助编程的转型往往意味着将依赖从开源社区和公共文档转向由少数几家巨头公司拥有的私有模型。这引发了关于开源理想的未来,以及当“在公开环境下构建”的动力被订阅闭源代理 (closed-source agent) 所取代时,这种行为是否会继续下去的问题。

最终,“选择被时代抛弃”并不一定意味着拒绝技术,而是拒绝接受在创作过程中人类元素的抹除。如果软件是由人类为人类构建的,那么人类创造者的缺失意味着工作本身的意义发生了根本性的转变。对于那些将编码视为一种工艺的人来说,奖励从未仅仅是完成的应用,而是他们遇到的人、通过失败学到的教训,以及那句“我们构建了这一切”所带来的共同喜悦。

Sources