這兩天 Hacker News 把一件四月的舊事又翻上了首頁,我點進去看完,覺得值得寫一篇。

事情是這樣的。今年三月底,Y Combinator 的執行長 Garry Tan 在 X 上發文炫耀:他跟他的 AI coding agent 一天部署 3 萬 7 千行程式碼,橫跨五個專案,並且保持著 72 天連續 shipping 的紀錄。原文寫的是「Absolutely insane week for agentic engineering」——瘋狂的一週,agentic 工程的勝利。

兩天後,一位叫 Gregorein 的波蘭資深工程師(資工碩士、13 年業界經驗)做了一件很樸素的事:他打開 Tan 那個 AI 打造的部落格網站,看了看瀏覽器實際載下來的東西。

然後他發了一篇貼文,標題大意是:「這就是 78,400 行 AI slop 程式碼在 production 上的真實長相。」

引擎蓋下面有什麼

Gregorein 的審查只碰前端——就是任何人打開瀏覽器開發者工具都看得到的部分,連後端都還沒摸。他把檔案抓下來,開了一個 Claude session 交叉確認自己的觀察。發現的東西一項比一項精彩。

先看效能。訪客打開網站首頁,瀏覽器要發 169 個請求、載 6.42 MB 的資產。作為對照,同樣掛在 Y Combinator 旗下、走極簡風的 Hacker News 首頁,是 7 個請求、12 KB。一邊是 YC 執行長用 AI 狂產的門面,一邊是同個體系裡的二十年老站,體積差了五百多倍。

再來有點意思了:網站把 28 個測試檔直接打包送進每個訪客的瀏覽器。測試檔是開發者拿來驗證自己程式的鷹架,跟使用者一點關係都沒有,這裡整整 300 KB 的鷹架跟著網站一起上了 production。

然後是「這也能?」等級的。首頁載入了 78 個 JavaScript controller——AI 圖片生成、語音擷取、影片工具,全都是首頁根本沒有的功能,瀏覽器還是得「以防萬一」全部下載。網站 logo 是一隻熊的插圖,這隻熊以八種不同格式存在於網站上,其中一個是 0 byte 的空檔案,就這樣安安穩穩地待在 production。

清單還沒完:接近 2 MB 的未壓縮 PNG(瀏覽器明明有跟伺服器說它接受現代格式,光兩張圖加起來就多耗了約 4 MB,換成新格式只要 300 KB)、重複的頁面內容、空的 CSS 檔、在唯讀頁面上載入完整的富文字編輯器,以及一段刻意繞過使用者廣告攔截器的分析程式碼——程式碼註解裡還自己承認了這件事。

回到那個 3 萬 7 千行。Gregorein 從 Tan 自己貼的截圖回推,每個 commit 大約增加 2,000 行、刪掉 450 行。單一 commit 改動到這個量級,沒有任何人類有辦法認真 review。他給 Fast Company 的回應裡有一句話我認為講到了核心,大意是:現在 AI 生成程式碼的速度已經快過任何人類 review 的速度,而 Garry 這類人給出的答案似乎是「那就別 review 了」。

為什麼我看這則新聞特別有感

因為我就是那個在 review 的人。

我用 Claude Code 做過一個數百頁舊系統的前端遷移,commit 數字漂亮到不行,然後迎來一輪又一輪的業主退回潮,整件事我寫過一篇完整的紀錄。那半年教會我一件事:AI 產出的程式碼,語法正確、流程跑通、看起來完成,跟「真的做對了」是兩回事。它幫我寫過一個存檔功能,畫面回應正常、完全不報錯,唯獨欄位名跟資料庫對不上,資料安安靜靜地什麼都沒存。

所以我看到那 28 個測試檔上 production、那個 0 byte 的 logo,一點都不意外。這些不是 AI「壞掉」的產物,而是 AI 正常運作、但沒有人回頭看的產物。AI 不會覺得 169 個請求有什麼問題——網站能開、功能能動,在它的判斷框架裡這就是完成。169 跟 7 的差距,只有人類在乎。

