这几天,AI 编程圈里同时发生了两件事。
第一件事,听起来很刺激。
Claude Code 的创造者 Boris Cherny 在一次访谈里说,自己 2026 年已经不怎么亲手写代码了。他现在更多是在手机上指挥一批 AI agent 干活:让它们写代码、修问题、处理代码合并、检查测试结果。换句话说,一个顶尖工程师的日常,正在从“自己敲代码”,变成“管理一群 AI 写代码”。
第二件事,听起来就冷静得多。
一篇叫 ProgramBench 的论文做了一个测试:不让 AI 只是补一小段代码,也不让它只修一个 bug,而是给它一个已经存在的软件和说明文档,让它从零开始重新做出一个功能一致的软件。结果很扎眼:测试了 9 个模型,没有一个模型真正完整做出来。
如果只看第一件事,很容易得出一个结论:编程快被 AI 解决了。
如果只看第二件事,又很容易得出另一个结论:AI 写代码也不过如此。
这两个结论都太快了。
我觉得真正值得看见的真相是:代码生成正在被解决,软件工程还没有。
会写代码,不等于会做软件
很多人把“写代码”和“做软件”混在一起。
这就像把“会砌砖”和“会盖房子”混在一起。
一个人砌砖很快,当然很有用。过去盖房子,砌砖慢,人工贵,进度容易卡住。现在突然来了一个速度极快的工人,你说这是不是巨大变化?当然是。
但房子能不能住,靠的不只是砌砖速度。
地基怎么打,承重墙在哪里,水电怎么走,消防怎么做,住进去十年以后会不会漏水,这些才决定房子是不是一栋真正可靠的房子。
AI 写代码也是这样。
让 AI 帮你写一个函数,补一段逻辑,修一个报错,它现在已经很强了。很多程序员今天的工作方式,确实已经被改变了。以前要花半小时查文档、写样板代码、调语法,现在几分钟就能完成。
但一个真正的软件,不是一堆代码片段拼起来就行。
很多边界情况,AI 可能比人想得还细。比如奇怪输入、异常分支、各种报错处理,只要你提醒到位,AI 经常能补得很快。
真正难的地方在判断:哪些边界最重要,系统结构该怎么留余地,以后需求变了怎么演化,出了问题应该从哪里定位,最后谁来承担这个系统可靠运行的责任。
这些判断,才是软件工程。
所以,当有人说“编程被解决了”,我们要先问一句:解决的是哪一层?
如果说的是“把清楚的需求变成代码”,这件事确实正在被 AI 快速解决。
如果说的是“把复杂问题做成长期可靠的软件系统”,现在还远远没有。
AI 最容易让人误判的一点
AI 编程最容易让人误判,因为它的第一眼效果太好了。
你给它一句话,它马上吐出一段代码。你再说报错了,它又马上改。界面能跑起来,结果也看着差不多。
这会给人一种错觉:软件开发好像没有那么难。
但真正做过工程的人都知道,很多问题不是第一天暴露的。
今天能跑,不代表明天好改。
一个功能能跑,不代表十个功能放在一起还能稳。
一个人在电脑上跑通,不代表换一个环境、换一组数据、换一个用户习惯还能对。
很多初学者写程序,常见问题是“跑出来了,但不知道为什么能跑”。更麻烦的是,一旦出错,他不知道该看哪里,也不知道是数据错了、逻辑错了,还是自己一开始就把问题理解错了。
AI 会把这个问题放大。
因为 AI 可以让一个人更快地得到“看起来能跑”的东西,也会让人更晚才发现自己其实没理解。
这才是我最担心的地方。
工具变强之后,人最容易偷懒的地方,其实是思考。
真正的门槛换地方了
过去学编程,最先卡住人的地方很具体。
环境装不上,语法记不住,括号少一个,变量名写错,报错信息看不懂。很多孩子刚开始学,就被这些细节消耗掉了兴趣。
AI 的出现,会把这些门槛大幅降低。
以后一个孩子想做一个小工具、小游戏、小网站,可能不需要从第一行代码开始硬敲。他可以先说清楚自己想做什么,让 AI 帮他搭出第一版。
这件事本身是好事。
我不认为应该把 AI 挡在学习之外。相反,未来的孩子如果完全不会用 AI,反而会吃亏。
但问题在于,旧门槛降低以后,新门槛会出现。
新门槛不在语法上,而在理解上。
你能不能把一个模糊想法说清楚?
你能不能把一个大问题拆成几个小问题?
你能不能判断 AI 给你的方案是不是绕远了?
你能不能设计几个测试,专门去找它可能犯错的地方?
你能不能在代码越来越多的时候,还看得懂这个系统的结构?
这些问题,比“会不会写某一行代码”更重要。
AI 降低了写代码的门槛,但提高了理解问题的要求。
这就是门槛移动。
编程教育不能只盯着代码量
这件事对孩子学编程有很直接的启发。
过去有些编程教育,很容易走向两个极端。
一个极端是只教语法。今天学循环,明天学数组,后天学函数。孩子会写一些题,但不一定知道这些东西到底解决什么问题。
另一个极端是只追项目效果。做一个小游戏,做一个网页,做一个看起来很酷的作品。孩子很兴奋,但作品背后的结构、逻辑、边界条件,他可能并没有真正理解。
AI 出现以后,这两个极端都会变得更明显。
如果只是语法,AI 很快就能补。
如果只是效果,AI 很快就能堆。
真正值得教的,是中间那层东西:孩子怎么把问题想清楚,怎么把结构搭起来,怎么验证结果,怎么知道自己真的懂了。
比如让孩子写一个排序程序,不要只问代码对不对,还要问:为什么要这样比较?数据特别多会怎样?如果有重复数据会怎样?如果输入是空的会怎样?
比如让孩子做一个小项目,不要只看界面好不好看,还要问:数据从哪里来?错误输入怎么办?以后想加功能,应该改哪里?
比如让孩子用 AI,不要只让它“帮我写代码”,而是让它先帮我拆任务,列出风险,给出测试样例,然后孩子自己判断哪一版更合理。
这样用 AI,孩子会从被动接受答案,转向主动指挥 AI。
这才是未来真正有价值的能力。
代码会便宜,判断会变贵
我不想把这个问题说得很玄。
一句话就够了:代码会越来越便宜,判断会越来越贵。
以后生成一段代码,可能就像今天生成一段文字一样普通。很多原来需要专业程序员才能做的小工具、小系统,会被更多行业里真正懂问题的人做出来。
但也正因为代码更容易生成,世界上会出现更多“看起来能用”的东西。
这时候,谁能判断一个东西是不是真的可靠,谁能判断一个方案是不是可维护,谁能判断一个系统以后会不会出大问题,谁就更有价值。
所以,Claude Code 的进展提醒我们:不要低估 AI 对编程的改变。
ProgramBench 的结果提醒我们:不要高估 AI 对工程的替代。
这两件事放在一起,真正的结论不是“编程没用了”,也不是“AI 不行”。
真正的结论是:写代码这件事正在被重新定价,软件工程这件事反而更重要了。
对孩子来说,未来值得学的不是“比 AI 更快地敲代码”。
那条路很窄。
未来值得学的是,怎么理解问题,怎么设计系统,怎么验证结果,怎么用工具放大自己的判断。
这才是 AI 时代的编程教育,应该抓住的真相。
夜雨聆风