这段时间,AI Coding发展太快了!不是小修小补那种变,是整套判断都在往回收。前一阵子,对 AI 整体还是偏乐观,甚至可以说有点过于乐观。我当时的判断是,AI 会把程序员行业进一步拉开差距。强的人会更强,普通人也会因为 AI 的帮助,第一次有机会做出一些以前根本做不出来的功能。一个新人,哪怕基础没那么扎实,也可能靠 AI 很快把页面搭出来,把接口串起来,把一个像样的 Demo 跑起来。我那时候最大的担心,其实不是“AI 会不会取代程序员”,而是另一件事:
资深工程师是怎么来的?
因为能审 AI 代码、能判断关键风险、能在复杂场景里兜底的人,不会凭空长出来。他们本来是靠一套很笨、很慢、但很有效的古法路径练出来的。改 Bug。补测试。写小接口。跟线上问题。看日志。背锅。再一点点知道,为什么同样是“能跑”的代码,放到真实项目里,结果会差这么多。可 AI 一来,大家最先不愿意做的,恰恰就是这套古法。于是我那时候的担忧是,这个行业会不会出现断层:AI 越来越会写,真正能审 AI 代码的人却越来越少。但最近,我的想法又往前走了一步。因为我越来越明显地发现,AI 在真实工程里的帮助,远没有最开始宣传得那么大。它确实能写不少代码。但它距离“靠谱地交付工程结果”,中间还隔着非常长的一段路。
最先被 AI 拿走的,不是工程师,而是新人的练级场
我现在越来越觉得,AI 对程序员行业最先造成的冲击,不是“资深工程师失业”,也不是“程序员被一键替代”。它最先拿走的,其实是初级程序员过去最重要的练级场。以前一个新人进团队,最开始做的工作通常都不高级。改一些边边角角的 Bug。补一两个测试。写几个不复杂的 CRUD 接口。改点样式。顺着别人留下来的逻辑,补一段校验。这些活,说白了,难度没那么高,产出也未必亮眼。但它们非常重要。因为新人不是靠“听懂了原理”变成高手的。新人是靠不断碰这些低风险、可回滚、能复盘的小问题,才慢慢知道:代码为什么这么分层。接口为什么这么设计。测试为什么要补在这里。线上为什么会炸。需求为什么文档写得是一回事,落地时又是另一回事。过去,这些活是公司培养新人的土壤。今天,这些活正在被 AI 快速侵蚀。根据 Stack Overflow 2024 年开发者调查,已经有82%的开发者在用 AI 写代码,56.7%在用 AI 调试排错,甚至连测试代码也已经进入高频使用和高意愿接管的范围。另一方面,开发者又普遍认为 AI 会越来越深地嵌入写代码、文档和测试这些环节。这意味着什么?意味着公司会更自然地问一句:既然这些活 AI 已经能干七八成,我为什么还要花时间让一个新人慢慢练?这才是很多新人真正危险的地方。不是岗位一下没了。而是原本允许你在低风险任务里慢慢长大的那部分空间,开始缩小了。
问题是,AI 远没有强到可以让工程世界放心交给它
这恰恰是现在最拧巴的地方。一边,AI 把很多低阶代码活先抢走了。另一边,它又远没有成熟到足以让工程团队彻底放心。这不是我看了几篇报告得出的判断,而是我最近反复在项目里踩出来的感受。哪怕是我自己以前百分之百“古法开发”出来的老项目,哪怕需求已经足够明确,哪怕我已经把步骤拆得非常细,AI 仍然会在一些我第一时间都没有想到的地方,给出很糟糕的结果。最典型的一类,就是它会给你一个“功能上没错、结果也能跑”的方案。但工程上非常差。比如同样是做遍历,同样能得到一样的结果,它偏偏给你一个更吃内存的实现。如果项目跑在普通服务器上,你也许还能忍。可如果项目本来就是嵌入式环境,资源本身就紧,内存就是红线,那这种“表面正确”的实现,放进真实环境里就是隐患。更麻烦的是,这种问题在测试环境里往往还不一定马上复现。你本地跑通了。测试也通过了。可一到生产环境,在某个更复杂的输入、更长时间的运行、更苛刻的资源限制下,它突然给你来个大的。这种坑,才是工程世界真正要命的地方。因为工程从来不是“只要结果对就行”。工程要看资源、上下文、边界、约束、历史包袱、线上代价。这些东西,恰恰是今天很多 AI 最容易忽略的部分。Stack Overflow 的 2024 调查也很说明问题。虽然开发者对 AI 工具的使用率已经很高,但真正信任 AI 输出准确性的只有43%左右;而在专业开发者里,接近45%的人认为 AI 在处理复杂任务上表现差或很差。更现实的是,团队在使用 AI 时最大的两类挑战,不是“不会用”,而是不信任输出以及AI 缺乏代码库上下文。这和我最近的体感,几乎一模一样。不是大家不会写 Prompt。而是很多工程问题,本来就不是一句 Prompt 能讲清楚的。
这一点,我现在的看法比以前更坚定。如果一个人的能力主要建立在:背标准题型记模板答案见过这题所以会做书上怎么说就怎么套那 AI 时代,这种优势一定会被削弱。因为 AI 最擅长的,就是调取已有模式、组合已有套路、给出一个看起来很像“标准解”的结果。你靠标准答案吃饭,它迟早会吃得比你更快。但如果一个人真正的能力是:能拆问题能识别约束能分辨上下文差异能在信息不完整时做判断能从线上异常一路追到系统设计能发现“虽然能跑,但这样写迟早会出事”那这种能力在 AI 时代不仅不会贬值,反而会更重要。因为当 AI 越来越会写“像样的代码”,真正稀缺的就不再是“写出来”,而是“判断这玩意到底能不能进生产”。Anthropic 2025 年关于软件开发场景的研究里提到,像 Claude Code 这类 coding agent 在编程任务里已经明显更偏“自动化”,而且这种自动化首先冲击的,往往是更容易模块化、更容易标准化、尤其是偏前端和偏简单应用搭建的工作。可它自己也承认,他们研究的是“开发者把任务委托给 AI 的方式”,并不能直接证明最终产出代码真的更好、更稳、更适合复杂生产环境。这句话很关键。因为它恰恰说明,会生成,不等于会交付。
以后公司还愿不愿意培养初级程序员?
这是很多新人最该担心的问题。我觉得答案不会是简单的“愿意”或者“不愿意”。更现实的答案是:公司会越来越不愿意培养“只能做低阶重复活”的初级程序员,但仍然会需要那些能迅速进入真实问题的人。说得更直白一点。以后最危险的新人,不是经验少的人。而是那种除了执行明确指令之外,没有别的增量价值的人。因为这类人过去还能靠改简单 Bug、补一点样板代码慢慢熬。但现在,这些位置很容易先被 AI 吃掉。公司一旦发现:让一个熟手带着 AI 干,可能比招两个只会接低级任务的新人更省事,它就会更谨慎地开初级岗位。于是,行业不会没有新人。但新人的门槛,一定会悄悄变。从“你会不会写一些基础代码”,变成“你有没有潜力快速理解工程现实,并和 AI 一起把事情做对”。
所以 AI 时代的新人,最该补什么?
如果非要让我排个优先级,我现在的答案很明确:不是只补代码基本功。也不是只补 AI 协作能力。而是三个东西都要有,但顺序必须分清楚。
第一层,代码基本功依然是地基
数据结构、控制流、内存和性能意识、并发基础、调试能力、测试意识,这些东西一点也没有过时。相反,因为 AI 会生成大段代码,你越没有基本功,越不知道它哪里在胡来。你可以不会每道题都秒解。但你至少要能看懂它给你的实现,知道复杂度大概在哪,知道资源风险大概在哪,知道哪类代码最好别轻易信。
第二层,业务理解和工程上下文,比以前更重要
AI 最大的问题不是不会写语法。而是它不真的活在你的系统里。它不知道你们的历史包袱,不知道这个接口为什么不能随便改,不知道这块代码为什么明明丑但就是不能动,不知道这次事故背后是谁被打过脸。所以新人越早学会从“写代码的人”变成“理解业务和系统的人”,价值越大。以后能拉开差距的,不是谁更会背 API。而是谁更快理解:这段代码到底服务什么业务,它在整个链路里承担什么角色,改错了会炸到哪里。
第三层,AI 协作能力会成为放大器,但它不是替代品
我完全不认为今天的新人应该抗拒 AI。恰恰相反,越早学会和 AI 协作,越有优势。但前提是,你得把它当放大器,不是当脑子。会问、会拆、会验证、会复盘、会让 AI 帮你快速探索多个方案,再自己判断取舍,这才是真正有价值的 AI 协作能力。如果只是“把问题丢给 AI,然后复制粘贴”,那不叫协作,那叫外包给幻觉。
最后,真正决定一个人能不能熬成高手的,还是学习能力和独立思考
说到底,我现在比以前更确定一件事:AI 可能会拿走很多低阶编码工作。也可能会把过去一些粗暴的考核方式掀翻。但它真正替代不了的,依然是一个人面对真实问题时的判断力。能不能在陌生环境里继续学。能不能在没有标准答案的时候继续想。能不能不迷信书本,也不迷信 AI。能不能在一堆“看起来都差不多”的方案里,找到那个真正适合当前约束的做法。这才是程序员从新人熬成高手最核心的东西。以前,新人是靠低阶任务慢慢练出来的。今天,这块练级场正在被 AI 拿走一部分。这确实是行业的新问题。但它不意味着新人没有路了。它只意味着,过去那条最慢、最笨、但默认存在的成长路径,已经不再那么稳了。所以以后真正有机会熬出来的人,很可能不是最会刷题的人,也不是最会写 Prompt 的人。而是那个:有基本功、懂业务、会验证、能思考、还能持续学习的人。说白了,AI 时代最危险的,不是新人工具用得慢。而是新人把“会调 AI”误以为“会做工程”。这两者之间,差的不是一点点。