
原文:https://thomasorus.com/i-tried-coding-with-ai-i-became-lazy-and-stupid
大约在 2025 年 4 月,我的老板坚持让我们尝试使用 AI 编程工具。他并没有施加什么有毒的压力,也没有提出诸如“你 20% 的代码必须由 AI 生成”之类的要求,只是担心我们可能会错过一些重要的东西。
我理解他为什么会这么要求,也并不怪他。即便在软件行业,现在的经济环境也很艰难,而我们还要支付员工薪水。如果 AI 能提升生产力或利润率,那至少值得被摆上谈判桌。我对这一趋势并不开心,但我能理解。
我之所以最终妥协,还有另一个原因,来自我和工作之间建立起的一种有毒关系——那是在我成为开发者之后逐渐形成的。我在之前的一篇博客里详细写过,选择这条职业道路意味着承受极高的风险,这触发了一种思维模式,直到今天都没有真正离开过我:
七年前我开始做 Web 开发时,在经历了多年低薪和失业后,我正处在“生存模式”。这条路必须走得通,而要让它走得通,我就必须不断学习、持续阅读和收听与 Web 开发相关的一切内容,时刻关注行业动态,尽可能多地和同行社交。只有这样,我才不会变得可被替代,也不会丢掉工作。我会建立起人脉网络,我会是安全的。
——我,2022 年的一篇博客
十年过去,经历了三次职业倦怠之后,很明显可以看出,这种心态即便曾经在一段时间内奏效,也谈不上健康或值得追求。我原本已经把“随时会被替代”的恐惧放到了一边,但大语言模型的出现又一次把它强烈地唤醒了。如果 AI 厂商说的是真的呢?如果未来我去应聘的公司要求必须使用它呢?我会不会失去工作?我已经快 40 岁了,到时候该怎么办?
所以,我开始尝试使用 AI。最初是在日常工作中,因为我想要一个答案。但除了修复 TypeScript 的类型错误、生成一些无障碍性很差的模板代码,或帮我做代码审查之外,我始终没找到那些 AI 网红们所宣称的、能“改变人生”的用法。我也问了同事们各自的尝试体验,很多人得出的结论和我一样:它似乎并不能更好地帮助我们帮客户实现目标。
到了 7 月,我开始为这个网站背后的新 CMS 开发图像处理模块。因为一直处在压力之中,始终没有真正认真地用过 LLM 写代码,再加上一些个人事件让我身心疲惫、脑子发懵,我决定这正好是一个合适的任务,可以认真试一试,给自己一个答案。
在 VS Code 里把一切配置好,打开 AI 面板,给它访问代码库的权限,并在提示词中详细说明需求之后,LLM 生成了大约 200 行代码。主要是一些利用依赖库来转换、缩放、处理图片的函数。代码并不完美,但稍作修改之后任务就完成了,总共只花了大概 30 分钟,比我手写要快得多。
我被震撼到了。那一刻真的感觉自己拥有了超能力。但随后我产生了一个想法:像我在公司项目给 Vue 应用做审查那样,重新审查一遍这段刚生成的代码。出于对上传文件可能带来安全问题的担忧,我让同一个 LLM 专门从这个角度来检查。
它发现了好几个严重问题:目录遍历攻击、文件大小限制缺失、系统文件被覆盖等等。我完全不知道最初那段代码竟然这么不安全。我确实审查过代码,可在后端开发经验不足的情况下,我又怎么可能发现那些自己根本不知道存在的问题?更让我困惑的是,如果它明明知道这些问题,为什么一开始还会生成不安全的代码?
当我尝试修复这些安全问题时,很快就意识到这整件事其实是个陷阱。因为代码并不是我写的,我对整体结构和具体行为缺乏清晰的全局认知,修改起来非常吃力,这让我越来越沮丧。最省事的办法就是继续让 LLM 来帮我修复,于是我这么做了。更多代码被修改和添加了,功能也确实能跑,但我依旧无法判断这些改动到底好不好。
就在那时,我停止了这个实验。
我被自己滑入这种“偷懒式编程”状态的速度吓到了。LLM 生成了质量很差的代码,让我对自己的代码库变得一无所知,同时也让我懒得亲自去修复问题。可与此同时,整个过程又显得顺滑、无摩擦、充满掌控感。在当下,我感觉自己更聪明、更高效、更有掌控力。但这一切其实都是幻觉。
我其实早就知道这一点——已经有研究表明,使用 LLM 会让人变笨,而自我感知到的生产力提升并不真实。但亲身经历这一切,感受完全不同。
这也让我获得了一个全新的视角,并回答了最初的问题:我会很快被 AI 取代吗?
答案是否定的。我不认为 AI 会因为比我更聪明、更高效而在短期内取代我的工作。我也不认为 AI 会让我变得高效十倍。如果有一天我因为 AI 丢掉工作,那更可能是因为我用它用得太多,懒惰和愚钝到了必须由另一个人类来替代我,最终让我失去就业能力。
我不应该把时间投入到 AI 上。我更应该把时间用来学习那些真正让我感兴趣的新东西。也许这才是继续做这份工作、以及让自己保持安全的唯一方式。