
文 |洛神谷语
编辑 |洛神谷语
打开电脑写代码,目前谁还不用个AI助手?Copilot、Cursor、CodeLlama,市面上能叫上名的工具一抓一大把。
上周跟个做后端的朋友吃饭,他说目前写接口基本靠AI“填空”,自己就改改参数。
但转头另一个做安全的老哥就骂骂咧咧,说上个月排查的漏洞,三分之二是AI生成的“垃圾代码”惹的祸。

这事儿我越想越有意思,AI编程到底是帮开发者减负,还是偷偷挖了个大坑?
效率的“幻觉”,看着快,实则未必
目前打开VS Code,不用Copilot都觉得手生。
前阵子帮朋友看个项目,他指着屏幕说“这段逻辑是AI写的,我也不知道为啥这么写,但跑起来没问题”。
当时我就惊了,这代码要是出了bug,上哪儿找问题去?
有个叫METR的机构上个月刚出了报告,说找了50个资深开发者测试,他们自己觉得用AI写代码快了两成,结果一统计实际时间,反而慢了将近五分之一。

问了个参与测试的老哥,他说“本来以为复制粘贴AI的代码省时间,后来发现逻辑不对,改起来比自己写还费劲,光理解AI的思路就花了不少功夫”。
GitClear那个平台专门统计代码“结实程度”,发现用AI写的代码,刚开始看着挺耐用,过仨月维护起来就费劲,比纯手写的代码问题多不少。
国外有个叫Mike的开发者更绝,做了个六周期测试,找两组人写同样的项目,一组用AI一组不用,结果用AI那组平均速度慢了两成多。
他自己说“看着AI哗哗输出代码挺爽,实际上边写边改,比自己从头写还累”。
以为快就完事了?后面埋的雷才叫人睡不着觉。

Stack Overflow今年的调查挺有意思,65%的开发者每周都用AI写代码,但说“完全信任AI代码”的人,比去年少了快一半。
毕竟谁也不想自己的项目,最后变成AI代码的“垃圾桶”。
行业的“隐忧”,代码欠账与人才断层
AI写的代码,十有八九的问题都藏得特别深,专业说法叫“代码异味”,说白了就是看着没问题,真出了岔子你都不知道从哪儿下手改。
Sonar那个代码检测工具大家都知道吧?他们工程师跟我说,目前AI生成的代码,表面看没报错,但里面藏着的“坏味道”特别多。

列如冗余逻辑、隐性依赖,这些问题初期看不出来,等系统跑起来,维护成本能翻好几倍。
AI还有个毛病,看局部代码还行,真要放到整个项目里,常常犯“健忘症”。
上次有个做电商系统的团队,AI写的订单模块没思考库存锁定,结果并发一上来直接超卖,亏了不少钱。
每个公司都有自己的编码规矩,列如有的要求变量名必须用全拼,有的喜爱简洁缩写。
AI哪懂这些?它就按自己的套路来,结果代码风格乱七八糟,团队协作的时候光统一格式就得花半天。
简单的活儿,列如写个单元测试、生成个CRUD接口,AI的确 快,谁用谁知道。

但要是涉及到系统架构设计、安全加密这些核心模块,让AI写就是给自己挖坑。
有个做金融系统的老哥说,有次让AI写支付流程,差点把加密算法搞错,幸亏上线前审查出来了。
目前他们团队有个不成文的规矩,核心代码必须人工写,AI顶多打打杂。
代码欠账这东西,就像滚雪球。
今年用AI赶项目省了俩月,明年维护可能得多花半年。
Jessica是个安全专家,她跟我说,那些AI生成的“黑箱代码”,时间越长越容易被黑客盯上,由于开发者自己都忘了当初咋写的,漏洞根本堵不过来。

前阵子Anthropic发了个报告,说只要往模型训练数据里塞250份恶意文档,AI就可能在生成代码时偷偷加后门。
想想都后怕,你写的代码,说不定早就被人动了手脚。
目前招聘网站上,“提示工程师”“AI协作架构师”这些新岗位越来越多。
以前程序员比谁代码写得好,目前可能得比谁更会“指挥”AI写代码,还能保证不出岔子。
斯坦福去年有个调研挺扎心,2022到2025年,刚毕业的程序员找工作的人少了快两成。
问了个大厂HR,他说目前招应届生,写个冒泡排序都得AI提示,基础太差根本不敢要。

Luciano是个老程序员,干了十五年,他说目前带徒弟,发现年轻人离开AI连个for循环都写不利索。
“不是他们笨,是习惯了AI给答案,自己懒得动脑子,时间长了,编程的‘肌肉记忆’都没了。”
有个叫Alex的架构师提了个新说法,叫“用完就扔的代码”。
意思是AI生成的组件就别想着长期维护了,用完一个版本就换新的,靠API把这些组件连起来。
这思路挺野,但说不定后来真成主流。
说到底,AI编程这东西,既不是救苦救难的菩萨,也不是洪水猛兽。
用得好能省不少事,用不好就是给自己挖坑。

目前最缺的不是更牛的AI工具,而是怎么跟AI好好合作的规矩,列如哪些活儿该交给AI,哪些必须人工把关。
后来要是AI成了写代码的主力,那程序员的价值在哪儿?可能就不再是“写代码”,而是“懂业务、控风险、搭框架”,这些AI暂时还学不会的东西。
至于开头那个问题,AI编程是技术红利还是行业陷阱?更像是一面镜子,照出我们对技术的依赖与浮躁。
工具本身没错,关键看怎么用。

毕竟代码是死的,人是活的,要是连人都放弃了思考,那才真的没救了。




