几天前,Cursor 在 ChatGPT 中断期间瘫痪。
我盯着终端,面对着那些我讨厌看到的红色错误消息。AWS 错误也闪现在我眼前。我不想在没有 AI 帮助的情况下解决问题。
经过 12 年的编程生涯,我的编程技术却越来越差了。这并不是夸张,这是软件开发人员面临的新现实。
衰败
它悄悄地向我袭来。
首先,我不再阅读文档。既然人工智能可以立即解释一切,那为什么还要费心阅读呢?
然后,我的调试技能受到了打击。现在,没有人工智能,堆栈跟踪就感觉无法理解。我甚至不再阅读错误消息,我只是复制并粘贴它们。
我已经成为了一个人体剪贴板,仅仅是我的代码和法学硕士学位之间的中介。
以前,每条错误信息都会让我学到一些东西。现在呢?解决方案神奇地出现了,我却什么也没学到。即时答案带来的多巴胺刺激取代了真正理解的满足感。
下一个受到影响的是深度理解。还记得花费数小时来理解解决方案为何有效吗?现在,我只需实施 AI 建议即可。如果这些建议不起作用,我会改进上下文,然后再询问 AI。这是一个依赖性不断增加的循环。
接下来是情绪上的变化。以前,解决新问题是编程乐趣的一部分。现在,如果人工智能不能在 5 分钟内给我一个解决方案,我就会感到沮丧。
最可怕的是什么?我正在开发一个人工智能驱动的开发工具,但我却无法摆脱这种感觉:我正在加剧侵蚀我们集体技能的问题。
康复计划
我并不是建议采取任何激进的措施,比如完全放弃人工智能------这是不现实的。相反,我会从"无人工智能日"开始。每周有一天:
- 完整阅读每条错误信息
- 再次使用实际的调试器
- 从头编写代码
- 阅读源代码而不是询问AI
说实话,这太糟糕了。我感觉自己变得更慢、更笨、更沮丧。
但我也看到了差异。我感觉与代码的联系更加紧密,并且有了主人翁意识,而这种感觉随着人工智能的出现而逐渐消失。此外,我学到了很多东西。
(令人不安的)事实
我们不会凭借 AI 成为 10 倍开发人员。
我们对人工智能的依赖程度 正在增加 10 倍。这是有区别的。
每当我们让人工智能解决我们自己可以解决的问题时,我们就会用长期理解来换取短期生产力。我们以牺牲明天的能力为代价来优化今天的承诺。
我并不是建议我们放弃人工智能工具------这条船已经起航了。但我们需要交战规则。以下是我的一些想法:
- 如果你还没有尝试去理解这些问题,那么就无法使用人工智能
- 阅读并理解所有 AI 建议的解决方案
- 无需人工智能协助的定期编码
- 关注学习模式,而不仅仅是解决眼前的问题
说实话,我不认为我能一直遵守这些规则。但这是一个开始,我坚信任何刚接触编程的人都应该遵守所有这些规则。
现在,在某个地方,有一位新程序员正在学习编程。他们永远无法体会到真正独立解决问题的满足感。他们永远无法体会到花上几个小时与 bug 搏斗所带来的深刻理解。
我们正在创造一代开发人员,他们可以向人工智能提出正确的问题,但无法理解答案。每次人工智能出现故障,他们就会显得越来越无助。到目前为止,人工智能还不足以完全取代程序员,但随着人工智能的进步,这种情况只会变得更糟。真正的问题不是人工智能是否会取代程序员。而是我们是否在取代我们自己。
尝试一天不使用 AI 进行编码。结果可能会让你大吃一惊。