> 上個月團隊擴編,我面試了一位特別「潮」的候選人。他說自己不用手寫程式,全靠 AI 生成,自稱「Prompt 工程師」。我覺得挺新鮮,就把他招進來了。結果一個月後,他負責的模組上線,三天內就爆出十幾個 bug。我打開他的程式碼,愣住了:一個函式兩百行,重複邏輯到處都是,沒有錯誤處理,沒有型別定義。效率確實高,一天產出是我兩倍。但修他的程式碼,卻花了我三倍的時間。
今年招募季,我收到一份履歷,技能欄寫著「AI 輔助程式設計(Cursor / Copilot / Claude Code)」。面試時他展示了一段:用 Cursor 生成一個完整的 React 元件,包含樣式、狀態、以及 API 呼叫,前後不到一分鐘。我問:「如果 AI 生成的程式碼有 bug,你怎麼排查?」他說:「再讓 AI 修啊,多輪對話總能搞定。」
我當時覺得,這代表未來。於是給了他 offer,讓他負責一個內部後台模組。
他確實快。別人一天寫一個頁面,他能寫三個。但兩週後,我去 review 他的程式碼時,發現問題了。
同一個工具函式,出現在五個檔案裡,每個實作都略有不同。AI 每次生成時沒有「重用」的意識,只解決眼前問題。
所有 API 呼叫都沒有 .catch(),也沒有 try...catch。問他為什麼不處理,他說:「AI 沒寫,我忘了補。」
雖然用了 TypeScript,但到處都是 any。AI 不知道業務實體的具體型別,就直接給了 any,他也懶得改。
一個簡單的列表頁,AI 生成了 6 個自訂 Hook、4 個 Context,拆成了 20 個檔案。改一個功能要跨十幾個檔案。
模組上線後,使用者回饋:頁面白屏、資料不更新、按鈕點了沒反應。我們緊急回滾,花了三天排查修復。
data.list 是否存在,直接 .map()。useEffect 依賴陣列寫錯了,AI 用了 [],但內部引用了外部變數。我問他:「這些你都沒測嗎?」他說:「AI 生成的程式碼,我以為沒問題。」
這件事讓我重新思考:AI 程式設計時代,我們需要的是什麼樣的人?
AI 能寫程式碼,但不能寫好程式碼。 好程式碼的標準:可讀、可維護、健壯、高效。這些需要工程師自己把關。
Prompt 工程師 的能力是「讓 AI 幹活」,但合格工程師的能力是「讓 AI 做對的活,並且能兜底」。如果只會寫 prompt,不懂邊界、不懂例外、不懂架構,AI 寫出來的程式碼就是定時炸彈。
後來我把他的模組全部重寫了,並且給團隊定了一條新規:AI 生成的程式碼,作者必須逐行 review 並自行測試,提交 PR 時附上 AI 的原始提示詞和修改說明。
我不會因為這個失敗案例就不再招募「Prompt 工程師」,但我會在面試裡加一道題:「給你一段 AI 生成的爛程式碼,請你指出問題並修復。」能答得上來的,才是真正的人才。