## 689｜火爆的斯坦福“不写一行代码”计算机课，到底在教什么？

你好，我是快刀青衣。欢迎收听快刀广播站，每天带你看AI。

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2025120419/1894989107001767776/120419.png)

上周，斯坦福计算机系的CS146S这门课在我的X（原Twitter）里刷屏了。这里说一下，CS就是计算机科学的意思。这门斯坦福计算机系的课程全名叫《现代软件开发者》，授课老师米哈伊尔·埃里克（Mihail Eric）说过一句话：要在不写一行代码的情况下完成所有课程项目。

就是这话引爆了舆论。不少自媒体直接拿来就用，宣称以后程序员再也不用学代码了，这是编程的终结，AI已经让码农失业；也有网友更直接，说斯坦福这是在培养“提示词工程师”，以后连代码都不用看懂了。

看到这些短视频时，我的第一反应是：斯坦福计算机系真的会开一门这么“傻瓜”的课吗？带着这个疑问，我找到了课程的完整教学大纲，还看了一些深度分析。结果发现这些媒体都理解错了。这门课不仅不是“降维打击”，反而是“升维要求”。说实话，它对计算机基础能力的要求，比传统课程只高不低。

所谓的“不写代码”，其实是一个彻头彻尾的误导性说法，或者说是一种爽文写法。这种说法就像“躺在家里天天刷短视频，不用工作，天上突然掉下一个白富美，死心塌地带着巨额财富非要嫁给自己”一样，只能在脑海里想想，不能当真，更不能误人子弟。

咱们先搞清楚这门课到底在教什么。首先，CS146S这门课程，从课程编号就能看出来，是一门高年级课程。这里，我岔开分享一下斯坦福的课程编号规则，还挺有意思的，也方便你以后看到斯坦福的计算机课程时，马上知道它属于什么等级。

咱们开头说过，CS是计算机科学的意思。重点在146这个数字，在编号体系里，编号为1到99的课程，通常是基础课或通识课，面向包括非计算机专业在内的所有学生；而100多的基本是计算机本科生专业课程。最后的字母后缀S含义比较灵活，通常是课程主题或特别班的缩写。

所以，翻开教学大纲你就能发现，这门课的设计，不是在学校礼堂里搞一个那种AI编程的通识公开课，而是默认学生已经完成数据结构、操作系统、软件工程这些传统CS课程。也就是说，选这门课的学生本身就有扎实的编程基础。

课程大纲里的内容相当硬核，比如第二节课就要构建自定义的MCP服务器、编写终端自动化脚本、搭建AI测试套件。这些内容的技术深度，远超任何图形化的低代码工具。更关键的是，学生必须具备识别AI幻觉、发现逻辑漏洞、排查安全后门、优化性能问题的能力。换句话说，你得看得懂代码，还得看得出代码的问题。

那“不写代码”到底是什么意思？其实是代码的生成方式变了。

在这门课里，学生不需要一行一行手敲代码，但他们要做的事情一点都不简单：用自然语言向AI下达清晰指令，让AI生成代码，然后对AI生成的代码进行严格审查、测试和验证。需要注意的是，这里的产出物可不是拖拽式低代码平台生成的玩具，而是标准的、工业级的代码，Python、TypeScript、Rust这些语言一个不少，运行在真实的服务器和架构上。

这就带来一个有意思的矛盾：不写代码，不等于不需要懂代码。恰恰相反，这门课对学生的要求是升维的。传统编程课，你只要会写就行了，语法对了、逻辑通了、能跑起来就算过关。但在这门课程里，你不仅要懂代码，还要懂系统架构、数据流转、接口设计，要理解大模型的工作机制、智能体的架构逻辑。因为你要指挥AI完成复杂工程任务，如果你自己都不清楚系统应该长什么样，AI怎么可能帮你做出来？

值得一提的是，授课老师米哈伊尔·埃里克是斯坦福计算机系毕业的，之前在亚马逊Alexa担任AI科学家，还创立过AI代码工具公司。这样的背景说明，他比谁都清楚大模型的局限性和风险，开这门课也不是为了赶时髦。

所以，CS146S的核心不是“不写代码”，而是“编程方式的转变”。从手动编写代码，变成用自然语言编排系统、用测试验证质量、用逻辑推理发现问题。这种转变的本质，是从“码农”变成“架构师”的思维升级。

在我看来，这种转变背后，其实藏着一个更深层的变化：验证能力正在取代生成能力，成为程序员的核心壁垒。也就是说，“品味”正在决定程序员的护城河。

有一些场景，可能在外行人看来特别不可思议，比如一群程序员会围着一台电脑屏幕指指点点，由衷感叹“太美了”。你以为他们在看什么乱七八糟的东西，挤进去一看，才发现他们在看黑色窗口上的绿色代码，还用“美”“帅”这类明显形容人的词来夸奖代码。这就是优秀程序员的特质，和优秀的作者、优秀的设计师一样，他们不仅会做，更重要的是对自己领域的作品有审美能力。

过去，写代码是技术活。你得记住语法规则，知道各种库怎么调用，一行一行把逻辑翻译成计算机能理解的语言。这个过程慢，还容易出错，但好处是你对每一行代码都心里有数。现在AI把代码生成这件事变成了容易事，几秒钟就能吐出几百行代码。那么问题来了，这些代码靠谱吗？

