乐于分享
好东西不私藏

用了半年AI编程助手,我的代码量少了一半

用了半年AI编程助手,我的代码量少了一半

用了半年AI编程助手,我的代码量少了一半

上周整理 git 提交记录,发现一件挺反常的事。

过去半年我提交的代码行数,比前半年少了将近一半。

不是因为我变懒了。恰恰相反,我做的事比以前多。

差别只有一个。这半年里,CursorCopilotClaude 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

三个工具,三种活法

这半年我主要用三个,CopilotCursorClaude Code

它们不是一个东西。

Copilot 是补全。你写,它接。快,但范围窄。适合写那种你已经知道怎么写、只是懒得敲的代码。

Cursor 是协作。你跟它对话,它改你的文件。它能看懂项目结构,适合重构、改bug、做大改动。

Claude Code 是外包。你把任务整个丢给它,它在终端里自己跑,自己改文件,自己跑测试。适合那种你懒得动手、又能描述清楚的任务。

我现在的用法是混着用。

写新代码用Copilot,它补全得最顺。改老代码用Cursor,它对上下文的理解最准。那种「这事儿我不想管,你看着办」的,丢给 Claude Code

没有一个能通吃。

能通吃的,目前都不够好。

5

改变了什么,没改变什么

用了半年,我一直在想一个问题。

AI 到底改变了编程的什么。

先说它没改变的。

它没改变「想清楚要做什么」。需求怎么拆,架构怎么选,哪些地方要留扩展,这些它帮不上忙。它能帮你写得快,但它不知道你该写什么。

它也没改变「对结果负责」。代码出了问题,老板不会因为「这是 AI 写的」就放过你。最后签字的是人,背锅的也是人。

那它改变了什么?

它改变了「写」的成本。

以前写一个功能,从空文件到能跑,可能要一天。现在可能两个小时。

省下来的时间,我没拿来写更多代码。我拿来想问题了。

这是我半年最大的体会。

代码量少了一半,不是因为我效率低。是因为我不再需要靠「写」来验证想法,我可以靠「想」来筛掉一半不该写的代码。

以前是写出来才知道不对。现在是想清楚就大概知道不对了。

AI 没让我变成更好的程序员。它让我变成了一个更懒得写废话的程序员。

6

写在最后

前几天有个朋友问我,要不要让孩子学编程。

我说学,但别只学写代码。

写代码这件事,正在变得像打字一样便宜。

真正贵的,永远是那个决定该写什么、不该写什么的脑子。

我看着自己少了一半的代码量,没觉得失落。

反而觉得,终于把时间花在值得的地方了。