无AI的一个月
摘要
一位开发者反思其广泛使用AI编程助手的经历,探讨了AI的成瘾性、对代码理解控制力的丧失,以及可能对软件质量和个人技能造成的负面影响。
暂无内容
查看缓存全文
缓存时间: 2026/09/26 13:29
# 摆脱人工智能的一个月
来源:https://blog.bustikiller.com/2026/09/25/one-month-without-ai.html
几个月前,我决定在我参与构建和维护的自由开源软件项目LibreWeddingPlanner(https://codeberg.org/LibreWeddingPlanner)中,不再接受人工智能的贡献。并非因为项目通过AI获得了大量贡献——实际上我收到的贡献主要是翻译和功能请求——而是希望规避未来的争议,并明确表达反对AI的立场。
然而,尽管我在自由软件项目中不再使用AI,工作中却依然保持着这项习惯。在我的工作场所,以及许多开发者朋友那里,使用AI工作已经非常非常普遍。请允许我略带羞愧地讲述这段经历,以及它如何让我变得更迟钝、更懒惰、更差劲。
## 甜蜜的起点
一位朋友曾说:“嘿,你应该试试这个,你会感觉无所不能。一旦开始使用,就再也停不下来了。原本需要几天完成的任务,几小时就能搞定。”不,我们谈的不是毒品——尽管在某种程度上,我认为使用AI就像一种上瘾。我开始在VS Code中启用增强自动补全功能(还是它自动开启的?),接着自然而然地下载并使用了其他代码生成模型。小时候我记得父母说过:“小心校门口给你糖果的坏人,那不是糖果,是毒品。”二十岁时我还会取笑他们说:“现在毒品都当成礼物送了吧?”如今到了三十岁,我觉得他们说得完全正确。
一旦开始使用AI编程工具,局面会迅速失控。起初,你只是让AI为你实现某个函数,或是为某段代码编写测试。如果你长期实践测试驱动开发(TDD),可能会倾向于先让它写测试——但这样你就跳过了编码环节,而TDD的一半意义(避免因实现方式而影响测试设计)也就丧失了。但你只感觉效率飞涨,渐渐不再在意这些。
某天,我发现AI代理竟然在提交记录上署名,赶紧跑去关闭了那个设置。就像……我想假装代码是自己写的。天啊。
## 失去控制
如果事情到此为止还不算太糟,但人类的大脑运作方式往往并非如此。如果喜欢某样东西且能获得双倍,你一定会照单全收。我开始把整个Jira工单描述粘贴给AI,让它为我实现。太棒了!!太强大了!!在一个相对陌生的代码库上工作,我逐渐失去了对“究竟需要哪些改动才能完成任务”的掌控。我心想:“既然读过项目每一行代码的AI说需要这些改动,那就这样吧。”控制感不过是种幻觉。和其他同行交流时,大家都认同无法百分百了解自己推向生产环境的代码究竟做了什么。我打赌实际了解的连20%都不到。真他妈吓人。
但事情还没停止。遇到小任务时,我把它交给AI,大约30分钟就能拿到一个PR。这段时间我在做什么?切换注意力。很快我意识到可以同时让多个AI代理在不同Git工作树上处理不同任务。全力运行!最大化利用算力!我通过ACLI(命令行界面)将代理连接到Jira,只需下达指令“在单独的工作树里处理这个Jira工单”,它们就会开始工作。那种感觉令人狂喜。
遇到稍大的任务呢?你可能以为我会亲自处理吧?才不。我当然会让AI把它拆解成更小的任务再逐步执行。AI会交给我一批看似令人信服的PR,包含一堆我一知半解的改动。这要怎么进行代码审查?同行们会怎么说?当经验更丰富的同事(尤其熟悉这个代码库的人)问我为何这样处理时,我该如何解释?怎样承认这一切都是AI的功劳,而我不过是个AI牧羊人?于是我强迫自己去理解代码。倒不是真心想掌握代码库架构,只是为了避免暴露出自己“完全不知道在搞什么”的尴尬。
渐渐地,我的AI代理多到注意力完全透支。有些本该20分钟轻松搞定的任务,AI代理5分钟就提交了PR,然后我要花两天时间审查。因为还有其他一堆事情。也许AI和计算机擅长上下文切换,但我不行。精疲力竭。如果只是批准那些写得完美的PR倒还好,但每个PR我都要查看代码、测试、风格,给出反馈,切换到别的事情,再切回来,推送,查看PR评论,检查CI是否通过,等等——现在代码检查器又报错了。原本可能1小时专注完成的工作,要耗费2天。以我个人经验来看,所谓“AI带来生产力倍增”根本是幻觉,而挫折感和疲劳感的倍增倒是实实在在。
我想不起有哪项交给AI的任务可以直接合并。当然,提交信息和PR描述也不是我亲自写的(这是2024年吗?),AI会自动附上长达七段的说明,解释它做了什么。但我早就不读那些描述了——既然我已告知它要做什么,就默认它照办了。“描述是写给别人看的”。总得有个描述,对吧?AI在“听起来专业”这方面简直炉火纯青,让你放松警惕并全盘接受。我并非真的觉得代码质量过关,但日积月累,你变得懒惰、自满。不再质疑,开始接受那些原本绝不会认可的代码——只因你说不清它哪里有问题。你已失去控制。大多数AI“开发者”会否认这一点,但内心深处他们明白这是事实。只是不愿面对罢了。
几个月过去,某天我忽然意识到自己已经好几个月没亲手写过一行代码了。连提交都不是自己操作的。不知多少次我在AI代理对话框里输入“提交并推送”。搞。什。么。鬼。如果这不是懒惰,我不知道什么才是。AI也无法解决我交给它的所有任务,甚至连一半都不到。我不得不反复指导AI代理:“应用这个模式”或“在规范文件里,把测试前置条件放在before块里,断言放在另一个块里”。就像在指导初级开发者。别误会,我热爱指导工作,曾坚持多年,这对指导者和被指导者都有益。但我他妈不想“指导”一台机器,抱歉。
很多时候,我能察觉AI生成的代码质量明显下降。倒不是说一开始有多出色,但总感觉“兄弟,你以前做过类似的,怎么这次就不会了?”于是不得不重新提示,甚至粘贴相关文件来说明我的偏好。“好的,我明白了,抱歉造成困惑,我重做一次。”结果它又搞出一堆乱七八糟的东西,完全不是我要求的。这让我想起谷歌故意降低搜索结果质量、迫使用户多次搜索从而看到更多广告的策略。如果这招对谷歌有效,AI公司为什么不用?尤其是在当前AI行业前景未明的财务环境下,你真以为他们不会这么做?得了吧,他们绝对会变本加厉。
有时,某个AI代理会卡住30分钟毫无进展。怎么办?你以为我会接手任务亲自处理吗?当然不会。我用威严的口吻命令道:“立刻交出我的代码!”AI代理疯狂道歉,20秒内交出了它半小时没给的东西。查查算力账单,它居然浪费了30美元的Token费用却一事无成。如果要我自己买单,绝对会暴跳如雷。
## 重获控制
一个月前,在我提交的某个PR的代码审查中,同事指出:“你写的这个测试实际上并没有覆盖应用代码中改动的场景。”我复核后发现他说得对。但……那个测试看起来如此令人信服……我感到羞愧。因为对一个实践TDD超过十年的开发者来说,在如此基础的事情上犯错简直是种耻辱。我意识到自己已经失去控制,而且情况不会好转。光是更努力、对AI更挑剔、要求与付费匹配的质量是徒劳的——因为无论你如何坚持,AI最终会说服你,让你再次陷入自满。
所以我决定停止使用AI。哪怕因此丢掉工作。
当你拿到一个AI写的PR草稿并不得不亲自修改时,才会真正意识到自己对代码的理解有多浅薄。你开始质疑是否需要这些改动,最终往往全部推翻重来。我感觉自己生疏了,像太久没亲自写代码。幸好偶尔还会在业余项目中敲点代码,所以虽有些吃力但还能应付。
我重新回归TDD,回到那些只修改5个文件的PR,回到简洁直白的两行式PR描述。我重新找回对工作的掌控感,能够自信地部署代码,为细致的代码审查做好准备——因为我清楚每个改动的作用,能为每一行代码辩护。我重新享受人类工程师的代码审查(不是AI审查,我仍然讨厌那种形式;更讨厌那些假装是自己审查、实则粘贴AI意见的同事),并从中学习。我开始主动询问架构决策,了解技术选型的缘由。本可以问AI,但我更愿意请教同事。
我找回了编程的乐趣,而且不想回头。我不想假装代码行数或PR数量是有效指标,尤其当AI可以随意堆砌内容来刷数据时。但我能说,我每天都在提交重要改动,PR不断被合并,最终实实在在地完成了工作。正因如此,我不担心被解雇。而且,我的大脑功能保持健全。
## 一点建议
对毒品说不。这既像是隐喻,又不完全是。首先要意识到自己对AI的依赖程度。这是一项你无法控制、而且让雇主(如果不是你自己的话)花费不菲的技术。你可能会说:“但老板期望我保持高绩效,现在效率下降怎么办?”我无法替你说话,但至少我自己没有遇到这种情况。我觉得自己并不比两个月前表现差。相反,我现在更清楚自己在做什么,更擅长应对突发问题(因为,嘿,搞砸的代码是我写的),而且随着我亲力亲为地深入代码库,我的开发能力也在持续提升。这才是你老板真正应该期待的。
而且当AI预算削减开始时(如果还没开始的话),你还能帮他们省点钱。
如果你像我一样是个开发者,正是你的开发经验让你获得了这份工作。如果入行已有些年头,你该明白:你职业生涯中解决过的问题难度,定义了你的价值。如果关掉大脑,满足于当AI的保姆,你不会变得更强。你的价值在下降——因为你能交付的东西、你作为工程师(而非AI牧羊人)的实际价值,会随着大脑变得自满、将控制权让渡给AI而不断衰减。
醒醒吧。勇敢点。重获控制。
相似文章
仅使用Agents编写代码的六个月
作者回顾了六个月完全使用AI agents编写代码的经历,探讨了从手动编码到代理辅助开发的转变,及其对生产力和工作流程的影响。
作为一名软件工程师,我大量使用AI,说实话,这感觉有点奇怪。
一位软件工程师反思了过度依赖Codex等AI工具进行编码的奇怪感觉,质疑这是否会让开发者能力退化,或者标志着软件工程的下一个阶段。
我不再用AI了
一位资深程序员解释了他为何停止使用像Claude Code这样的AI编程工具,并提到了环境、社会和心理健康方面的担忧。
关于AI编程及其不满
卡尔·纽波特反思了人们对Claude Code等AI编程工具的最初热忱,以及开发者因隐藏漏洞、质量问题和不持续的工作流而日益幻灭,认为目前将所有代码生产外包给AI并不可行。
AI正在让我变笨
作者反思了在写作和编程中依赖AI工具如何削弱了自己的能力,导致自我怀疑,并决定重新训练。