说实话，AI写代码确实快，一天写上万行都不在话下，但它也确实爱犯错。有时候是逻辑漏洞，有时候是安全后门，有时候是性能低下。更要命的是，这些错误往往藏得很深，表面上代码能跑，实际上埋了一堆雷。这就要求程序员必须具备一种新能力：在不亲自编写代码的情况下，通过测试、逻辑推理和对系统的理解，来判断AI生成的代码到底有没有问题。

这种能力，可比写代码难多了。写代码是确定性过程，你知道输入是什么、输出应该是什么，中间逻辑一步一步推导就行。但验证代码是开放性问题，你得想到各种边界条件，考虑各种异常情况，从系统角度去审视这段代码会不会引发连锁反应。这需要更强的抽象思维能力，也需要更深的系统理解。

所以现代程序员的职责，不仅是指挥AI，更重要的是担任AI的“看门人”。在CS146S的课程设计里，有个很重要的环节是教学生如何识别“AI垃圾代码”——那些不加节制地堆积起来，导致代码库膨胀、逻辑混乱、难以维护的垃圾代码。

从这个角度看，也能说明CS146S要求的能力比传统编程课高。传统课程只要会写就行，这门课却要求你不仅会写，还得会审、会测、会判断，这可比之前难多了。

不过，对于这种教育变革，国内学者的态度要冷静得多。南京大学软件学院副院长刘嘉老师，也是在咱们学习圈里给同学们讲AI编程的老师，他也就斯坦福这门计算机课发了一条朋友圈。他认为，像斯坦福CS146S这类“AI-native软件开发课”，大概率会成为未来计算机科学体系的一块重要拼图，甚至可能成为非专业学生的必修课，但有个前提是，它不能替代传统的基础课程。

刘嘉老师的逻辑很清楚。学生要验证代码、判断代码质量，靠的是什么？是对底层知识的扎实掌握。你得懂数据结构，才能判断AI生成的算法效率高不高；你得懂操作系统，才能发现AI写的多线程代码有没有死锁风险；你得懂网络协议，才能看出AI设计的接口会不会有安全漏洞。所以仅仅会用AI工具，远远不够。

他还特意强调了一点，从米哈伊尔·埃里克的教学大纲来看，CS146S是一门高年级课程，默认学生已经完成了数据结构、系统、软件工程这些传统课程。也就是说，这门课的定位是“在扎实基础之上，学习如何与AI协作”，而不是“用AI替代基础学习”，这个顺序不能颠倒。

更有意思的是，刘嘉老师还提出了一个他正在纠结的问题：AI编程课程到底应该面向低年级学生，还是高年级学生？他认为，AI编程未来应该成为大学的基础类课程，就像高等数学和英语一样。因为在未来，即使是非计算机专业的学生，也需要具备低门槛的AI编程能力——比如写脚本、处理数据、编写自动化报表。这些能力可能会像使用Word和Excel一样，成为最基本的职场技能。

基于这个判断，他提出了三层课程设计思路。第一层是通识课，叫《AI与计算表达》，目标是让所有学生看懂一点代码，能用AI编写程序解决身边的小问题，并且敢于怀疑AI写的代码。第二层是理工和经管专业的基础课，叫《AI辅助编程与分析》，目标是让需要用代码的学生会用AI写工具和实验，有一定的修改能力，培养迭代提示词的能力和习惯，还有代码验证能力。第三层是实践训练营，叫《AI4Code Bootcamp》，目标是让有意愿深入的学生能为一个真实场景设计人机协作方案，并做出可用的原型。

这个三层设计思路，其实揭示了一个事实：AI编程不是让编程变简单了，而是让编程的门槛和天花板同时发生了变化。门槛降低了，普通人也能用AI完成一些基础编程任务；但天花板也提高了，要成为真正的高手，你需要掌握的知识反而更多、更复杂。

对咱们同学来说，这件事意味着什么？

我觉得最重要的一点是：别被“不写代码”这种说法误导了。AI确实在改变编程方式，但它改变的不是“编程变简单了”，而是“编程能力的定义变了”。现在，会编程意味着你会设计系统、会验证质量、会指挥AI，这要求其实更高。比如我们这样的互联网公司产研团队，以前程序员的界限很清楚，有前端工程师、架构师、后端工程师、测试工程师，但是在未来，这个界限会非常模糊。每个人都应该能在AI帮助下，完成一个方向的闭环工作，不会再出现自己写完代码、其他工程师来测试的情况。

当然，过去一段时间，也有不少家长问我，AI时代是不是还需要让孩子学编程。我的建议是，如果孩子喜欢，还是可以学的。因为一些青少年编程课，教的不是成年人的编程技能，而是面对问题的逻辑思维能力。不过家长也要留意，有些编程课只是让孩子拖拖拽拽生成点儿互动小游戏，但没有任何思考环节，这种课程还不如让感兴趣的孩子自己在家玩《我的世界》这类需要动脑的游戏。

好，今天的广播就到这里。如果你觉得有帮助，欢迎分享转发给你的朋友。明天咱们接着聊AI。

> 相关链接：斯坦福CS146S课程
> https://bulletin.stanford.edu/courses/2274401

![图片](https://piccdn2.umiwi.com/uploader/image/ddarticle/2025120419/1894989125254313872/120419.png)
