差點(diǎn)被開除,我不再“無條件信任”ChatGPT
那個(gè)把一切改寫的周一9:47??Х冗€在冒熱氣,Slack 像爆米花一樣跳個(gè)不停。 一條消息把我從座位上“凍住”:
“能帶我過一遍你在 UserService 里用的算法嗎?我這邊看到一些……挺有意思的模式?!?/span>
發(fā)信人:首席架構(gòu)師。語氣:彬彬有禮的“行刑式”冷靜。 我盯著屏幕,手心全是汗。UserService——三周前我“借助 ChatGPT”寫的那個(gè)。上線后一直穩(wěn)得不能再穩(wěn)?,F(xiàn)在,它可能要終結(jié)我的職業(yè)生涯。
故事從何而來
半年前,我把 ChatGPT 當(dāng)成最佳拍檔: “寫個(gè)鑒權(quán)服務(wù)?”——啪,干凈、文檔齊、像生產(chǎn)級(jí)。 “優(yōu)化下這條查詢?”——啪,優(yōu)雅、說得頭頭是道,還順便給你索引策略。
于是產(chǎn)能飆升、截止日期成了建議、隊(duì)友來問“秘笈”。我像《黑客帝國(guó)》里的 Neo,下載技能后的那種“我會(huì)功夫了”。
第一面紅旗其實(shí)已飄起:好得離譜的東西,多半有坑。
我忽略的蛛絲馬跡
回頭看,警告信號(hào)一地都是:
- 提交風(fēng)格異常統(tǒng)一:我的 commit 開始“像一個(gè)人寫的”——一個(gè)完全不熟悉我舊習(xí)慣的人。
- 知識(shí)答不上來:新人問我“那個(gè)緩存策略為什么高明”,我支支吾吾,像醉漢倒車。
- 自信膨脹:更大任務(wù)、更新架構(gòu)、更多承諾——我感覺自己刀槍不入。
當(dāng)然,不是。
把系統(tǒng)拖垮的“漂亮算法”
那段 UserService 里的算法,看著真美——至少模型告訴我很美:
// AI 生成的“杰作”
public class UserService {
// 據(jù)說是 O(n log n) 的排序 + 完整錯(cuò)誤處理
// 文檔齊全
// 有且僅有一個(gè)小問題……
}1 萬用戶它跑得飛快,測(cè)試全綠,發(fā)布一氣呵成。第 3 周,數(shù)據(jù)量到 5 萬。響應(yīng)從 200ms 飆到 8 秒。結(jié)論:這段實(shí)現(xiàn)為“可讀性”而生,不為“規(guī)模”而活。
史上最難受的 Code Review
回到那個(gè)周一。架構(gòu)師追蹤性能瓶頸后問我: “這個(gè)排序思路……出自哪?” 我硬著頭皮:“我查了些高級(jí)寫法——”
他翻了屏幕:“2019 年一個(gè) Stack Overflow 回答。逐字一致?!?我的胃直接坐電梯到負(fù)三層。 他又補(bǔ)刀:“這套錯(cuò)誤處理,和我上周在推特看見的 ChatGPT 輸出一模一樣?!?/span>
徹底露餡。
不得不做的坦白
擺在我面前的只有兩條: 1)繼續(xù)圓;2)承認(rèn)。 我選了第二條——勉強(qiáng)算誠(chéng)實(shí)。
“我……在一些實(shí)現(xiàn)細(xì)節(jié)上用了 ChatGPT 的幫助?!?空氣安靜得能聽見空調(diào)風(fēng)聲。 “‘一些細(xì)節(jié)’的意思是:它幾乎寫了全部?” 我:“……是的。”
職業(yè)層面的清算
幸運(yùn)的是,我沒被立刻開除。 不幸的是,他們需要有人把爛攤子收拾干凈:
- 48 小時(shí)重寫 UserService;
- 接下來 3 個(gè)月每周代碼評(píng)審;
- 一次關(guān)于“職業(yè)操守”的嚴(yán)肅談話;
- 所有 AI 工具權(quán)限被瞬間回收。
我吃到的教訓(xùn)(都是痛出來的)
- 模型不懂你的上下文。生成的代碼像教科書,而真實(shí)系統(tǒng)充滿歷史包袱、業(yè)務(wù)約束、灰色地帶。脫離語境的漂亮實(shí)現(xiàn),常常在現(xiàn)實(shí)里碰壁。
- 規(guī)?;?≠ 小數(shù)據(jù)的放大。O(n log n) 寫在紙上好看,落到 5 萬、20 萬數(shù)據(jù)加上 IO、鎖與緩存失效,一切會(huì)變樣。性能在規(guī)模面前,才顯原形。
- 代碼評(píng)審什么都能看出來。有經(jīng)驗(yàn)的人隔著屏幕都能聞到“生成味”:過度光滑、缺少“手感”,像香草冰淇淋強(qiáng)裝手工意式。解釋不清==不擁有。
- 信任是靠積累,不是靠生成。當(dāng)你講不明白每一步?jīng)Q策,你就沒法為它背書;你不背書,別人就不會(huì)把關(guān)鍵模塊交給你。
真正的隱患:不是工具,而是“自信陷阱”
ChatGPT 并不“糟糕”,甚至相當(dāng)強(qiáng)。但它會(huì)讓你**誤以為 80% = 100%**。剩下那 20% 才是工程的靈魂:邊界條件、性能拐點(diǎn)、業(yè)務(wù)語義、領(lǐng)域認(rèn)知。
而且,當(dāng)你讓模型代筆,你就失去了自己動(dòng)手拆解問題的訓(xùn)練。久而久之,你從軟件工程師滑成了提示工程師: ——出問題時(shí),不會(huì) debug,只會(huì)改 prompt。
半年后的我:重建與“戒斷”
我和工具的“新合約”很簡(jiǎn)單:
? 會(huì)使用它來——
- 生成樣板與腳手架;
- 解釋陌生概念、做“橡皮鴨”推演;
- 草擬文檔、當(dāng)二次審閱者。
? 不會(huì)讓它決定——
- 核心業(yè)務(wù)邏輯;
- 性能/一致性關(guān)鍵的算法;
- 架構(gòu)性取舍;
- 任何我不能從零復(fù)寫并解釋清楚的部分。
鐵律:不能從頭寫出來,就不準(zhǔn)上線。
出乎意料的轉(zhuǎn)機(jī)
意外的是,我反而成了更穩(wěn)的工程師。 手寫讓我補(bǔ)回了被“AI 漂洗”過的地基:復(fù)雜度分析、性能畫像、系統(tǒng)模式。 寫得慢一點(diǎn),但調(diào)試更快;少了“魔法”,多了可維護(hù)性。 新版 UserService 不夠漂亮,卻能穩(wěn)穩(wěn)扛住 20 萬用戶。
不太舒服的真相
坦白講,很多人正在做我當(dāng)時(shí)做的事——只是沒那么直白。 征兆隨處可見:
- PR 過分干凈;
- 作者解釋不出關(guān)鍵路徑;
- 小集測(cè)全綠,一上量瞬間崩。
這正在把行業(yè)分成兩層:
- 把工具當(dāng)助力的人,和
- 把工具當(dāng)拐杖的人。
前者會(huì)被提拔,后者遲早會(huì)被替換。
該不該信任“它”?
短答:信任,但務(wù)必核證。長(zhǎng)答:讓它加速你的思考,別讓它代替你的思考。小測(cè)試:**你能逐行解釋將要提交的代碼嗎?**不能——就還沒準(zhǔn)備好上線。
底線
差點(diǎn)讓我丟飯碗的并不是 ChatGPT 的“惡意”,而是我放棄了工程師角色,變成了復(fù)制粘貼的操盤手。
區(qū)別在這兒:
- 工程師理解并負(fù)責(zé)自己構(gòu)建的系統(tǒng);
- 提示操盤手照抄模型吐出來的文本。
當(dāng)你不能排錯(cuò)自己的代碼,你就不是在寫代碼——你只是在做昂貴的復(fù)制粘貼。模型不是來取代你的;會(huì)正確使用它的人,會(huì)取代不會(huì)用的人。
選擇在你。
還在把生成的代碼不看就貼進(jìn)生產(chǎn)?我們都走過彎路。也許,是時(shí)候真正搞懂你在造什么了。 未來的你(還有你的代碼評(píng)審者)會(huì)感謝現(xiàn)在的你。


























