AI真正價值不是把活幹得更快,而是去做以前想都不敢想的事
現有生產力指標只會統計代碼行數和故障率,卻量不出團隊借AI啃下了一件以前覺得不值得、做不到的更難任務,這才是Titus Winters認為AI價值被低估的根源。
原視頻在 YouTube 上放不出來,用音頻聽:
核心論點 · 點時間戳可跳到原聲
測試強制令源於一次發布癱瘓
2006、2007年前後,Google Search因持續的迴歸問題,發布節奏從想要的月度掉到季度一次。當時架構還沒有拆分,改Gmail都可能牽連到Search,整個系統被捆在一起。發布工程師們聯合劃下紅線:沒有測試就不允許合併,不管提出需求的VP多重要、功能多緊急,一律回滾。Titus認為,這條紅線之後,恐懼第一次被明確當成了不可接受的工程理由,而不是靠自覺。
— Titus2.5億行代碼,10人團隊換地基
在開源Abseil之前,Google內部自研的C++代碼當時約有2.5億行,每月有近萬名工程師在改動它。Titus和另外10到12個人組成的小組,負責清理這套所有產品都依賴的底層基礎設施——緩存、容器、字符串處理、命令行參數解析這類東西。他們把這項工作形容成在不停工、不封路的前提下給帝國大廈換地基,還在地下室裡意外挖出了核廢料。
— Titus重構靠編譯器解析,不靠手改
團隊沒有一條條手動改調用點,而是藉助Clang/LLVM把代碼解析成抽象語法樹,精確識別某個函數在某個上下文裡被調用的模式,再自動生成修改,這是MapReduce式的大規模自動化重構。連代碼格式都成了攔路虎——為了讓自動生成的改動格式正確,Titus推動做出了後來被廣泛使用的Clang-format。整個流程是讓新舊API先共存、按目錄分批替換、確認沒人再用舊接口後才刪除舊代碼,這個循環重複了幾百次。
— TitusAI該造規則,別自己動手重寫
對於大規模代碼改造,Titus不建議每次都靠AI直接做推理式重寫——成本高、也不確定。更好的模式是讓AI去生成一份像OpenRewrite那樣的聲明式重寫配置,把要改的模式和改法固化成一個確定性工具,再批量跑這個工具,這樣更便宜、更準、也更可審計。他提到Kelsey Hightower的說法:如果整套架構永遠要靠持續推理來運轉,大概率有更便宜、更可靠的做法存在。
— Titus心理安全比任何技術指標更準
Titus說,一份只有15道題的團隊心理安全測評,就能預測這個團隊能否達成目標裡大約30%的方差,這比他見過的任何其他信號都更有預測力。他的回應很直接:如果你認為軟件工程只是機器和代碼、和情緒無關,那就去找一個比這更強的預測指標——你找不到。這不是一次性的博弈,而是反覆博弈,敢於承認自己不懂才是團隊持續變強的前提。
— TitusAI的價值,現有指標測不出來
Titus把技術影響分成四類:產品成功、算力效率、工程產能,以及改變遊戲規則本身。他舉例說,現在一兩週就能寫出一個JPEG解析器,這句話放三年前說出來會顯得瘋狂,但生產力指標只會統計產出了多少零件,量不出你開始做一件以前想都沒想過的「鍍金豪華零件」。主持人補了一個真實案例:某公司工程師用AI照著現成測試集,重新實現了一個本來要花5到10人團隊做數年、每年還要分走5%到15%營收買授權的第三方組件,供應商反而為了不讓它開源倒貼錢買斷,原本準備做的裁員直接被取消。
— TitusCS課程二十多年沒怎麼變過
Titus曾是ACM/IEEE本科CS課程指導委員會裡唯一的在職工程師。他直言現在的課程體系基本是圍繞2000年左右、為了能寫出90年代風格的數據庫或操作系統而設計的,之後只是不斷往裡加內容、稀釋舊內容的深度。早在AI出現之前他就認為這套東西該被燒掉重來:少教手寫鏈表這類脫離實際性能考量的技巧,多練系統思維、規格說明和測試驗證能力。
— Titus該打分的是過程,不是代碼
面對學生幾乎能用AI完成所有編程作業的現實,Titus認為堵不如疏:乾脆默認學生在用AI,把評分對象從交上來的代碼換成過程本身——你寫了什麼樣的prompt,你準備了哪些測試去驗證AI生成的東西真的符合要求。他認為這套邏輯不止適用於CS,其他學科也一樣,一篇新的《麥田裡的守望者》讀後感早就不需要再寫了,真正該被評估的是學生有沒有經歷掙扎和學習。
— Titus原話 · 已逐字校驗
you will not merge this change if there is not tests, period. We do not care what VP says anything. We do not care how important this feature is. You will not do that. We will roll that back.
這次改動如果沒有測試,一律不準合併,一個字都不含糊。我們不管VP怎麼說,不管這個功能多重要,你就是不能合併,我們會把它回滾。
Titus14:27
if you are held back from making changes to a thing out of fear, you have to go in and fix that. Like fear is not an acceptable basis for engineering.
如果你因為恐懼而不敢去改動一個東西,那你就必須去把它修好。恐懼不該是工程決策可以接受的理由。
Titus15:28
our job is the logical equivalent of Google has a new technology for the skyscraper foundations. We're replacing the foundation under the Empire State Building. We're not allowed to close the building or block traffic. And we discovered nuclear waste in the basement.
我們的工作相當於,Google發明了一種新技術,可以在不關閉大樓、不封路的情況下給帝國大廈換地基,而且還在地下室裡發現了核廢料。
Titus22:48
Clang format exists because I wished for it.
Clang-format之所以存在,就是因為我當時太需要它了。
Titus26:54
Or maybe Likert scale, but like a 15 question assessment for the team and predict 30% of whether or not you will hit whatever your goals are. That's insanity. That is more powerful than any other signal.
或者用李克特量表,針對團隊做一份15道題的測評,就能預測出這個團隊能不能達成目標裡大約30%的方差。這簡直離譜,它比我見過的任何其他信號都更有預測力。
Titus52:58
a lot of the value of AI is not in doing the same thing faster. It's doing a harder, more valuable thing that you wouldn't have even thought about.
AI的很大一部分價值,不在於把同一件事做得更快,而在於去做一件更難、更有價值、你以前根本沒想過要做的事。
Titus1:09:27
most of the CS curriculum hasn't substantially changed Since like 2000, maybe earlier.
坦白說,CS課程體系從2000年左右到現在基本沒有實質性變化,甚至更早就定型了。
Titus1:12:33
stop grading just the outcome. Focus on the process, right?
別再只給結果打分了,把重點放到過程上去。
Titus1:29:29
數字與實體
| Google自研C++代碼規模(Abseil重構時期) | 約2.5億行(不含外部依賴) | 22:48 |
| Abseil核心重構團隊規模 | 10-12人全職 | 21:43 |
| 心理安全15題測評對團隊達成目標的預測力 | 約30%的方差 | 52:58 |
| 用AI寫一個JPEG解析器所需時間 | 幾週 | 1:06:18 |
| 被AI重寫替代的授權組件,原自建成本與分成 | 5-10人團隊做數年,外加5%-15%營收分成 | 1:07:18 |
| 某團隊採用AI後代碼量與故障變化 | 代碼量+70%,故障+30%,功能數量不變 | 1:09:27 |
| 一個CS學位總學時換算的全職工作經驗 | 約15個月 | 1:18:02 |
| Waterloo學生畢業前的實習輪次 | 4段實習/實踐安置 | 1:20:03 |
術語
- AbseilAbseil
- Google開源的C++基礎庫,封裝了其內部代碼的通用寫法
- AST抽象語法樹
- 代碼解析後生成的樹狀結構,可用來精確匹配特定調用模式
- readability review可讀性認證評審
- Google要求工程師就某語言的慣用寫法獲得認證後才能批准改動
- OpenRewriteOpenRewrite
- Java生態裡一種聲明式、可配置的批量代碼重寫工具
- zero token architecture零token架構
- 儘量用確定性工具而非持續調用AI推理來完成任務的設計思路
收聽指南
工程管理者、平臺與基礎設施團隊負責人,以及關心AI時代CS課程該怎麼改的人
開頭關於童年經歷和求職過程的閒聊(0:00-13:00左右)信息密度較低,可跳過。