ARTICLE · 1047671
AI能写代码,为什么依然要学编程?斯坦福计算机教授:未来真正的竞争力,早已不是敲代码
“AI会让代码越来越便宜,但会让判断越来越值钱。”
“真正值得学习的编程,不是记住更多语法,而是把模糊问题拆成可验证的系统。”
“未来最有竞争力的人,不是写出最多代码的人,而是能判断什么值得建造、结果是否可信,并愿意为后果负责的人。”
当Claude Code、Cursor 等工具能在几分钟内搭出网页、接入接口、跑通一个看似完整的 Demo,“未来,人们还要不要学编程”成了一个越来越常见的问题。
很多人的直觉是:既然机器已经会写代码,学习代码似乎正在失去回报。
斯坦福大学计算机科学教授Chris Piech 给出了一个反直觉的答案:
AI会写代码,恰恰是人更应该学习编程的理由。
这不是说我们要每个人都去背语法、做算法题,更不是回到“不会写代码就不能做产品”的旧时代。
真正值得重新学习的,是编程背后那套把模糊问题变成可验证系统的能力。
这也是理解这一轮AI 变化的一把真正的钥匙。
因为,AI 并没有让“创造软件”这件事变得不重要,它只是让写出第一版软件变得前所未有地便宜。
于是,我们的价值锚点开始发生变化,从“能不能写出来”,加速转向“该不该做、为谁做、做到什么程度,以及做出来后,出了问题谁能看懂”。
代码变便宜以后,你的判断力反而变得更贵了
过去,一个想法能否变成产品,常常卡在开发资源上。
创始人要找工程师,工程师要排期,产品经理要在需求和技术成本之间反复取舍。
现在,两个人甚至一个人,就能借助AI 在很短时间内做出可点击、可演示的版本,代码生产的门槛确实降了。
但“能跑起来”与“值得上线”之间,隔着一整套过去被开发周期遮住的问题。
用户真正的问题是什么?
最小可用功能应当砍掉什么、保留什么?
数据是否可靠?
异常发生在何处?
一项功能带来了使用频率,还是只带来了演示时的惊叹?
这些问题不会因为AI 的输出更快而自动消失。
恰好相反,生成速度越快,错误的方向也会被更快放大。
这正是当下许多AI 产品的共同处境:Demo 往往令人惊艳,进入真实工作流后却很快遇到权限、数据、边界条件、协作流程和责任归属的摩擦。
模型可以迅速给出一个看起来合理的方案,但它并不天然知道组织里哪个环节最脆弱,也不知道用户口中的“方便”究竟对应少点一次按钮,还是少承担一次风险。
因此,AI降低的不是创造的价值,而是把一个想法翻译成第一版代码的成本。
成本下降以后,稀缺资源不是提示词数量,而是判断质量。
谁更能识别真实需求,谁更能定义边界,谁更能验证结果,谁就更能把AI 的速度转化为有效产出。
学编程的核心,不是记住语法
Piech将学习编程拆成两部分:一部分是语法,即怎样向计算机下达指令。
另一部分是问题解决,即怎样把一个大问题拆成计算机能够执行的小问题。
前一部分会越来越多地由AI 接管,后一部分却不会因此贬值,反而会成为人与 AI 协作时最重要的底座。
这一区分很重要。
很多人把学编程理解为记住循环、函数、框架和命令行,但这些知识只是入口。
编程真正训练的,是一种连续的思考过程:先定义目标,再识别限制。
先决定数据从哪里来,再设计处理规则。
先提出假设,再用运行结果推翻或修正它。
它要求人把自然语言中的“我想做一个更好用的工具”,压缩成明确的输入、输出、条件和例外。
这种训练在AI 时代尤其珍贵,因为它提供了一种即时、可证伪的反馈。
一个程序如果逻辑错了,它不会因为表达自信就变对,它会报错、输出异常,或在真实用户那里失效。
人可以据此定位问题、修改假设、再次验证。
相比很多反馈周期漫长的工作,编程让人更密集地练习“发现自己错了,然后把它改对”。
所以,今天学习编程,不必把目标设成手写出所有代码。
更现实的目标是:即使代码由AI 生成,你仍能说清它解决了什么问题、依赖什么前提、在哪些情况下会失败,以及失败后从哪里开始排查。
会提问不是终点;能判断答案是否可信,才是主导权。
真正危险的,不是AI 出错,而是人失去发现错误的能力
AI最容易制造的错觉,是让人把我拿到了答案误认为我已经掌握了答案。
尤其在代码场景里,工具可以一次性生成项目结构、调用库、补齐样式,甚至自动修复报错。
使用者很快就会获得一种完成感,却未必经历过理解问题、拆解问题和验证问题的过程。
风险往往不会在第一次演示时出现,而会在数周之后显现。功能叠加后,为什么某段逻辑难以修改?
一个看似无关的改动,为什么影响了支付、权限或数据统计?
用户遇到的偶发错误,为何始终无法复现?
如果使用者不了解系统的结构,就很难判断AI 给出的修复是否只是把问题从一个地方搬到另一个地方。
Piech对此提出了一个极简但有效的自检灵魂问题,也是我常常自问的一个问题:
你是否在与AI 一起成长,还是把成长本身外包给了 AI?
他在访谈中提到,Code in Place多年来尝试过给学生不同程度的 AI 支持。单纯把聊天机器人丢给初学者,并不必然让他们更愿意学下去,而当学生获得一次与真人教师交流的机会时,课程完成概率会上升约10 个百分点。
关键不只是回答是否正确,而是人是否被看见、被激发,并愿意继续承担思考的成本。
这条发现不该被简单理解为“AI不适合教育”。
更准确的结论是:学习不是信息传输,还是动机、挑战和反馈的组织。
AI很擅长把答案送到面前,却尚不能保证一个人愿意为理解答案多走一步。
技术越擅长替我们完成动作,人越要有意识地保留那些能形成能力的动作。
面对AI,编程学习应从“替代焦虑”转向“能力设计”
这意味着,学习路径也应该调整。
第一,不再把独立从零写完当作唯一标准,而要把AI 当作一位速度极快、但需要被审阅的协作者。
让它生成代码后,不妨追问:这里有哪些关键决策?为什么选这个数据结构?如果用户量增大十倍,哪里可能先出问题?
要求它解释,不是为了得到更长的回答,而是为了暴露自己尚未理解的部分。
第二,尽早做真实而具体的小项目。
与其反复完成没有使用场景的练习,不如从身边的一个流程开始:为团队整理重复信息,为客户梳理高频问题,或把一份混乱的数据变成可操作的视图。
项目不必大,但必须有真实使用者。
只有当别人真的依赖它,需求、异常与迭代才会出现,编程也才从“让程序运行”变成“让事情变好”。
第三,要刻意保留一段不让AI 替代的调试时间。
当它修好一个错误,先弄清错误产生的路径。当它重构一段代码,先比较重构前后的取舍。
这个过程看似慢,却是在构建未来最关键的能力:
不是记住某一行写法,而是形成系统的心理模型。没有模型的人只能不断向工具索要结果,有模型的人才能利用工具扩大判断范围。
更重要的是,年轻的工程师不必等到资深之后,才去思考产品和用户。
代码生产效率提高后,初级岗位的价值不再只由执行量定义。
更有潜力的人,会更早地进入一个高阶问题:什么值得被建造?Piech把它概括为连接“计算机能做什么”与“人真正需要什么”的能力。
这不是传统意义上的软技能,而是技术商业化的核心环节。
AI时代不缺代码,缺的是对现实负责的人
每一轮技术变革都会让人急于判断哪些技能会消失。
但历史反复证明,职业的变化通常比技术演示慢,也比技术演示复杂。
自动驾驶在很早以前就展示过惊人的能力,但现实世界中的长尾场景、责任问题和基础设施协同,远比一段演示路线难以解决。
AI编程也是如此:它已经改变了生产方式,却不会自动替代对业务、用户和后果的理解。
因此,“要不要学编程”的问题,也许问得太窄。
更值得问的是:当机器可以迅速执行时,我是否具备定义问题、校验结果、承担后果的能力?
编程仍是训练这种能力的好方法,因为它把抽象思考与真实反馈紧密连接在一起。
未来最有竞争力的人,未必是背得出最多API、写得出最多代码的人。
他们更可能是那些能把现实中的人类问题,清楚地翻译给技术系统,又能在系统给出答案时,辨认它是否真的解决了问题的人。
AI会让代码越来越不稀缺,但会让这种判断越来越值钱。
别把AI 当作免于学习的理由。把它当作一次重新定义学习目标的机会:少一点对语法的迷信,多一点对问题、结构和人的理解。
在这个系列,我们探索一个核心问题:研究未来个人如何在AI时代,构建属于自己的第二增长曲线和商业系统闭环。如果你对此感兴趣,欢迎点赞分享留言,持续关注⬇️