用了半年AI编程助手,我的代码量少了一半
上周整理 git 提交记录,发现一件挺反常的事。
过去半年我提交的代码行数,比前半年少了将近一半。
不是因为我变懒了。恰恰相反,我做的事比以前多。
差别只有一个。这半年里,Cursor、Copilot、Claude Code 这几个 AI 编程助手,我几乎天天在用。
我一开始也没想到会变成这样。

1
入坑那一个月,我以为捡到个外挂
最早用的是Copilot。去年年底公司配了企业版。
第一次用的时候,我写了个函数注释,它直接把整个函数补完了。逻辑没错,变量命名也像我自己的风格。
我当时心想,这不就是白嫖一个实习生吗。
后来才发现,实习生比它靠谱。因为实习生会告诉你哪里他没把握,Copilot 不会。
Copilot 的特点是快,但短视。它擅长补全你正在写的那一行、那一段,但它不关心你整个文件在干嘛。你写到一处复杂分支,它给你补一个看起来合理但跑不通的实现,你不细看就按下Tab,坑就埋下了。
这一点我后来体会很深。
真正让我上瘾的是 Cursor。
Cursor 不一样。它能读你整个项目。你问它「这个函数被哪里调用了」,它给你列出来。你让它「把这段逻辑抽成一个工具函数」,它会把所有调用点一起改掉。
第一次用 Cursor 重构一个 800 行的烂文件,我看着它一段段改完,跑起来没问题。
那种感觉怎么说呢。
像第一次用上智能手机,回不去了。
2
它救活了我一个烂尾项目
说个具体的事。
去年我写了个内部小工具,处理日志的。一开始挺简单,后来需求越加越多,代码越改越乱,最后变成一个600 多行的大函数,谁都不敢动。
包括我自己。
放了大半年,今年 3 月想捡起来。打开一看,自己写的代码自己都看不懂了。
我把整个文件丢给 Claude Code,问它,这个项目还能救吗,给我一个重构方案。
它花了大概二十秒读完,给了我一个分三步走的方案。第一步拆函数,第二步抽配置,第三步加测试。每一步都说清楚了为什么这么拆。
我照着做,一下午重构完了。跑测试,全过。
那天晚上我有点恍惚。
这个项目我放着半年没敢动,一个下午被一个 AI 拆明白了。
我不是不会重构。我是怕动错了牵一发动全身。AI 不怕,它能在三十秒内把所有调用关系梳理一遍,这件事人做不到。
但这里有个细节我得说清楚。
AI 给的方案,不是它自己凭空想出来的最优解。它给的是,我描述了需求之后,它从见过的大量代码里拼出来的一个合理解。
也就是说,我得先知道我要什么。
我要是不知道,它给的方案就是另一种正确但无用的废话。
AI 不是替你做决定,是替你把决定执行得更快。决定的成本一点没降。
3
它也埋过坑,我 debug 了两个小时
说完好的,说个翻车的。
有一次我让它写一个并发处理的小模块,限流加重试。
它写得很快,代码也好看。注释齐整,错误处理也覆盖了。我扫一眼觉得没问题,直接合并了。
第二天线上报警。
重试逻辑里藏着一个隐蔽的递归。某些边界条件下,它会一直重试自己,直到把内存吃满。
我 debug 了两个小时才找到。
不是 AI 笨。是它写的代码看起来太对了,对到你不会去怀疑。
人写的代码你会有戒心,因为你知道自己会犯错。AI 写的代码你会产生一种「它应该算过了」的错觉。
这是最危险的地方。
后来我给自己定了条规矩。所有 AI 生成的并发、IO、状态机相关代码,必须人肉过一遍逻辑,不能只看能不能跑。
能跑,和是对的,是两件事。
AI 把写代码的门槛降了一半,但把审代码的门槛抬了一倍。
4
三个工具,三种活法
这半年我主要用三个,Copilot、Cursor、Claude Code。
它们不是一个东西。
Copilot 是补全。你写,它接。快,但范围窄。适合写那种你已经知道怎么写、只是懒得敲的代码。
Cursor 是协作。你跟它对话,它改你的文件。它能看懂项目结构,适合重构、改bug、做大改动。
Claude Code 是外包。你把任务整个丢给它,它在终端里自己跑,自己改文件,自己跑测试。适合那种你懒得动手、又能描述清楚的任务。

我现在的用法是混着用。
写新代码用Copilot,它补全得最顺。改老代码用Cursor,它对上下文的理解最准。那种「这事儿我不想管,你看着办」的,丢给 Claude Code。
没有一个能通吃。
能通吃的,目前都不够好。
5
改变了什么,没改变什么
用了半年,我一直在想一个问题。
AI 到底改变了编程的什么。
先说它没改变的。
它没改变「想清楚要做什么」。需求怎么拆,架构怎么选,哪些地方要留扩展,这些它帮不上忙。它能帮你写得快,但它不知道你该写什么。
它也没改变「对结果负责」。代码出了问题,老板不会因为「这是 AI 写的」就放过你。最后签字的是人,背锅的也是人。
那它改变了什么?
它改变了「写」的成本。
以前写一个功能,从空文件到能跑,可能要一天。现在可能两个小时。
省下来的时间,我没拿来写更多代码。我拿来想问题了。
这是我半年最大的体会。
代码量少了一半,不是因为我效率低。是因为我不再需要靠「写」来验证想法,我可以靠「想」来筛掉一半不该写的代码。
以前是写出来才知道不对。现在是想清楚就大概知道不对了。
AI 没让我变成更好的程序员。它让我变成了一个更懒得写废话的程序员。
6
写在最后
前几天有个朋友问我,要不要让孩子学编程。
我说学,但别只学写代码。
写代码这件事,正在变得像打字一样便宜。
真正贵的,永远是那个决定该写什么、不该写什么的脑子。
我看着自己少了一半的代码量,没觉得失落。
反而觉得,终于把时间花在值得的地方了。
夜雨聆风