有人可能會說:那是個人部落格,又不是金融系統,臃腫就臃腫吧。這話對了一半。問題不在那個網站本身,在於發文的人是 YC 的執行長——他掌握著全世界最有影響力的新創加速器,他公開展示的「一天 3 萬 7 千行」正在定義一整個世代創業者對「工程產能」的想像。當標竿人物把「產量」當成值得炫耀的指標,而引擎蓋下面是這副光景,這個示範本身就是問題。

我們這行其實早就知道行數是個爛指標。比爾蓋茲那句老話:用程式碼行數衡量開發進度,就像用重量衡量飛機造得好不好。只是以前沒人能一天寫 3 萬 7 千行,這個爛指標壞不到哪去;現在 AI 讓行數變得無限便宜,爛指標終於有機會展現它全部的破壞力。

更麻煩的是,review 的人正在消失

這則新聞如果單獨看,就是一場愉快的公開處刑。如果問題只是 Garry Tan 的部落格,那頂多是個案。麻煩的是差不多同個時間,我還讀到另一篇東西,兩件事擺在一起,味道就變了。

npm 的共同創辦人 Laurie Voss 整理了 Stanford Digital Economy Lab 基於 ADP 薪資資料的研究:從 2022 年 10 月到 2026 年,**22 到 25 歲的開發者就業掉了 19%,同期 41 到 49 歲的反而漲了 14%**。初級軟體職位下降 28%,資工應屆畢業生失業率 6.1%。整體開發者就業其實還成長了 4.4%——工作沒有消失,是入口被封死了。

把兩件事接起來看:一邊是 AI 把程式碼產量推到沒有人類來得及 review 的量級,另一邊是產業正在停止雇用最底層的工程師。而 Veracode 的研究顯示,45% 的 AI 生成程式碼過不了基本的 OWASP 安全測試——前端肥大頂多讓網站慢,安全漏洞漏過去是會出事的。

當然,就業數據跟 reviewer 斷層之間不是嚴格的因果,就業縮減有利率、景氣一堆因素攪在裡面。但方向是清楚的:

需要被審查的程式碼量在暴增,有能力審查的人的養成管道卻在斷裂。今天有能力掀 Garry Tan 引擎蓋的,是一個有 13 年經驗的資深工程師。這種判斷力是從哪來的?是從他當年當菜鳥、寫爛程式碼、被前輩電、慢慢磨出來的。傳統的學徒制階梯——junior 進來、寫爛 code、被 review、變強、開始 review 別人——這個循環現在從第一階就斷了。

十年後誰來掀引擎蓋?我沒有答案。

行數不值錢了,那什麼值錢

我不是要說 AI 寫程式是錯的。我自己每天用,產出裡 AI 寫的比例遠高於我手打的,這點我不打算假裝謙虛。

但這則新聞給我的提醒很具體:當寫程式碼的邊際成本趨近於零,「寫了多少」這個數字就徹底失去意義。真要挑指標,我會看退回率、bundle 大小、安全掃描結果、上線後炸了幾次——這些 AI 灌不了水的東西。我現在回頭看自己那半年的遷移專案,真正有價值的工作是我退回、砍掉、要求重寫的那些判斷,而不是 AI 產出的那幾萬行——包含一整個功能重疊的模組被我整包刪掉重來。刪掉它的那一週,週報上的進度數字是倒退的。但那是那個月我做過最正確的決定。

Garry Tan 的 72 天連續 shipping,跟我當年「一天 33 個 commit」的那種亢奮,是同一種東西。差別只是我的業主會退件,而他的部落格不會。沒有驗收壓力的 AI 產出,就是這次被掀出來的樣子。

下次再看到有人炫耀 AI 幫他寫了幾萬行程式碼,我大概只會想問一句:好,那誰看過?