不,AI 並沒有讓工程師的生產力提高 10 倍
治好你的 AI 10 倍工程師冒牌者症候群
幾個月前,我陷入了一陣心理低潮。我向來對自己身為工程師的能力很有自信。但在刷 LinkedIn 和 Twitter 時,卻感覺自己的技術被遠遠甩在後頭。如果那些文章可信,工程界早已告別中古世紀的寫法。也就是把程式碼一個字一個字敲進編輯器裡。現在「真正的」工程師,生產力是我的 10 到 100 倍。我寫這篇文章,是希望幫助有同樣焦慮的人。
我向來多疑,所以聽到這種說法通常不會馬上相信。我只會翻個白眼,就像有人說什麼草藥能治百病一樣。但現在這種 10 倍工程師的說法實在太多,開始讓我不安。萬一我錯了呢?如果我現在不學 AI,會不會錯過這班車,然後被淘汰?畢竟,現在有很多花俏的術語。把他們口中的「AI」,跟我所熟悉的「AI」區隔開來。
這些人用的是 ✨agentic✨ AI,是會 ✨思考✨ 的模型。能自己上網、跑測試、還會修正自己的錯誤。我偶爾也會開個聊天視窗,叫 AI 寫點程式碼。然後拿到我想要的概念後,就把大部分的內容丟掉。但那些工程師卻放手讓 Claude 主導一切。他們泡杯咖啡的時間,AI 就能幫他們產出 5 個 PR。我是否正變成一隻恐龍,一個對著雲亂吼的老頭?
我之所以焦慮,部分原因是我很少用 AI。所以 AI 的發展很有可能我完全沒跟上。因為我並不是很喜歡用 AI。審查程式碼的樂趣,遠遠比不上親手撰寫。難道我堅持享受寫程式的固執,註定會讓我被淘汰嗎?
投入研究
我終於到了臨界點,決定一頭栽進 AI 程式開發的世界。我試了 Claude Code、Cursor、Roo Code 和 Zed。想看看它們號稱的代理編碼能力。我開始在各種專案中,要求 AI 寫各式各樣的程式碼。我嘗試並比較了不同的模型。我甚至玩了幾次「氛圍編碼」,完全不手動修改程式碼。
結果⋯⋯只能說還好。儘管大家宣稱 AI 正以驚人的速度進步,但感覺跟以前差不多。它很會寫樣板程式碼,尤其是在 Javascript 和 React 裡。但它不太會遵循你專案中的程式碼標準和工具。它處理像 Terraform 這類的語言時,常常會卡關。它還是會胡謅出不存在的函式庫,導致嚴重的安全漏洞。
即使有很棒的提示和 CLAUDE.md 檔案,AI 還是很難理解大型專案的脈絡。如果你用的函式庫不是 StackOverflow 上的熱門選項,它就會搞砸。就算代理查了文件也一樣。代理偶爾會做些不錯的事,例如修好自己弄壞的測試。但它們常常只是浪費時間和 token。自己跟自己來回折騰,每次失敗似乎也沒學到教訓。因此對我來說,AI 最好的用途還是寫一次性腳本。特別是在我沒興趣深入學習的時候,像是寫個自訂的 ESLint 規則。
那些警告我不馬上用 AI 就會被淘汰的說法,後來證明是杞人憂天。用 AI 寫程式並不難學。這很明顯吧?但 AI 程式開發社群似乎有兩種極端看法。一種認為 AI 讓寫程式簡單到像原始人也會。另一種則認為它需要進階、專業的提示工程技能。有些東西你確實要學,但很快就能上手。你會學到把任務切成小塊,AI 才不會處理到後來就精神錯亂。像 Claude Code 這類工具甚至能自己做點切分,雖然不總是可靠。你也會學到何時該判斷 AI 已經偏離太遠,是時候自己接手了。
一個夠格的工程師,大概用一週的 AI 就能搞懂這些事。此外,如果 AI 隨時都可能進步 2 倍、10 倍或 100 倍。那麼現在學的任何使用技巧,未來可能都派不上用場。
每次我發現 AI 的表現只是「還行」,反而讓我更焦慮。這代表我沒找到那個讓其他人效率倍增的獨門祕方。我就是沒那個天份。我就是那隻恐龍,而 AI 就是那顆小行星。最後,有幾件事把我從低潮中拉了出來。其中一件是 Ludicity 的這篇文章,它直接反駁了那些 AI 吹捧者的論調。我寫這篇文章,是為了分享更多幫助我走出 AI 10 倍工程師冒牌者症候群的方法。
來算筆帳
我們先從 10 倍到 100 倍生產力的簡單數學來看。10 倍生產力代表 10 倍的成果,而不是 10 倍的程式碼。這表示你過去一季才能交付的工作,現在一週半就完成了。這些數字應該讓最鐵的 AI 信徒都停下來想一想。傳統上三個月的工作量,現在七個工作天就要完成?這其中包含產品發想、時程協商、修復錯誤和程式碼審查。還有等待部署、測試和品管的時間。要達成目標,每個環節的生產力都必須提升 10 倍。
任何在公司寫過程式的軟體工程師,都知道這不可能。你沒辦法把三個月的程式碼審查,壓縮到一週半完成。當你審查程式碼時,你會:
- 標註你的審查者
- 希望他們盡快處理 (這很難,因為他們的工作量是以前的 10 倍)
- 等待時,切換到其他工作
- 看到通知 (可能馬上,也可能在審查者下線兩小時後)
- 切換回審查工作
- 閱讀他們的評論
- 根據評論做出回應
- 然後不斷重複以上步驟
在一家制度和溝通良好的公司,這個流程可以很有效率。但你說你把這個流程的效率提高了 10 倍,來應付 10 倍的工作量?這根本不可能。
企業軟體開發中,人的流程並沒有太大改變。產品經理可能會用 ChatGPT 做「研究」。但他們不可能突然產出十倍以上,且經過充分驗證和估算的需求。他們無法同時進行 10 場使用者訪談。設計師和品管測試員也是一樣。要雇用 10 倍的產品經理來跟上進度並不可行。隨著溝通成本和官僚作風增加,每多一個人,效益就會遞減。
就算我們只假設寫程式的速度快了 10 到 100 倍。我們還是該懷疑這筆帳是怎麼算的。你寫程式時,真正花在敲鍵盤上的時間有多少?可能比你想的少很多。你大部分的黃金時間,其實是在閱讀和思考。常常是在等編譯、等頁面重整、或等測試跑完。大型語言模型 (LLM) 並不會讓 rustc 跑得更快。
LLM 產出的東西常常是壞的、亂掰的,或不符專案標準。程式碼庫越大,出錯頻率就越高。這時你就得重下指令,可能馬上解決,也可能浪費一堆時間。或者你也可以自己動手修。但這樣你就又變回了 1 倍工程師。如果你習慣了「氛圍編碼」而忘了怎麼寫程式,情況可能更糟。如果你只是「跟著感覺走」而完全不看產出的程式碼。那當專案大到一個程度,你就會撞上生產力天花板。到時你就得面對缺乏標準和良好抽象化的爛攤子。
我想有時候大家沒意識到 10 倍的改進有多巨大。10 倍的差距,就像你的休旅車和創紀錄的超音速噴射車一樣。想像開著時速 600 英里的車,在市區開 10 分鐘的路。你能在十分之一的時間內到達目的地嗎?不可能,光一個 60 秒的紅燈就吃掉你所有的時間了。F1 賽車在普通轉彎時,速度也會降到跟休旅車差不多。事實證明,任何活動的大部分時間,都不是在全速前進。
100 倍的生產力,代表你現在兩天就能做完過去一年的工作。這種數字的荒謬程度,我應該不用多說了。
10 倍工程師真的存在嗎?
我本不想淌這渾水,但或許我必須表態。我的答案是:有時候,算是有吧。我遇過的那些價值高 10 倍的工程師,主要是因為他們能避免團隊做白工。例如說服產品經理放棄一個不可行的任務。或勸退另一位工程師,別蓋那個不必要的微服務。或是投資改善開發者體驗,讓每個人每項任務都省下一點時間。或是把工作好好記錄下來,讓未來的工程師能更快上手。這些事累積起來,一個工程師省下的時間,可能遠超過他當初投入的 10 倍。
這類工作不是隨時都有。所以頂尖工程師,也只在特定情況下,才能發揮 10 倍的生產力。到頭來,每個工程師都還是得開發功能。厲害的工程師可能比菜鳥快兩倍。但他們還是會碰到一樣的瓶頸。雖然故事點 (story point) 有其缺陷,但我從沒見過哪個工程師能長期穩定地完成比別人多十倍的點數。
值得注意的是,AI 程式助理幾乎無法避免做白工。相反地,AI 似乎常鼓勵倉促行事和過度開發。當我問架構問題時,它常會推薦一些方案。但只要我睡一覺,或跟厲害的工程師聊聊,就會發現根本沒必要。在其他條件都相同下,寫得快就是比較好的工程師嗎?是,但這不會是 10 倍的差距,而且很難讓其他條件都相同。你越專注於快速完成任務,就越容易忽略那些能減少總工作量的省時關鍵。
所以那些鼓吹 AI 的人是在騙人嗎?
我認為那些鼓吹 AI 的人,混合了以下幾種類型。依惡意程度由低至高排列:
- 善良但算術不好,誤判了自己和他人的人
- 在 AI 的成功上有重大利益關係的人 (例如 AI 新創創辦人、投資者等)
- 想讓工程師感到飯碗不保,才不敢辭職或要求加薪的老闆
算術不好的善良工程師
以我的經驗,AI 能帶來短暫、罕見的 10 到 100 倍生產力爆發。例如我讓 AI 在幾分鐘內寫好一個自訂的 ESLint 規則。如果我自己來,可能要花幾小時查文件和看教學。這確實是數量級的時間和精力改善。這種時刻確實會發生。許多非開發背景的專業人士,在用 Lovable 快速架起一個 app 後,也感受過這種魔力。
問題是,這種生產力無法規模化。我一年寫不到一次 ESLint 規則。這次的生產力爆發,完全是因為我不在乎這段程式碼。也不用費心讓它變得好讀,給下一位工程師看。如果寫 ESLint 規則變成我的核心工作,我就會花一次性的成本去學它的內部原理。之後,用「氛圍編碼」或自己寫,時間上不會差太多。尤其當我還要花時間讓程式碼變得好讀,以便六個月後自己還看得懂。
每個「氛圍編碼者」最終都會遇到瓶頸,回報會開始大幅遞減。他們的網站被駭,就必須花時間去學資安。當 app 大到超出 AI 的記憶範圍,介面和功能就會開始不一致。於是公司會雇用真正懂行的前端工程師,來導入一致的設計系統和使用者體驗。
還有很多偏見和盲點,會造成生產力提升的錯覺。如果你離開大公司去新創,你會驚訝於每個工程師的生產力有多高。這很容易被歸功於 AI。有些人真的很享受 AI 程式開發的新鮮感。當你接觸新事物時,常會覺得自己做得比以前多。我第一次用 Python 時,也覺得自己像「喝了火箭燃料」。但跟所有技術一樣,最終還是得回歸現實。
我想很多對 10 倍 AI 的吹捧,來自那些還在蜜月期的人。或是沒仔細想過 10 倍在數學上代表什麼。AI 幫助工程師在某些任務上快 20% 到 50%,我不會驚訝。但軟體開發的瓶頸特性,意味著這不會轉化成 20% 的總生產力提升。更不用說 10 倍了。
誘因很重要
聽著,我不是討厭 AI 新創。你想把 OpenAI 的 API 接到你的醫療新創,我可能會對風險皺眉。但任何想在醫療領域「快速行動、打破常規」的新創,我都會有同樣的擔憂。我不是說 AI 新創的創辦人或投資者是壞人或騙子。我的重點是,用你高中經濟學老師的枯燥語氣說:「誘因很重要」。
如果你在經營一家 AI 新創,而其他家都在跟投資人說。他們靠 AI 讓生產力提升了 10 倍。那你的誘因就很簡單:你公開和私下都該這麼說。如果你的公司是建立在 AI 之上,你就有誘因把 AI 吹捧成萬靈丹。如果你是個工程師,而你老闆問你:
嘿,你用了 AI 生產力也提升 10 倍了吧?跟其他所有工程師一樣,對吧?
你會有很強的動機說「對」。當其他工程師也因為同樣的理由說「對」時。那位 CEO 並沒有說謊,他只是轉述他聽到的。
我想對那些跟我一樣焦慮的人強調,這不是什麼新鮮事。CEO 的話不能盡信。高層們一直宣稱各種東西能釋放無限生產力,從敏捷開發到 MBTI。LinkedIn 上永遠有新的時髦術語,別讓那些東西影響你。事實上,根本不要滑 LinkedIn。別去那種瞎地方。
徹頭徹尾的惡意
當有人說的話讓你感到焦慮,你至少該考慮一種可能。那就是,這正是說話者想要達到的效果。老闆想讓工程師覺得飯碗不保,也不是新聞了。我們都還記得那套說詞:三個月的速成班,能培養出四年大學品質的工程師。所以你最好別太囂張,否則就會被轉行的人取代。幾年過去後,大家發現速成班的畢業生,因為基礎不穩,通常完全無法勝任真正的軟體工作。
速成班和 AI,都只是一連串想將軟體工程這個高薪專業「商品化」的失敗嘗試。它們是用來暗示你處境堪憂的 rhetorical devices。你老闆其實不能開除你然後換成 AI。但他可以讓你「覺得」他「可以」,這樣你或許就不會要求加薪了。
所謂 10 倍 AI 工程師的故事,有一部分可能就是為了讓你難過。至於佔多少,我不知道。雖然我們這個時代彼此越來越不信任。但我還是相信大部分人本性是善良的。所以我不認為這個比例很高。
隔了一層的說法
我注意到,在這些 AI 程式開發的吹捧文章中,作者和實際的生產力提升之間,幾乎總是隔了一層關係。發文者是創辦人、經理或投資者。他們對「別人」的生產力,發表誇大的言論。二手資訊沒什麼不對,但如果你找不到第一手資料,就該開始懷疑資訊的可靠性。
而由實際的工程師來展示他們如何用 AI 提升生產力的影片,內容就更多元,讚美之詞也保守許多。這些展示中的 AI,跟你我焦慮前所熟悉的沒兩樣。就是一個不錯的文字產生器,有時很神奇,但常常還是需要你親自接手。
AI 在開源專案上的應用,過程完全公開,結果是眾所皆知的一場鬧劇。我確實從一些 YouTube 影片學到如何更好地使用 AI。這裡有一個不錯的例子,前面提到的 Ludicity 文章裡也有引用。但我先劇透一下:這位工程師並沒有找到提升程式生產力的神泉。
生產力低一點也沒關係
即使我不再相信有那麼一個神秘的頂尖工程師群體。他們比我生產力高十倍、更強壯、更高大、也更性感。我還是有點焦慮,因為我依然不喜歡用 AI。當新鮮感退去,「氛圍編碼」就變得非常無聊。閱讀 LLM 產生的程式碼很痛苦。客氣地請它不要亂掰函式庫,也很折磨人。但萬一,用「氛圍編碼」真的比我原本的方式生產力高 20% 呢?如果有更高效率的方法,我還堅持「正常」寫程式,是不是錯了?
不。為了工作的樂趣,犧牲一點生產力是沒關係的。不只沒關係,在我們這行,這更是「必要」的。如果你強迫自己用討厭的方式工作,你只會燃燒殆盡。寫程式只佔工作的一小部分。其他還包括解決問題、系統設計、思考抽象化,以及和人溝通。當你心情好時,這些事你都會做得更好。為自己的工作感到驕傲,並尊重這門手藝,是沒問題的。長期來看,你的專案會因此受益。
數位音樂的音質是否比黑膠唱片好,這不重要。翻唱片比串流服務自動播下一首歌,「生產力」低得多,但這不重要。如果聽一張 70 年的老唱片讓你更快樂,那就去做。你會因此聽更多音樂,而不是強迫自己用更「有效率」的串流服務。如果你用自己喜歡的方式寫程式,你會花更多時間,並寫出更好的程式碼。
喔,同樣的道理反過來也成立。如果你用 AI 寫程式讓你感覺很好,那就去做。如果你因此興奮到寫了比以前更多的程式碼,那太棒了。我希望每個人都有這種感覺,不管是用什麼方法。
如何成為一位好的 AI 領導者
讓你的工程師時時刻刻為自己的表現焦慮,對公司是有害的。這會讓他們不想為你工作。這只會導致短視近利,鼓勵工程師去衝一些無意義的指標,像是程式碼行數。程式碼審查會被忽略,技術債會不斷累積。長期來看,整個公司都要為這些錯誤付出代價。
不切實際的 10 倍期望,無疑會導致草率和低品質的成果。工程師需要呼吸的空間。需要多一點時間把事情做好的空間。好的專案和好的公司,建立在兼顧今日與明日的健康平衡之上。我很慶幸現在就在這樣的公司工作,但很多人沒那麼幸運。
不要因為工程師用的 token 不夠多就責備他們。你的工程師是這個競爭激烈領域裡,受過高等教育的專業人士。軟體工程師早就以追逐新技術又喜新厭舊的循環聞名。你付他們這麼多薪水,就該相信他們。如果真的出現超棒的生產力工具,他們會主動來找你,要求升級 Pro 方案。如果你擔心錯過別人都在享受的 AI 紅利。那就買個 LLM 團隊方案,辦場訓練課程,看看效果如何。你只需要做這些就夠了。
結論
沒有什麼神奇的草藥秘方,能預防所有疾病。不會因為你追蹤了對的 Facebook 社團就唾手可得。也沒有什麼 AI 程式開發革命,只要你開始「氛圍編碼」就能參與。你沒有錯過任何事。相信自己。你已經夠好了。
喔,還有,別再滑 LinkedIn 或 Twitter 了。永遠不要。