大家有没有感觉有了 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 了。感觉程序员正在朝更牛逼的工种进化,可能以后反而不会失业?但是分化可能会越来越明显。

13178 次点击
所在节点    程序员
89 条回复
yuweiloopy
2025 年 4 月 23 日
最近用了 gemini 确实感觉不错
tsja
2025 年 4 月 23 日
同感,而且对业务逻辑能够更掌握
encro
2025 年 4 月 23 日
我没有感觉,因为我以前就是先伪代码,思维导图,画图先构思,再填代码的。所以到 AI 我是平滑过渡。
zzhirong
2025 年 4 月 23 日
我的话, 会有个启动困难症, AI 刚好解决了这个问题, 先让它写出一点东西来(无论是否可以运行)再修改, 远比自己从零开始来得简单点。
jonsmith
2025 年 4 月 23 日
每天的编程像是在写作文,指挥 AI 编程很爽
Felldeadbird
2025 年 4 月 23 日
肯定是变强的。每天在 AI 加持下,以前真的是闭门造车,现在结合 AI 是站在巨人之上,有一个全球代码库的指导建议。
aikilan
2025 年 4 月 23 日
我很喜欢 github 对于他们的 AI 命名,copilot 中的 pilot 有领航员的意思,这个 pilot 我感觉更像是对 AI 时代下程序员的称呼。
很早以前的空客和波音的飞机就已经能近乎完美实现“自动驾驶”,从起飞到降落的过程,真正需要机长或者说飞行员参与的部分占比极低,而飞行员这个职业并没有因为“自动驾驶”而消失,我们知道程序是依赖于外部环境的反馈,是会犯错误的,比如空速表依赖于空速管,在我有限的记忆中,存在因为空速管结冰而导致飞机失事的案例。其中最著名的应该是法航的一架空客飞机因为空速管结冰而失事,这个案例中,由于副机师的经验不足,判断失误最终导致了灾难,而当时经验丰富的机长正在休息中,错失了最佳弥补的机会。
而 AI 就像是飞机的“自动驾驶“,程序员就是最终纠错的机长,我们必须依赖于自己丰富的经验与判断力来纠正或调整 AI 的结果,让”飞机“最终安全且平稳的落地。
iMiata
2025 年 4 月 23 日
同感+1 ,所以一直对论坛里那些说 AI 会取代程序员的论调都不敢苟同,也丝毫没有这种焦虑
macwenbo
2025 年 4 月 23 日
我感觉 ai 变菜了,也可能是和 ai 一起进步,眼界更高了?
3kkkk
2025 年 4 月 23 日
前提是你已经掌握了这个语言有一定代码量积累。其实有了 AI 以后做的类似监工的角色。他给出你答案你得能判断对错。
EthanZC
2025 年 4 月 23 日
我是让 AI 帮我重构一些我的重复代码,我感觉 AI 写出来的代码,比我的代码更好,也让我涨了姿势
hailongchang
2025 年 4 月 23 日
感觉 AI 就像是个外包程序员,能力是有的,但你得多沟通,全流程细节把控, 整个流程中你要知道他在做什么,做得怎么样,做得好不好,然后不停得向他澄清,细化,纠正。 这中间可能你没有意识到的问题也会暴露出来,反过来推进你对问题的理解。

不过 AI 有一点挺让人头疼, 就是他动不动就把代码推倒重来了,其实有时候是想让他在原来的基础上改的
chiaoyuja
2025 年 4 月 23 日
其实也可能是因为,你需要给 ai 描述,也锻炼了你的总结表述能力,ai 生成代码需要 review 一遍,也能学习思想/写法吸收为自己的进而提高了
zxjxzj9
2025 年 4 月 23 日
说来说去人不是为了写代码而写代码的,写代码肯定是要解决什么问题的,ai 直接帮你做好了最难的开头部分,对解决问题的帮助真的是非常大。有 ai 的整理学习新技术也快了,改动简单正反馈来得快,容易进入正循环。
encro
2025 年 4 月 23 日
@aikilan

copilot === copy + lot


意思是程序员 C+V 。。。
jrtzxh020
2025 年 4 月 23 日
是的,现在写代码基本没啥压力,包括其他语言,也能在 AI 加持下实现需求。所以说,真香~
aikilan
2025 年 4 月 23 日
@encro 哈哈哈哈,这个意思啊
Hilyson
2025 年 4 月 23 日
@yuweiloopy Gemini 需要注册个国外 Google 账号吗?
pluvet
2025 年 4 月 23 日
@aikilan 很有道理,以前相当于自己又要做图纸又要亲自打灰,现在可以统领各种能力的 AI 一起 build ,浪费在一些 trivial 代码的时间大大降低了
iflint
2025 年 4 月 23 日
手动挡和自动挡

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

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

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

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

© 2021 V2EX