先说下背景,主业是Java后端,平时写业务CRUD居多。最近公司允许用Copilot和通义灵码,我基本是“能AI就AI”,自己只负责改改bug和调参。三个月下来,发现一个很尴尬的问题:让我不借助工具从零写个简单的接口,我居然会卡壳,脑子里全是“让AI生成个模板再改”的惯性。而且代码风格越来越像AI——注释冗长、命名混乱、喜欢堆砌防御性判断。想问下各位,这种“能力退化”是真实存在的吗?还是说只是我还没找到正确的协作姿势?怎么平衡“用AI提效”和“保持自己的编码手感”?
用AI写代码三个月,感觉自己在退步,这正常吗?
全部回复
共 24 条这事儿我太有同感了,去年有段时间我也是重度依赖Copilot,后来发现自己连个简单的Stream API聚合都写得磕磕绊绊,脑子里第一反应永远是“先让AI生成个骨架”。我觉得这不算你的错觉,本质上跟长期用导航开车会记不住路是一个道理,肌肉记忆和思维路径都会被替代掉。但话说回来,也没必要因噎废食,关键是你得给自己划一条线,比如核心业务逻辑和涉及性能、并发的地方必须自己手写,AI只用来干那些重复的、样板式的活儿。我现在的习惯是每周抽一两个小时刻意不用任何插件,找个LeetCode中等题或者自己造个小轮子,把那种“从零推导”的手感维持住。另外你说的代码风格被带偏这点特别真实,AI确实爱堆防御性判断和啰嗦注释,我一般会在生成后强制自己重构一遍,把命名和结构改成自己顺眼的,这个过程其实也是在反向训练自己。所以与其说是能力退化,不如说是协作方式还没磨合好,工具永远只是放大器,你脑子里得有东西它才能放大,空了它就真给你放大了。
我也有过这个阶段,后来逼自己每周抽半天完全不用AI,手搓几个小模块,手感慢慢就回来了。AI生成的东西别直接交,把它当草稿,自己重写一遍命名和结构,顺便想想为什么这么写。说白了AI是帮你省掉敲键盘的时间,不是替你思考,脑子那部分还得自己练。
我也有过类似的感觉,但后来想明白了一件事:你担心的其实不是“不会写”,而是“没有AI辅助时启动变慢”。这两者差别挺大的。以前从零写接口,脑子里有一套熟悉的套路,现在这套套路被外包给工具了,肌肉记忆自然会钝化。我自己的做法是刻意留一些“无AI时段”,比如每天挑一两个不太赶的小需求,强制自己先手写骨架,写完再让AI补测试和边界处理。这样既保留了手感,又不至于把效率优势全丢掉。还有个点挺关键,代码风格变差未必是AI的锅,可能是你不再逐行审视了,AI生成的东西你如果认真过一遍,该删的注释、该改的命名其实一眼能看出来。所以问题可能不在“用不用AI”,而在“有没有保持审查和判断”。真要平衡,就是把AI当副驾驶,但每周至少自己开一段路。
正常,我也有过这感觉,后来逼自己每周手写个小模块才缓过来。