返回

文章详情

主动编码是一种陷阱

Hacker News2026年6月19日 17:33

人工智能辅助编码正在加速那些尚未建立基础的开发者的技能萎缩。以下是识别自己处于哪个阶段的方法,以及应对方案。本周一次通话结束时,一位开发者对我说了一句话,我一直无法停止思考。我们已经聊了一个多小时。他在第一份商业工作中工作了两年半,来自一个训练营,正在一个杂乱的PHP代码库中工作——神类、原始SQL、没有依赖注入、从超全局变量中提取的全局状态,而不是注入的。这样的代码库基本上无法进行测试。在这样的地方,你可以花很多年在混乱中变得更好,但从未学会如何构建整洁的东西。在通话之前,他对所发生的问题没有一个明确的定义。他只是知道有一些东西是错误的。我们花了一个小时来理清思路——他所在的阶段,实际存在的差距,直线前进的路径是什么。到最后,他有了清晰的图景。一组具体的建设内容。对“赶上”真正意味着什么有了真实的感觉。然后他说:“我感觉我落后太多了。”我告诉他要振作精神。告诉他他能做到。告诉他在16周后,这是一个可以解决的问题。但我从那时起一直在思考这句话。因为我觉得他所感受到的并不是绝望,而是终于清晰地看到的特有沉重感。在通话之前,焦虑感是模糊的——有一种低沉的感觉,有东西错了,我跟不上。通话后,它有了形状。有了名字。有了路径。这并不是一个糟糕的状态。这实际上是一个开始。如果你现在是代码优先,你应该觉得自己落后了。因为在某种真实意义上,你确实是。但这不能否定你的能力。这是一个诊断。而错误的诊断会导致错误的处方。实际发生了什么 Cal Newport刚刚报道了一个名叫Lars Fay的开发者写的文章,该文章正在流传。这篇文章名为《主动编码是一种陷阱》。文章开头描述了大多数开发者采纳的新工作流程——描述你想要的,拉动杠杆,让代理人迭代直到完成。同时在“协调者与生成和提交的代码之间拉大距离。”Fay的核心论点是:只有具有批判性思维和在建筑水平上运作的熟练开发者才能在数千行生成的代码中发现问题,而问题在成为问题之前。正如他指出的讽刺——这个引起我注意的讽刺——AI工具已被证明会对有效使用它所需的批判性思维技能产生负面影响。Reddit上充满了这样的言论。“因为AI而失去我的编码能力。”“让AI完全处理我的编码使我的大脑崩溃。”“每次使用AI我都感觉自己变得更糟糕。”我社区中的一位成员说他不得不稍作休息,因为他接近了他所谓的“LLM精神病”。我笑了。然后我就没有笑了。Newport解释说,在计算机科学教育中,有一种被称为大三墙的现象。学生让AI处理他们的基础课程。大三来了——艰难的部分——他们却没有任何可以依靠的基础。Fay认为这现在发生在整个行业中。Cal采访的一位拥有30年经验的开发者坦率地说:“在个人层面,我绝对感到技能萎缩的影响。这曾是我进行深度工作的来源,现在不再是了。”四年前,我就是在窗口大喊。学习技能。学习技能。学习技能。我仍在大喊。但是这是Fay没有涵盖的部分。Fay的文章是重要的。但它是为特定类型的开发者写的。而我认为我所学到的最重要的事情之一——我尽力不出错的事情之一——是:你不能从一个较低的范式给处于较高范式的人提供建议。而且你不能给尚未建立基础的人提供高范式的建议。两者都会失误。两者都会混淆。两者都会浪费时间。因此让我更明确一下这适用于谁,以及不适用于谁。如果你是代码优先,手艺的阶段存在是因为这条道路是真实的。序列很重要。代码优先意味着你可以构建东西。你可以发布功能。你懂得一种语言,曾经在一个代码库上工作。但是当谈到解释为什么做出架构决策时——为什么那个边界存在,为什么那个依赖项指向这个方向,为什么那个抽象值得创建时——你却沉默了。这不是性格缺陷。这是一个阶段。你只是在这方面还没有整合基础知识。而这里有一件更微妙的事情,直到你经历过很难解释:推动你进入下一个阶段的问题尚未降临到你身上。想想测试。当你是代码优先时,你尚未被不稳定的E2E测试扇了一耳光。你还没有在环境之间切换并看到你的测试套件毫无明显理由地从绿色变成红色。你没有不得不设计…

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