30 天无 AI 编码实验:效率真的会崩溃吗
程序员断绝 AI 工具 30 天的真实经历,对比发现 AI 对编程效率和能力的深层影响。
程序员断绝 AI 工具 30 天的真实经历,对比发现 AI 对编程效率和能力的深层影响。
关于失去语法肌肉记忆的争论
一切始于一个让我害怕的数字。
有一周,我突然很好奇:我到底有多少代码是真正由自己写的?于是我做了统计。连续五天,记录每一行代码,以及它是谁写的——我,还是 AI。
那一周,我交付了 847 行代码,其中真正由我亲手写的只有 71 行。
剩下的 91.7% 都是 Cursor 生成的。我把代码复制粘贴过来,简单检查一下,然后就交付了。我告诉自己,我已经“审查”过这些代码。但说实话呢?我只是在快速扫一眼。我选择相信它。我只是在凭感觉写代码。
然后,我参加了一场面试。没有 AI,没有 Cursor,只有我,以及一个我以前解决过十几次的问题。
面对一个初级开发者 10 分钟就应该完成的问题,我足足僵住了 45 分钟。
就在那时,我决定做一个实验。
当你停止思考、开始写 prompt 时,Vibe Coding 就发生了。
你遇到一个问题,把它描述给 AI,拿到代码,再粘贴进去。代码可以运行——大多数时候如此——然后你继续处理下一件事。你从不追问它为什么能运行,从不考虑边界情况,也从不思考是否存在更好的实现方式。你只是交付代码,然后领取下一张工单。
老实说,这种感觉棒极了。你关闭工单的速度前所未有地快。你的经理以为你的能力已经上了一个台阶。你觉得自己成了一个 10x developer。
但实际发生的是:你没有在学习。你把自己的大脑外包了出去。而最糟糕的是——在这个过程中,它给你的感觉和取得进步一模一样。
以前,我看到一个复杂问题时,能够在脑海中把它拆分成一个个步骤。就是……很自然地完成分解。现在,我会把整个问题描述给 AI,让它来梳理结构。我已经不再练习这种问题分解能力,也能感觉到这件事正变得越来越困难。
以前,我对数组方法烂熟于心。.map、.filter、.reduce——毫不犹豫。现在,我会停顿,会怀疑自己。因为几个月来都不再需要亲自写它们,那种肌肉记忆正在消退。
当 AI 生成的代码出错时,我也不再从第一性原理出发调试,而是重新写一个 prompt。因为代码不是我写的,我并没有真正理解它,而重新提问比认真思考更快。这就是陷阱所在。
但最糟糕的是什么?是自信。我以前相信自己。现在,我甚至还没有独立思考一个问题 30 秒,就已经伸手去打开 Cursor 了。这不是效率,而是依赖。
今天,一些使用 AI 的开发者,可能无法通过 2019 年的一场基础初级开发者面试。
不是因为他们愚蠢,也不是因为他们不努力,而是因为他们躲在工具背后的时间太久,以至于基础能力已经在不知不觉中从根部腐烂。
这其中也包括我自己。
可怕的并不是这件事发生了。真正可怕的是,我根本没有注意到它正在发生。我忙着交付工单,沉浸在自己很高效的感觉里,无暇察觉。
30 天,不使用 AI 编写初稿。我可以用它来审查代码、解释问题或提出改进建议,但第一次尝试必须由我自己完成。
以下是实际发生的情况:
第 1 天:两个小时内,我有 11 次下意识地想打开 Cursor。每次都及时制止了自己。解决问题花费的时间是平时的 3 倍,但我理解自己写下的每一行代码。这种感觉很奇怪,却是一种美好的奇怪。
第 3 天:开始重新想起那些已经几个月没有用过的语法。依然很慢,依然很挫败。我去 Google 搜索那些过去熟记于心的知识。感觉很丢脸,但我还是继续做了。
第 7 天:某些东西发生了变化。当我无法立刻想到答案时,我不再感到恐慌。我开始愿意花更长时间和问题待在一起。那种久违的“让我好好想一想”的感觉,又隐约回来了。
第 14 天:我在完全没有碰 AI 的情况下,独立写完了一个完整功能。耗时比使用 Cursor 更长,但当队友问我它是如何运行的,我没有查看代码,只用了 30 秒就解释清楚了。这让我重新体会到一种已经很久没有感受过的东西。
第 30 天:我的速度比使用 AI 时更慢,处理工单的效率也下降了,但我的理解更深入了。当某个地方出错时,我真正知道应该去哪里排查,而不是只会重新写 prompt,然后寄希望于 AI。
30 天后,我重新开始使用 AI,但使用方式已经不同了。
每当我因为复制粘贴 AI 代码而产生一丝愧疚时,都会用这样的想法把它压下去:我的交付速度更快。我关闭了更多工单。这难道不才是真正重要的吗?
听着——没错,速度很重要,交付也很重要。交付能力是真实存在的价值。
但如果 AI 不在了,会发生什么?如果 API 宕机了呢?如果你需要调试代码库中某个 AI 无法访问的部分呢?如果你正在参加面试呢?如果一名初级开发者请你解释刚刚合并的代码呢?
今天借助 AI 交付的代码,明天就可能需要你在并不了解它的情况下进行调试。这不是速度,而是债务,并且它会不断累积。
Vibe Coding 给人的感觉非常高效,但它其实是在向未来的自己借用速度,而利息就是你的能力。
我重新开始使用 AI。我不会假装自己没有这么做,但规则已经改变了。
在真正亲自尝试解决问题之前,不使用 AI。即使我的尝试是错的,即使速度很慢,也必须先尝试。尝试本身才是重点——学习就发生在那里。
我交付的每一行 AI 生成的代码,都必须能够亲口解释清楚。如果解释不了,我就不会交付。规则很简单,但执行起来出乎意料地困难。
循环、条件判断、基础数组操作——我每次都亲手编写。不是因为 AI 无法更快地完成它们,而是因为我必须维持这种肌肉记忆,否则它就会消失。
每天结束时,我还会问自己一个问题:今天我真的学到了什么,还是仅仅生成了一些东西?
有些日子,答案很难看。但现在,我至少开始问这个问题了。这就是区别。
可怕的并不是 AI 正在让我们变得更差。
真正可怕的是,直到某一天我们真的需要表现出色时,才会意识到自己的能力已经退化到了什么程度。可能是一场面试,可能是一场无法使用 AI 的生产事故,也可能是在某个有人真正需要你的时刻——他们需要的是你这个开发者,而不是你的 prompt。
可到了那时,我们可能已经花费数年时间练习如何写 prompt,而不是如何思考。
使用 AI 吧。它确实是一个强大的工具,我也不会回到一个没有 AI 的世界。
但应该像使用计算器一样使用它——让它处理计算,而让你的大脑负责思考。不要用它取代思考本身。
因为总有一天,计算器可能不在你身边。到那时,你会希望自己仍然是一名开发者。
声明:我使用 AI 帮助梳理和组织了自己的想法,但这篇文章中的每一段经历、每一种感受和每一个词,都来自我本人。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。