大家有没有感觉有了 AI 编程能力没变菜,反而变强了

2025 年 4 月 23 日
 pluvet

一开始也有点担心 AI 会让程序员变笨,代码能力下降,但用了一段时间后,尤其是最近几个月,发现完全不是那么回事。感觉自己的代码能力,反而是不降反增了。

其实挺反直觉的。按理有人帮你写代码,动脑子的地方就少了,能力自然就退化了。但实际是想让 AI 写出 能用 的代码得先把需求描述得清清楚楚。你得精确地告诉它上下文是什么,输入输出是什么,不能有任何歧义,尤其是 3.5 的时代。就逼着你把问题想得更透彻,这种表达能力得到了很好锻炼。以前我容易有个思路就闷头就写,不知不觉现在习惯是先细化列点再写。

而且 AI 生成的代码,你敢直接用吗?反正我不敢。你总得去读去理解它的思路去检查有没有坑。有时候 AI 会用一些你没用过的库,或者一些比较刁钻的写法。这个过程中你就被迫去阅读大量的、不同风格的代码,尤其是写一些系统级的程序。有时候还不得不去看上游代码,修 AI 造的 bug ,看多了感觉阅读代码能力飞升。

另外 AI 的上下文能力是真的捉急。稍微复杂一点的项目是没法把代码全放进去的,更遑论有很多小众外部依赖的情况。比如我最近在搞的 mo 编译器 (moinfra/mo),这东西的编译流程复杂,而且没有用 LLVM ,想让 AI 帮我写个复杂点的 Pass 几乎不可能,因为它完全不知道上下文,只会当成基于 LLVM 写。没办法,只能自己硬着头皮去梳理,把接口、依赖关系梳理清楚,整一个专门的知识库给 AI ,才能让 AI 写点局部的辅助函数。换句话说我需要反复梳理相关的上下文,提取给 AI ,代码阅量++。不过有了 gemnini2.5 感觉这个又变了。

就是 AI 写的代码里有多少 bug 真的无花八门,写点前后端还行,如果是比较冷门的(比如写 ZK ) AI 就会乱编,这种情况它自己基本修复不了这些 bug ,在一个错误的逻辑里反复打转。最后得靠人去 debug ,你去调试 AI 写的代码,往往比调试自己写的代码更费劲,因为它的逻辑可能跟你习惯的完全不一样。这个过程,对你理解代码、定位问题的能力,绝对是高强度的训练。

最有意思是,有些以前没完全搞懂的原理,现在反而因为调试 AI 写的烂代码而搞懂了。就说我那个 mo 编译器里的 LSRA 分配。原理大致知道,但实现细节,特别是 spill code 怎么插,还有多个 interval 的处理一直有点模糊。我让 AI 帮我写了个基础框架,结果 bug 一堆,逻辑硬伤也不少,但大方向的原理是对的。我就对着这个半成品,一点点调,一点点改。在这个过程中,反复琢磨寄存器的分配策略、活跃区间、冲突解决、溢出代码的插入时机和位置……最后,硬是把所有分配细节给彻底搞明白了。这个过程,调试 AI 写的 bug ,反而不断强化了我对底层原理的理解。

现在感觉,写代码的心态也变了。以前很多时间都浪费在查 API 、写各种样板代码、纠结一些语法细节上。这些琐碎的事情,现在大部分可以丢给 AI 。感觉编程这件事情变得更有趣了一点。我能把更多精力放在更宏观的层面,比如算法设计、整体架构的权衡。看代码的速度也快了很多,以前可能要一行一行地看,现在一大段代码扫一眼,基本就能瞟出来它的实现思路和核心逻辑。相比起来,面试还要一个白框手搓代码,筛选的到底是什么人?背诵仙人?

我另一个个人项目,一个大模型客户端 ,几乎全是 AI 开发的,UI 审美比我好多了,大家可以看看自己的组能不能一天内设计出这个水平。这种模式下我基本上不写代码,纯读然后修细节,更专注于功能和架构。对我来说,结论就是这样:AI 没让我变菜,反而让我变强了。

