2025年12月6日 星期六

火爆的斯坦福“不寫一行代碼”計算機課,到底在教什麼?(Eric Hsu)

 //Eric Hsu

火爆的斯坦福“不寫一行代碼”計算機課,到底在教什麼?

快刀青衣
上周,斯坦福計算機系的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要求的能力比傳統編程課高。傳統課程只要會寫就行,這門課卻要求你不僅會寫,還得會審、會測、會判斷,這可比之前難多了。
不過,對於這種教育變革,國內學者的態度要冷靜得多。南京大學軟體學院副院長劉嘉老師,他也就斯坦福這門計算機課發了一條朋友圈。他認為,像斯坦福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時代是不是還需要讓孩子學編程。我的建議是,如果孩子喜歡,還是可以學的。因為一些青少年編程課,教的不是成年人的編程技能,而是面對問題的邏輯思維能力。不過家長也要留意,有些編程課只是讓孩子拖拖拽拽生成點兒互動小遊戲,但沒有任何思考環節,這種課程還不如讓感興趣的孩子自己在家玩《我的世界》這類需要動腦的遊戲。
相關連結:斯坦福CS146S課程

2025年12月4日 星期四

UC Berkeley’s introductory machine learning course gets optimized for the AI age 值得一讀

UC Berkeley’s introductory machine learning course gets optimized for the AI age 值得一讀

UC Berkeley’s introductory machine learning course gets optimized for the AI age 值得一讀


“In the end, we can never be fully up-to-date in a field that’s changing so rapidly, and I think that’s okay,” said Gonzalez. “Our goal at UC Berkeley isn’t just to prepare students for what’s now, but maybe more critically, we want to help students learn how to quickly adapt to challenging new concepts.”
~~UC Berkeley’s introductory machine learning course gets optimized for the AI age
By Tiffany Lohwater | November 12, 2025
https://cdss.berkeley.edu/news/uc-berkeleys-introductory-machine-learning-course-gets-optimized-ai-age



最新一期遠見前二篇與我們相關:
1. 同學要得

AIA國際事務所獎首位台灣得主!姚仁喜:好的建築作品,要碰觸最根本人性 萬年生https://www.gvm.com.tw/article/126157

2. 柏克萊大學徹底以AI 改變全大學課程.....十年來最大的新學院 Computing, Data Science......

 Hanching Chung

Explore Berkeley Computing, Data Science, and Society https://cdss.berkeley.edu/
College of Computing, Data Science, and Society | UC Berkeley
CDSS.BERKELEY.EDU
College of Computing, Data Science, and Society | UC Berkeley