落地:大廠樣板失效與軟件黑燈工廠的邊界)
過(guò)去這兩年AI編程可能是軟件行業(yè)被討論最多、也被誤解最深的一個(gè)話題。就在上個(gè)月我和三位不同背景的一線實(shí)踐者先后深聊了幾輪話題繞來(lái)繞去最后都落在了同一個(gè)方向上AI編程在真實(shí)工作里到底變成了什么樣。一位在帶中型研發(fā)團(tuán)隊(duì)一位在頭部平臺(tái)寫(xiě)核心業(yè)務(wù)代碼另一位在傳統(tǒng)行業(yè)轉(zhuǎn)型后的技術(shù)部門做架構(gòu)。他們的處境完全不同但對(duì)“停招初級(jí)工程師”“大廠AI樣板”“軟件黑燈工廠”這些熱點(diǎn)的看法出奇一致外面?zhèn)鞯暮驼鎸?shí)發(fā)生的是兩回事。這篇文章不打算炒冷飯復(fù)述新聞我把我們聊到的真實(shí)情況、踩坑過(guò)程、以及對(duì)AI編程現(xiàn)狀和變化的判斷整理出來(lái)。如果你正在評(píng)估要不要大規(guī)模引入AI輔助開(kāi)發(fā)或者剛接手一個(gè)被AI概念包圍的團(tuán)隊(duì)這幾位實(shí)踐者的真實(shí)打法和翻車記錄應(yīng)該能幫你省掉不少試錯(cuò)成本。1. 先聊點(diǎn)題外話為什么這次討論值得認(rèn)真看1.1 聊天的三位實(shí)踐者代表了三類典型處境為了保護(hù)隱私我這里用A、B、C來(lái)稱呼他們。A是一家兩百多人軟件公司的技術(shù)負(fù)責(zé)人帶二十多個(gè)人的研發(fā)團(tuán)隊(duì)做的是外部客戶交付項(xiàng)目技術(shù)棧以Java和Vue為主代碼庫(kù)歷史接近十年客戶需求變化快交付周期壓得緊。B在某頭部互聯(lián)網(wǎng)平臺(tái)的核心鏈路后端團(tuán)隊(duì)日常就是高并發(fā)、大流量、強(qiáng)治理團(tuán)隊(duì)內(nèi)部前年就開(kāi)始推AI輔助編程有自研工具也有商業(yè)產(chǎn)品算是“大廠樣板”的親歷者。C則在一家從傳統(tǒng)制造轉(zhuǎn)型做數(shù)字化產(chǎn)品的公司團(tuán)隊(duì)不大但技術(shù)棧跨度極大既有老舊的遺留系統(tǒng)也有新的微服務(wù)最近半年在做跨語(yǔ)言重構(gòu)。這三個(gè)人對(duì)AI編程的態(tài)度不一樣但有一個(gè)共同點(diǎn)他們都不是坐在辦公室里聽(tīng)匯報(bào)的人而是每天要面對(duì)代碼、需求、線上事故和團(tuán)隊(duì)成長(zhǎng)壓力的親手干活的人。所以他們聊出來(lái)的東西沒(méi)有多少宏大敘事全是細(xì)碎的、具體的、甚至有些掃興的真實(shí)。1.2 一個(gè)讓我印象很深的共識(shí)我問(wèn)他們?nèi)绻靡痪湓捀爬ㄟ^(guò)去一年多的感受會(huì)說(shuō)什么。A說(shuō)“熱鬧是別人的擦屁股是自己的?!盉說(shuō)“效率確實(shí)漲了但Review和返工的活兒也變重了?!盋說(shuō)“我們?cè)囘^(guò)最激進(jìn)的方案最后退回來(lái)三步?!边@三句話基本就是這篇文章的骨架。外面很多報(bào)道在講AI編程的“顛覆性”把大廠某個(gè)指標(biāo)漲了百分之多少當(dāng)成典范但落到真實(shí)團(tuán)隊(duì)里AI帶來(lái)的從來(lái)不是單純的正向加速而是一整套工作方式、責(zé)任邊界、質(zhì)量保障體系的結(jié)構(gòu)性變化。如果只盯著“代碼生成速度快”這個(gè)點(diǎn)去鋪開(kāi)后面大概率會(huì)被一系列連鎖反應(yīng)打得措手不及。2. 大廠AI樣板失效為什么“別人家的AI編程”你學(xué)不來(lái)2.1 大廠樣板是怎么跑通的B所在的團(tuán)隊(duì)屬于業(yè)內(nèi)比較早規(guī)模化落地AI輔助編程的那一批。他說(shuō)大廠樣板之所以看起來(lái)漂亮背后有幾條普通團(tuán)隊(duì)很難復(fù)制的隱性條件。首先是技術(shù)棧統(tǒng)一。大廠的核心鏈路尤其是后端往往長(zhǎng)期收斂在少數(shù)幾個(gè)語(yǔ)言和框架上代碼風(fēng)格經(jīng)過(guò)多年治理已經(jīng)高度一致AI模型在這種語(yǔ)料上訓(xùn)練出來(lái)的補(bǔ)全命中率和準(zhǔn)確率確實(shí)非常高。這就好比一個(gè)老師教的全是同一個(gè)套路的學(xué)生哪怕閉著眼也能猜出下一步。其次是代碼庫(kù)規(guī)模和質(zhì)量。大廠沉淀多年的代碼本身就是經(jīng)過(guò)海量評(píng)審、測(cè)試、線上驗(yàn)證過(guò)的“高質(zhì)量語(yǔ)料”AI參考這些代碼生成的候選質(zhì)量自然高。而普通團(tuán)隊(duì)尤其是那些歷史包袱重的團(tuán)隊(duì)存量代碼里充滿了“屎山”AI在這些上下文里生成的內(nèi)容很容易把壞味道當(dāng)模范在一堆爛代碼的“指導(dǎo)下”寫(xiě)出新的爛代碼。第三是KPI和考核的強(qiáng)制力。大廠推AI工具是有強(qiáng)管理動(dòng)作背書(shū)的滲透率、采納率、單次評(píng)審耗時(shí)這些指標(biāo)會(huì)落到人頭上形成一種“你不得不用、用了還得說(shuō)好”的組織氛圍。B的原話是“我們內(nèi)部滲透率高有一部分原因是大家都明白這東西是戰(zhàn)略方向沒(méi)人愿意當(dāng)那個(gè)拖后腿的人。”2.2 中小團(tuán)隊(duì)面對(duì)的殘酷現(xiàn)實(shí)A聽(tīng)完B的描述直接笑了。他的團(tuán)隊(duì)沒(méi)有統(tǒng)一技術(shù)棧老項(xiàng)目里面甚至還有十年前的祖?zhèn)鞔a單元測(cè)試覆蓋率是個(gè)不能細(xì)看的數(shù)字客戶提的需求經(jīng)常是“我也不太清楚你先做出來(lái)看看”。在這種環(huán)境里AI的表現(xiàn)完全是另一回事。A做過(guò)一個(gè)很難忘的實(shí)驗(yàn)用同一款A(yù)I編程工具分別處理團(tuán)隊(duì)里一個(gè)規(guī)范化程度較高的新模塊和一個(gè)歷史遺留模塊的改需求。新模塊從生成到落地只用了不到半天AI生成的代碼幾乎可以直接合并而老模塊那邊AI生成的內(nèi)容不僅理念過(guò)時(shí)還頻繁踩中隱藏依賴和過(guò)時(shí)接口的坑最后改它花的功夫比手寫(xiě)還多。A說(shuō)“大廠樣板失效不是產(chǎn)品不行是環(huán)境不匹配。人家是在高速公路上測(cè)一輛底盤扎實(shí)的跑車我這兒是鄉(xiāng)間小路坑坑洼洼還時(shí)常有牛穿行再好的車也快不起來(lái)?!?.3 樣板移植的三個(gè)常見(jiàn)誤區(qū)結(jié)合B和A的對(duì)比我把大廠樣板“移植失敗”的常見(jiàn)原因歸納為三個(gè)誤區(qū)這些都是在實(shí)際團(tuán)隊(duì)里反復(fù)出現(xiàn)的只看生成速度不看上下文質(zhì)量。AI跟不上你的業(yè)務(wù)語(yǔ)義你就得花更多時(shí)間在Prompt里塞背景這個(gè)成本在算總賬時(shí)往往被低估。把管理動(dòng)作當(dāng)成萬(wàn)能藥。大廠就算不強(qiáng)制代碼規(guī)范、測(cè)試體系、專家資源也擺在那里中小團(tuán)隊(duì)如果只有口號(hào)沒(méi)有基建強(qiáng)行要求全員使用只會(huì)制造更多隱性返工。忽略反饋閉環(huán)。大廠有專門的工具團(tuán)隊(duì)在持續(xù)收集數(shù)據(jù)、調(diào)優(yōu)模型、修badcase普通團(tuán)隊(duì)根本沒(méi)有這層持續(xù)的運(yùn)維投入工具買回來(lái)只能是初始版本的原樣狀態(tài)。所以我一直跟身邊的團(tuán)隊(duì)講別看到一篇文章說(shuō)“某大廠AI編程采納率80%”就激動(dòng)。那不是你可以直接抄的作業(yè)那是對(duì)方在特定土壤里種出來(lái)的結(jié)果。你想復(fù)制先看看自己手頭有沒(méi)有同樣的土。3. 停招初級(jí)工程師崗位消失背后的真實(shí)變量不只是AI3.1 初級(jí)崗位收縮AI只是其中一個(gè)原因“停招初級(jí)工程師”這個(gè)信號(hào)最近確實(shí)越來(lái)越密集。但B對(duì)這個(gè)問(wèn)題看得比較透初級(jí)崗位收縮的底層原因是行業(yè)增速放緩后企業(yè)不再愿意為“培養(yǎng)期”付溢價(jià)而不是AI已經(jīng)強(qiáng)大到能干掉所有新人。他說(shuō)了一個(gè)很扎心的邏輯前些年行業(yè)擴(kuò)張公司招初級(jí)工程師本質(zhì)是買一個(gè)“成長(zhǎng)潛力期權(quán)”假設(shè)他一年后能分擔(dān)更多任務(wù)。而現(xiàn)在業(yè)務(wù)增速?zèng)]那么高團(tuán)隊(duì)的定員預(yù)算卡得很緊管理者自然更傾向于只招來(lái)了就能穩(wěn)定輸出的人。這種時(shí)候初級(jí)崗位作為彈性最大的“蓄水池”當(dāng)然第一個(gè)被擠掉。AI在這個(gè)過(guò)程里扮演的角色更像一個(gè)加速器而非發(fā)動(dòng)機(jī)。它確實(shí)在“寫(xiě)代碼”這個(gè)動(dòng)作上讓新人和熟手之間的產(chǎn)出差距縮小了一部分。但真正讓企業(yè)下定決心停招的還是那份不斷收縮的用人預(yù)算和不再樂(lè)觀的增長(zhǎng)預(yù)期。3.2 初級(jí)工程師的真實(shí)價(jià)值從來(lái)不是“寫(xiě)得快”這里我想多說(shuō)兩句。很多討論把初級(jí)工程師的價(jià)值定義成“寫(xiě)代碼”然后拿AI生成代碼的速度來(lái)對(duì)比得出“新人要被替代”的結(jié)論。這個(gè)邏輯從根上就錯(cuò)了。一個(gè)合格初級(jí)工程師的價(jià)值從來(lái)不在鍵盤敲得多快而在于他能在執(zhí)行中建立對(duì)真實(shí)系統(tǒng)的理解為什么這個(gè)模塊要這樣分層、為什么接口要這樣設(shè)計(jì)、為什么要有這些邊界處理和異常兜底。AI可以在一秒鐘內(nèi)生成一百個(gè)函數(shù)但它不會(huì)在一個(gè)生產(chǎn)事故發(fā)生時(shí)根據(jù)線程棧、日志和業(yè)務(wù)上下文判斷出問(wèn)題到底出在哪個(gè)服務(wù)的哪一段邏輯上。C的團(tuán)隊(duì)里有一個(gè)真實(shí)案例。去年他們招了一位剛畢業(yè)的工程師代碼寫(xiě)得并不算快但責(zé)任心強(qiáng)喜歡追根問(wèn)底。他入職三個(gè)月后在一個(gè)存量模塊的改造中發(fā)現(xiàn)AI生成的重構(gòu)代碼雖然單元測(cè)試全綠卻漏掉了一個(gè)極端情況下的狀態(tài)恢復(fù)邏輯而這個(gè)問(wèn)題只有在特定網(wǎng)絡(luò)故障時(shí)才會(huì)暴露。這個(gè)發(fā)現(xiàn)節(jié)省了一場(chǎng)潛在的重大線上事故。你看這就是初級(jí)工程師不可替代的部分他們雖然經(jīng)驗(yàn)少但對(duì)系統(tǒng)整體的好奇心、對(duì)異常場(chǎng)景的敏感度、對(duì)業(yè)務(wù)細(xì)節(jié)的較真AI暫時(shí)給不了。如果企業(yè)只把初級(jí)崗位當(dāng)“寫(xiě)代碼的機(jī)器”來(lái)評(píng)估那確實(shí)很容易被AI替代但如果把他們當(dāng)成“理解系統(tǒng)的人”來(lái)培養(yǎng)價(jià)值空間依然是巨大的。3.3 需求端正在從“招程序員”轉(zhuǎn)向“招會(huì)改代碼的業(yè)務(wù)理解者”B觀察到一個(gè)更長(zhǎng)遠(yuǎn)的變化過(guò)去招聘JD里寫(xiě)的是“掌握XX語(yǔ)言、熟悉XX框架”現(xiàn)在越來(lái)越多崗位開(kāi)始突出“理解業(yè)務(wù)邏輯”“能梳理復(fù)雜的存量系統(tǒng)”“具備代碼評(píng)審和重構(gòu)經(jīng)驗(yàn)”。這個(gè)變化的本質(zhì)是AI把“從零寫(xiě)代碼”的門檻大幅拉低之后行業(yè)對(duì)人才的評(píng)價(jià)標(biāo)準(zhǔn)已經(jīng)從“能不能生成代碼”轉(zhuǎn)移到了“能不能判斷代碼好不好、改得對(duì)不對(duì)”。A也提到他最近在面試新人時(shí)不再出算法題而是給一段有瑕疵的存量代碼讓對(duì)方在半小時(shí)內(nèi)提出改進(jìn)思路。他說(shuō)“以前我只需要知道你能不能寫(xiě)出答案現(xiàn)在我更想知道你能不能看懂問(wèn)題、敢不敢動(dòng)別人的代碼、改完之后有沒(méi)有能力兜住后果?!边@個(gè)趨勢(shì)對(duì)初級(jí)工程師來(lái)說(shuō)是挑戰(zhàn)也是機(jī)會(huì)。挑戰(zhàn)在于純編碼類的工作崗位確實(shí)在減少機(jī)會(huì)在于那些懂業(yè)務(wù)、懂系統(tǒng)、愿意在存量代碼里扎下去的年輕人反而比過(guò)去更容易脫穎而出因?yàn)樵敢飧蛇@種“臟活”的人變少了。4. 為什么軟件黑燈工廠走不通全自動(dòng)化的邊界比想象中硬4.1 黑燈工廠的本質(zhì)是“約束充分”而軟件工程恰恰相反“黑燈工廠”這個(gè)詞原本指生產(chǎn)車間可以關(guān)燈運(yùn)行、全自動(dòng)化無(wú)人值守。制造業(yè)能這么玩是因?yàn)樯a(chǎn)環(huán)境高度可控物料標(biāo)準(zhǔn)、工序固定、設(shè)備參數(shù)明確、異常有明確的停機(jī)機(jī)制。軟件工程想學(xué)這一套第一個(gè)撞上的就是“需求模糊”這堵墻。需求是軟件世界最大的不確定源。制造業(yè)做一件產(chǎn)品圖紙?jiān)O(shè)計(jì)完成以后尺寸精度、材料屬性都定了產(chǎn)線上的誤差是在微米級(jí)別處理。而軟件需求從“用戶想要一個(gè)按鈕”到“這個(gè)按鈕在極端情況下應(yīng)該出現(xiàn)在第幾層菜單”中間隔著大量業(yè)務(wù)揣摩、產(chǎn)品權(quán)衡和上下文磨合。AI也許能寫(xiě)代碼但它沒(méi)法替業(yè)務(wù)方回答“這個(gè)規(guī)則到底該不該這樣定”。C舉了一個(gè)他自己踩過(guò)的例子他們想做一個(gè)全自動(dòng)的“需求轉(zhuǎn)代碼”試點(diǎn)把產(chǎn)品經(jīng)理寫(xiě)的需求文檔直接用AI生成初版代碼再自動(dòng)跑測(cè)試、自動(dòng)發(fā)版。結(jié)果第一輪就卡在需求文檔的白癡級(jí)別上——文檔里寫(xiě)著“查詢效率要提升”AI給出了一個(gè)索引優(yōu)化方案但實(shí)際上業(yè)務(wù)方口中的“效率”指的是“運(yùn)營(yíng)同學(xué)能更快地篩選數(shù)據(jù)”根本不是程序執(zhí)行的響應(yīng)時(shí)間。如果產(chǎn)線全自動(dòng)這一層誤解就會(huì)貫穿到最終交付物里。4.2 三個(gè)典型的“黑燈失敗”場(chǎng)景結(jié)合三位實(shí)踐者的反饋,我把軟件全自動(dòng)化最容易翻車的地方整理成三類每類都有真實(shí)場(chǎng)景支撐自動(dòng)改代碼缺兜底機(jī)制。AI批量重構(gòu)了一段老代碼單元測(cè)試和集成測(cè)試全過(guò)結(jié)果上線后觸發(fā)了存量數(shù)據(jù)中的異常值直接導(dǎo)致某個(gè)歷史報(bào)表跑不出來(lái)。不是AI生成的邏輯錯(cuò)了而是沒(méi)有人去確認(rèn)“這個(gè)歷史數(shù)據(jù)原來(lái)不在預(yù)期之內(nèi)”。自動(dòng)修Bug缺根因判斷。AI根據(jù)報(bào)錯(cuò)日志給出一個(gè)看起來(lái)很合理的修復(fù)但實(shí)際上只是在某個(gè)分支上打了補(bǔ)丁真正的根源在另一個(gè)服務(wù)的數(shù)據(jù)一致性問(wèn)題。補(bǔ)丁多了系統(tǒng)反而更脆弱。自動(dòng)評(píng)審缺責(zé)任歸屬。即使AI能說(shuō)出“這段代碼可能有風(fēng)險(xiǎn)”也沒(méi)有人愿意為“AI說(shuō)可以上線”承擔(dān)最終責(zé)任。現(xiàn)場(chǎng)出了問(wèn)題背鍋的永遠(yuǎn)是人這就是軟件工程無(wú)法“無(wú)人化”的制度性原因。4.3 AI在軟件工程里真正的位置高級(jí)實(shí)習(xí)生不是無(wú)人產(chǎn)線聊到這兒B給了一個(gè)我覺(jué)得非常精準(zhǔn)的類比AI編程助手現(xiàn)在的定位更像一個(gè)“永遠(yuǎn)在線、知識(shí)面廣但是經(jīng)驗(yàn)不足的高級(jí)實(shí)習(xí)生”。它會(huì)寫(xiě)代碼、會(huì)查文檔、能提出方案但它不理解隱性的團(tuán)隊(duì)約定、不熟悉線上系統(tǒng)的真實(shí)壓力、做不出涉及利害關(guān)系的取舍。他說(shuō)大廠內(nèi)部其實(shí)早就放棄“全自動(dòng)黑燈”的想法了。最務(wù)實(shí)的做法是“人機(jī)結(jié)對(duì)”AI負(fù)責(zé)把框架代碼、模板代碼、重復(fù)性改造快速鋪開(kāi)人負(fù)責(zé)審閱、調(diào)整、決策和兜底。這個(gè)模式下的效率提升非常明顯但它本質(zhì)上是“人在回路里”的半自動(dòng)流水線不是“關(guān)了燈也能跑”的黑燈工廠。A對(duì)這個(gè)判斷非常認(rèn)同他補(bǔ)充了一個(gè)細(xì)節(jié)他們?cè)陧?xiàng)目里把AI生成的代碼自動(dòng)打上“AI-AUTH”標(biāo)記強(qiáng)制走更嚴(yán)格的評(píng)審流程。這么做的原因很簡(jiǎn)單——AI寫(xiě)的代碼出問(wèn)題時(shí)很容易因?yàn)樯蛇^(guò)程太“順滑”而被忽略反而需要人為加重關(guān)注。5. 三位實(shí)踐者的真實(shí)打法AI到底用在哪、怎么用5.1 A的打法從存量資產(chǎn)找切入點(diǎn)不折騰全新系統(tǒng)A團(tuán)隊(duì)的核心矛盾是老代碼沒(méi)人愿意動(dòng)新代碼需求又要得快。他摸索出來(lái)的策略是把AI定位成“存量代碼的考古工具”而不是“新系統(tǒng)的生成引擎”。具體操作上他會(huì)用AI輔助做老模塊的語(yǔ)義梳理把一段幾百行的祖?zhèn)骱瘮?shù)丟給AI讓它先用自然語(yǔ)言描述這個(gè)函數(shù)到底在干什么標(biāo)記出可疑的邊界條件和不合理的依賴。這個(gè)動(dòng)作看起來(lái)不起眼但價(jià)值極高。以前一個(gè)新加入團(tuán)隊(duì)的工程師可能花兩周才能看懂一個(gè)核心老模塊的來(lái)龍去脈現(xiàn)在借助AI的分步梳理這個(gè)時(shí)間能壓縮到三四天。A說(shuō)“別總想著用AI從零造一個(gè)漂亮的新系統(tǒng)那是學(xué)渣買了個(gè)好筆記本天天幻想能考上清華。真正聰明的是用AI把已經(jīng)有的東西看明白、理清楚這才是大多數(shù)團(tuán)隊(duì)的硬需求。我們這半年交付速度的提升大概有兩三成主要靠的就是更快地讀懂老代碼和更快地補(bǔ)齊文檔?!?.2 B的打法人機(jī)結(jié)對(duì)逼著Review變成一等公民B所在的團(tuán)隊(duì)已經(jīng)過(guò)了“要不要用AI”的糾結(jié)期專注解決“怎么用得不翻車”。他們推行的方式是所有AI生成的代碼必須有程序員實(shí)名確認(rèn)后才能合入而且特別強(qiáng)調(diào)“AI越是高產(chǎn)Review越要嚴(yán)格”。這個(gè)打法里有兩個(gè)細(xì)節(jié)我覺(jué)得特別值得學(xué)習(xí)。第一他們把AI生成的代碼在PRPull Request里做了高亮標(biāo)記讓評(píng)審者一眼就能看出哪些是AI產(chǎn)物用更挑剔的眼光去檢查。第二他們把“評(píng)審AI代碼”納入了代碼評(píng)審的考核要點(diǎn)避免出現(xiàn)“看到生成結(jié)果不錯(cuò)就隨手approve”的惰性。B分享了一個(gè)數(shù)據(jù)演進(jìn)推行初期團(tuán)隊(duì)的代碼提交速度確實(shí)快了很多但合并前的打回率也從原來(lái)的不到15%上升到了接近30%。經(jīng)過(guò)兩個(gè)月的磨合打回率慢慢回落并穩(wěn)定在20%上下而線上缺陷率卻沒(méi)有上升。這說(shuō)明什么說(shuō)明AI確實(shí)把精力消耗從“寫(xiě)代碼”轉(zhuǎn)移到了“審代碼”而只要這個(gè)天平維持住質(zhì)量就不會(huì)崩。5.3 C的打法用AI拆掉語(yǔ)言壁壘但堅(jiān)決不拆責(zé)任邊界C那邊的特點(diǎn)是技術(shù)??缍却髿v史系統(tǒng)用了兩種不同的主力語(yǔ)言。過(guò)去做跨語(yǔ)言重構(gòu)最痛苦的就是“看不懂另一種語(yǔ)言的業(yè)務(wù)邏輯”動(dòng)不動(dòng)就要請(qǐng)老專家來(lái)口述。C的做法是讓AI先做“逐行翻譯意圖標(biāo)注”把老語(yǔ)言代碼轉(zhuǎn)換成另一種語(yǔ)言的等價(jià)版本同時(shí)生成一份“業(yè)務(wù)意圖說(shuō)明”告訴團(tuán)隊(duì)這段代碼在業(yè)務(wù)上到底做了什么。這樣做的結(jié)果是原來(lái)可能需要一個(gè)精通兩種語(yǔ)言的人干兩周的活兒現(xiàn)在一個(gè)普通工程師配合AI三天就完成了初版剩下的時(shí)間全花在業(yè)務(wù)邏輯的確認(rèn)和邊界條件補(bǔ)齊上。但C特別強(qiáng)調(diào)AI可以把代碼從語(yǔ)言A翻譯成語(yǔ)言B但翻譯后的代碼如果出了線上問(wèn)題承擔(dān)責(zé)任的一定還是簽字的工程師。所以他們的流程是——AI負(fù)責(zé)初稿工程師負(fù)責(zé)標(biāo)注“已理解”才能進(jìn)入測(cè)試階段。這套流程把“AI很強(qiáng)”和“人必須有判斷兜底”這兩件事同時(shí)鎖死了。6. 給想跟進(jìn)的人幾條實(shí)在建議6.1 先想清楚“為什么用AI”再談“怎么用”很多團(tuán)隊(duì)引入AI理由是“別人都在用我們也得用”。這個(gè)理由十有八九會(huì)導(dǎo)致失敗。A的建議是動(dòng)手前先列出團(tuán)隊(duì)最痛的三件事是新人上手慢存量代碼沒(méi)人敢動(dòng)還是業(yè)務(wù)需求交付太慢然后再判斷AI到底能解決哪一件。如果最痛的是“需求理解難”那AI帶來(lái)的幫助有限因?yàn)閱?wèn)題出在業(yè)務(wù)梳理環(huán)節(jié)如果最痛的是“模板代碼寫(xiě)到手酸”那AI就是量身定做的解藥。帶著精確的目標(biāo)去選工具效果和效率完全不一樣。6.2 從小而確定的場(chǎng)景開(kāi)始別一上來(lái)就“重構(gòu)一切”最危險(xiǎn)的引入方式是一上來(lái)就讓AI“把老系統(tǒng)全部重構(gòu)一遍”。幾位實(shí)踐者都遇到過(guò)這種翻車現(xiàn)場(chǎng)重構(gòu)范圍太大AI生成代碼的上下文窗口覆蓋不全結(jié)果就是縫合怪代碼既丟了原有系統(tǒng)的隱式約定又引入了一堆新的不一致。建議的做法是找一個(gè)邊界清晰、依賴簡(jiǎn)單、有完整測(cè)試覆蓋的小模塊先讓AI做一次重構(gòu)或改造跑通流程、訓(xùn)練團(tuán)隊(duì)習(xí)慣、積累質(zhì)量數(shù)據(jù)。有了第一個(gè)成功案例再逐步擴(kuò)大范圍這個(gè)節(jié)奏雖然慢但不至于翻車。6.3 把AI當(dāng)成流程的一部分而不是替代流程我特別想讓所有讀者記住這句話AI編程落地成功的團(tuán)隊(duì)沒(méi)有一個(gè)是在“流程真空”里使用AI的。相反他們?cè)谑褂肁I的同時(shí)把代碼評(píng)審、測(cè)試覆蓋、上線審批這些環(huán)節(jié)全部強(qiáng)化了。因?yàn)锳I改變的不是“要不要寫(xiě)代碼”這個(gè)事實(shí)而是“代碼從哪來(lái)”這個(gè)來(lái)源。來(lái)源變了質(zhì)量保障方式必須跟著變。如果你把AI生成當(dāng)捷徑繞開(kāi)測(cè)試和評(píng)審那AI就不是提效工具而是定時(shí)炸彈。反過(guò)來(lái)如果你把AI當(dāng)成一個(gè)24小時(shí)不休息的初級(jí)工程師把流程卡點(diǎn)照樣卡死它就是你團(tuán)隊(duì)里最好用的那個(gè)人。6.4 關(guān)于“停招初級(jí)工程師”的一點(diǎn)個(gè)人看法最后說(shuō)點(diǎn)主觀的。我不覺(jué)得初級(jí)工程師這個(gè)崗位會(huì)消失但如果初級(jí)工程師還把自己定位成“寫(xiě)代碼的人”那確實(shí)會(huì)越來(lái)越難。AI正在把“寫(xiě)代碼”這件事的成本推到接近零同時(shí)也正在把“判斷代碼該怎么改、為什么改、改了以后會(huì)有什么影響”這些能力推向更高的價(jià)值位。換句話說(shuō)初級(jí)工程師要變的是不要在“寫(xiě)得快”這件事上和AI競(jìng)爭(zhēng)而是早一點(diǎn)去建立“理解業(yè)務(wù)、理解系統(tǒng)、理解邊界”的能力。我見(jiàn)過(guò)很多年輕人焦慮說(shuō)自己入門晚拼不過(guò)AI。我給他們的建議一直是AI再?gòu)?qiáng)它不知道你的業(yè)務(wù)方這個(gè)月最頭疼的是什么它不知道這段代碼運(yùn)行幾年后誰(shuí)會(huì)來(lái)維護(hù)它更不會(huì)在凌晨三點(diǎn)收到告警電話時(shí)從床上爬起來(lái)查日志。這些事跟編碼速度無(wú)關(guān)只跟“人”的存在有關(guān)。這三位實(shí)踐者聊到最后都表達(dá)了類似的觀點(diǎn)。AI編程的真實(shí)變化不是“人可以走了”而是“人得換一種活法”。這種變化不性感甚至有點(diǎn)辛苦但它正在每一個(gè)真實(shí)項(xiàng)目里發(fā)生。