说了这么多其实关键就是,以前是读代码占 6 分,写占 4 分,现在感觉是读占 9 分,写占 1 分。而读代码的重要性一直以来被很多人低估了,读代码真的特别提升理解能力。以前一半时间写初版,一半时间修 bug ,现在基本上除了 C/V 就是修 bug ,也是相当锻炼人。以前一个团队干的活,现在一个人就能搞。遇到别人的大项目也敢去看代码提 PR 了。感觉程序员正在朝更牛逼的工种进化,可能以后反而不会失业?但是分化可能会越来越明显。

13191 次点击
所在节点    程序员
89 条回复
adian
2025 年 4 月 23 日
我读代码能力是强了,但是很多东西会停留在知道是什么,但是要让我自己写写不出来的状态。所以我觉得 ai 作为辅助非常好,但是要是我本人纯粹不写,只修改 ai 提供的代码,我觉得还是不行的
ColinZeb
2025 年 4 月 23 日
@encro #35 copy 就很牵强了 lot 更夸张,这不是和 ai 一样胡说八道吗
MEIerer
2025 年 4 月 24 日
我的想法是,ai 就是特殊的外挂,用好了肯定是强的,但拆下来有没有那个水平就
looplj
2025 年 4 月 24 日
产出多了,不代表编程能力强了。
mumbler
2025 年 4 月 24 日
@LPJD #75 工业革命长期看都是增加就业率的,现在就业率比 100 年前高,技术进步会消灭很多岗位,但也会制造更多新岗位,新工作劳动强度更低,收入更高。比如萝卜快跑吧,出租车司机会失业,但可以入职后台安全员岗位,一个人监控 3 个车,大部分时间盯着屏幕,随时可以去厕所,按时吃饭,工作强度是不是下降了?因为生产力提高,成本降低,出租车需求会加大,原来我 10 公里才打车,现在 1 公里就打了,就需要更多出租车
LPJD
2025 年 4 月 24 日
@mumbler 入职后台安全员岗位的人和原来开出租车的不是同一批人。安全员需要电脑操作技能,基本上是文化水平高的大学生。开出租的大部分是年龄偏高的文化水平低的人群。也就是说无人驾驶的出租车,1 个大学生端掉了 3 个人饭碗。失业的出租车司机,是很难再转岗到后台安全员。因为他们普遍年龄偏大,学习能力不如刚毕业的大学生,同时高素质的待就业的大学生很多。最后失业的司机去哪里了?另外,新入职的后台安全员虽然工作轻松。但收入也会下降。假设一家三口,爸妈是开出租车,孩子入职了安全员岗位。无人驾驶导致爸妈失业了,那么家庭收入就减少了,然后就会考虑削减出行费用。最后钱转了一圈,慢慢流入少数人口袋里面。虽然无人驾驶削减了出行成本,但多数人的收入也变少了,会增加出行支出只是少数获利的人
mumbler
2025 年 4 月 24 日
@LPJD #86 只是举例,技术进步,需求会增加,社会整体就业率一定会增加。文化水平偏低,大模型时代根本就不是问题了,原本需要天赋的工作门槛都极低了,干嘛要大学生呢,是个有驾照的人就行了。如果在汇编语言时代,你连当程序员的资格都没有,因为天赋太差,是 IDE ,框架,cursor 才让你能干程序员的。因为生产力低下,很多忍一忍就过去了的需求没有被满足,提高以后市场就会更大,永远不要排斥技术进步,历史上没有哪次技术进步让世界变得不好的
mumbler
2025 年 4 月 24 日
@LPJD #86 现在大通缩,高失业的经济环境,是因为美联储加息,不是因为 AI 抢了人饭碗,你别搞错了,而且只是暂时的,不会永远这样
hstdt
2025 年 4 月 25 日
是的,给了更多有效思考的时间,很多没必要的细节让 AI 帮你考虑就好了,业务细节能从你定义的字段中生成

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1127404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX