原文:https://nmn.gl/blog/ai-illiterate-programmers
作者:Namanyay
译者:ChatGPT 4 Turbo
编者注:这是一位开发者分享的经历和反思:他发现自己过度依赖 AI 编程后,coding 能力反而在下降。具体表现为:1) 不再仔细阅读文档,只是复制粘贴错误信息给 AI,2) debug 能力变差,对代码的深度理解也在减弱,3) 如果 AI 五分钟内解决不了问题就会感到烦躁。为了改善这种情况,他提出了一些建议:每周留出"无 AI 日"专注于传统编程方式,在使用 AI 之前先尝试自己解决问题,认真理解 AI 提供的解决方案。
几天前,在 ChatGPT 出现故障期间,Cursor 也宕机了。
我盯着终端,面对那些我讨厌看到的红色错误信息。一个 AWS 错误瞪着我。我不想在没有 AI 的帮助下解决它。
经过 12 年的编码,我竟然在自己的技艺上变得更糟。这并不是夸张——这是软件开发者的新现实。
技能的衰退
它 悄无声息地 侵袭了我。
首先,我停止了阅读文档。当 AI 能够立即解释一切时,为何还要费心?
然后,我的调试技能受到了打击。没有 AI,堆栈跟踪现在感觉难以接近。我甚至不再阅读错误信息,只是复制和粘贴它们。
我变成了一个人类剪贴板,仅仅是我代码和一个 LLM 之间的中介。
以前,每个错误信息都能教给我一些东西。现在呢?解决方案神奇地出现了,我却什么也没学到。即时答案的多巴胺冲击取代了真正理解的满足感。
深入理解是下一个受影响的事物。还记得花几个小时理解一个解决方案为什么有效吗?现在,我只是实现 AI 的建议。如果它们不起作用,我改进上下文,然后再次询问 AI。这是一个依赖性增加的循环。
然后是情感上的变化。以前,解决新问题是编程的 乐趣 的一部分。现在,如果 AI 在 5 分钟内没有给我解决方案,我就会感到沮丧。
最可怕的部分?我正在构建一个由 AI 驱动的开发工具,但我无法摆脱我正在贡献于侵蚀我们集体技能的问题的感觉。
康复计划
我没有提议任何像完全不用 AI 那样的激进方法——那是不现实的。相反,我从“无 AI 日”开始。每周一天:
- 完整地阅读每个错误信息
- 再次使用实际的调试器
- 从头开始编写代码
- 阅读源代码而不是询问 AI
我不会撒谎,这很糟糕。我感觉更慢、更笨、更沮丧。
但我也能看出区别。我对我的代码感觉更加亲密,有了一种所有权感,这种感觉随着 AI 的使用而慢慢消失了。另外,我学到的东西也更多。
不舒服的真相
我们并没有因为 AI 而成为 10 倍效率的开发者。
我们正变得对 AI 有 10 倍的依赖。这是有区别的。
每当我们让 AI 解决我们本可以自己解决的问题时,我们就是在用长期理解换取短期生产力。我们优化了今天的提交,却牺牲了明天的能力。
我并不是建议我们放弃 AI 工具——那艘船已经航行了。但我们需要制定参与规则。这里有一些建议:
- 对于你还没有尝试理解的问题,不要使用 AI
- 阅读并理解所有 AI 建议的解决方案
- 定期不借助 AI 辅助编码
- 专注于学习模式,而不仅仅是解决眼前的问题
我不会撒谎,我不认为我能一直遵守这些规则。但这是一个开始,我坚信任何新手程序员都绝对应该遵循这些规则。
现在,某个地方,一个新程序员正在学习编码。他们永远不会知道完全靠自己解决问题的满足感。他们永远不会体验到与 bug 斗争数小时后来自深刻理解的体验。
我们正在创造一个能向 AI 提出正确问题但无法理解答案的开发者一代。每当 AI 出现问题,他们就显得越来越无助。截至目前,AI 还不够强大以完全替代程序员,但随着它的改进,这种情况只会变得更糟。真正的问题不是 AI 是否会取代程序员。而是我们是否在取代我们自己。
尝试一天不用 AI 编码。结果可能会让你惊讶。
更新(02 月 01 日)
这篇文章在开发者社区引起了很大的共鸣!我感到非常高兴,而且坦白说,完全感到谦卑。
这里有一些有趣的统计数据:
- 一周内超过 1,250,000 次浏览
- 被 ThePrimeagen,一位拥有 700,000 订阅者的 AI 教育者,在 YouTube 上的一个 27 分钟视频中报道
- Reddit /r/programming 上获得 2,500 个赞,/r/webdev 上获得 1,000 个赞
- Hacker News 上有 100 条评论
我们的行业正在发生变化,讨论这些变化的含义非常重要。
我希望我的写作能让你思考。如果你喜欢,请与你的朋友分享!