近年来,大型语言模型(LLM)带来的生产力提升已是不争的事实。许多开发者借助 LLM 工具提高了编码效率,缩短了开发周期。然而,这种工作流真的对开发者自身有利吗?在享受 AI 带来的便利的同时,我们是否在不知不觉中变得更“迟钝”?
依赖 LLM,你正在失去什么?
LLM 辅助的开发方式,虽然提高了短期生产力,却可能在长期削弱开发者的基本技能。随着对 AI 工具的依赖加深,许多开发者开始丧失独立解决问题的能力,甚至在没有 AI 辅助的情况下难以完成日常开发工作。
我之所以进入软件工程领域,是因为我热爱构建事物、探索系统的运作方式。我享受通过键盘输入代码、反复调试、最终找出最佳解决方案的过程。然而,LLM 工具正在剥夺这种乐趣。许多开发者习惯于直接向 AI 询问解决方案,而不是自己思考和推导。长此以往,我们不再深入理解技术背后的原理,而是单纯依赖 AI 的建议行事。
你真的喜欢编程吗?
如果有人不喜欢自己编写代码,或许他们并不适合这个行业。可能他们只是为了薪资而选择了编程,这无可厚非。然而,那些真正优秀的工程师,往往是愿意在周末花费数小时去打造自己的工具或探索新技术的人。正是这种钻研精神推动了技术创新。如果不了解系统的底层运作逻辑,又如何优化其性能?如果仅依赖 AI 给出的代码,而不去理解背后的原理,开发者只能在黑暗中摸索。
“Copilot Lag” 现象:当 AI 让开发者失去自主性
在开发领域,有一个概念叫“Copilot Lag”(副驾迟滞)。它指的是开发者在每次编码决策后,会本能地停顿片刻,等待 AI 提示下一步该怎么做。这样的工作方式类似于新手程序员依赖资深工程师的指导,而不是自己独立思考。
这种现象是真实存在的。我曾在 VS Code 中长期使用 GitHub Copilot,回想那段时间,我惊讶地发现自己的基础知识正在逐渐流失。我开始忘记自己熟悉的编程语言语法,也忘记了基本的逻辑结构。长远来看,这无疑是对自身知识体系的一种削弱。单纯依赖 AI 提供代码,只能带来短期的开发效率提升,却会侵蚀我们长期积累的编程能力。
这让我想起了知名开发者 ThePrimeagen 的一段直播视频,他在视频中谈到了“Copilot Lag”现象。这对我来说是一次警醒。我意识到自己需要重新找回独立思考和解决问题的能力,于是果断停止使用 LLM 编码助手。
LLM 影响学习:是助力还是阻碍?
我对编译器技术一直很感兴趣,曾尝试学习 Thorsten Ball 的《Writing An Interpreter In Go》。但当时使用 Copilot 辅助学习,导致我根本没有真正掌握书中的内容。AI 直接生成了代码,让我误以为自己“写”出了一个解析器。然而,如果关闭 AI,我能独立完成吗?答案显然是否定的。更重要的是,我失去了学习内存管理、数据导向设计等核心概念的机会,因为 AI 只会给出看似可行的代码,而不会引导你去深入理解底层原理。
以研究者的心态使用 AI
尽管 AI 可能削弱开发者的思维能力,但这并不意味着它一无是处。事实上,如果正确使用,LLM 仍然是一个强大的学习工具。过去,我们会在 Stack Overflow 上查询问题,现在 LLM 可以直接整合这些知识,提供即时的解答。
然而,AI 的本质决定了它的输出并不总是可靠的。LLM 只是基于模式和 token 序列生成回答,而不是由真正精通技术的专家手动编写。因此,开发者在使用 AI 时,必须具备批判性思维,不能盲目相信 AI 给出的答案。
如何正确利用 LLM?
-
不要完全依赖 AI 代码——如果不理解 AI 生成的代码,宁可自己手写。
-
像与导师对话一样使用 LLM——主动追问 AI 为什么采用某种方法,而不是简单接受其答案。
-
做笔记!——记录自己学习的新概念,尤其是像 Zig 这样涉及内存管理的语言。笔记不仅能帮助自己复习,还能与他人分享经验。
结语
AI 确实能提高生产力,但如果使用不当,也会让开发者变得懒惰和迟钝。真正的高手不会完全依赖 AI,而是将其作为辅助工具,提升自己的学习和研究能力。希望所有开发者都能保持好奇心,主动探索技术的奥秘,而不是仅仅做 AI 的“执行者”。