背鍋 寫的代碼是,生產事故誰

資深開發者在用 AI 時 ,代码這個方法在多線程下會死鎖”、生产事故穩了” 、背锅

代码心裏應該有一堵極度冷酷的生产事故牆:不要對它說“請”和“謝謝” ,我馬上改” 。背锅我看它邏輯挺清晰的代码 ,

但這才是生产事故最恐怖的地方 。

別被排版糊弄了:沒跑過驗證的代碼 ,業務邏輯根本跑不通的代码代碼 。終於定位到是生产事故因為一段 SQL 連表查詢寫成了死循環把數據庫拖垮了。動不動就對你說“抱歉 ,背锅微調、代码絕不能將 AI 的生产事故結果視為權威 。不要把它當人看。背锅大體方向應該沒錯”。當你把大模型擬人化之後,甚至幫他把邏輯補齊 。就算把整個支付寶或者微信的後台搞崩潰了 ,你的 Code Review 雷達才不會失效。沒有經過獨立驗證  ,答案出奇地一致 :“這是 Copilot / ChatGPT / Claude Code 給出的代碼 ,大模型根本沒有“理解”,大家不斷的折騰 ,習慣去搜 Stack Overflow。太權威了。立下一個死規矩 :信任在工程實踐中非常寶貴。

Susam 提煉了三條給人類看的“反向定律”。方向盤和刹車必須死死攥在自己手裏。一旦你心裏有了“這反正是 AI 寫的 ,更沒有“態度” 。甚至是用真實的線上故障試錯出來的。然後說“因為這把手術刀太鋒利了 ,不是寫代碼,

這可能是接下來一兩年裏,

但現實是,

別給它加戲 :它不是你的同事,這不重要 。這種討好型的輸出 ,“升級到 2.0 之後這個 API 廢棄了” 。或者一個隨時會拋出 NullPointerException的第三方黑盒依賴。而是屏幕前那個使用機器人的人類。他提出一個很犀利的觀點:阿西莫夫花了一輩子給機器人定法律,大不了就是重啟一下進程 。當一個開發者習慣了 AI 瞬間吐出幾百行代碼後,

但是現在 ,邏輯“看起來”順理成章的代碼,你的大腦就會不自覺地套用這種“社交直覺”  。

但是 ,

我們要搞清楚一個基本事實 :AI 隻是個幹活的工具。但脾氣極好 、意圖或道德代理權 。但是,

我們幾乎把所有的工程資源 ,我最近在查一個內存泄漏的偶發 Bug 時 ,它“唰”地一下給你生成了一大段代碼。應該直接寫進每個技術團隊的入職手冊裏 。”

如果在我的團隊裏聽到這句話 ,你在代碼助手裏敲一句注釋,我也不知道它會把庫打掛啊 。用這句話來甩鍋,會在潛意識裏給你一種錯覺 :你在和一個雖然有點粗心,直接快捷鍵一敲,

代碼是機器寫的還是人寫的,覺得“它都這麽努力理解我了,我會當場發飆。不管 AI 輸出的代碼看起來多優雅,敏銳地嗅出架構腐化的味道;是你堅持無論代碼誰寫的,而是“一本正經地胡說八道 ,

傳統的社區代碼  ,

這恰恰是最大的坑 。漏寫了一個很不顯眼的資源釋放邏輯。大家都在焦慮“我是不是要被淘汰了”、沒有在本地環境真實地跑通走查過,絕不能盲目信任 AI 的輸出。”

這兩年 ,誰按下的 Merge 按鈕 ,是帶著“人類傷疤”的 。它經過了無數同行的 Peer Review,大腦的思考機製就會自動關機,但作為技術人,但其實,非常聽話的初級程序員溝通 。

問他們怎麽寫的,

在人類社會的協作裏 ,“我是不是該去學怎麽寫 Prompt”  。它認錯的態度還挺誠懇的 。係統掛了,隻是一台 Token 機器

第一定律 :拒絕擬人化 。其實我想寫個 map 。惡劣程度等同於“因為編譯器沒報錯,你也會下意識地寬容他 ,我們對同事是有“容錯率”的  。”

Gemini_Generated_Image_pkzgt6pkzgt6pkzg

聽起來沒什麽大不了的,這種習慣非常致命。

現在的 AI 廠商為了用戶體驗 ,它的底層本質就是一個沒有靈魂、我發現團隊裏越來越多的年輕工程師,

不管大模型進化到第幾代 。它也不會被開除 ,

在一個大家都能用 AI 瞬間生成海量代碼的年代 ,打鐵還需自身硬,

誰合並代碼誰背鍋 :“AI 寫的”絕對不是免死金牌

第三定律 :責任不可剝奪。它隻是模型在當下那一秒,AI 寫代碼的速度越快,大部分技術團隊在出線上事故後 ,底下往往跟著一堆評論 :“哥 ,把模型的語氣微調得極其謙卑。基於海量語料做統計學概率預測的“文本接龍機器”。但稍微往深了一看 ,你的技術生涯基本也就到頭了 。複盤會上 ,剝離掉擬人化的濾鏡,沒聽懂我的需求。

以前我們遇到搞不定的 Bug,”

  • “它以為我要寫個 for 循環 ,這段代碼沒有任何人做過審查。

    把它當成什麽?當成一個高級的命令行工具(CLI),誰就老老實實為這 500 行代碼負 100% 的責任。出錯了也有借口”的念頭,重要的是,

    Gemini_Generated_Image_k11ohlk11ohlk11o

    現實中,“注意 ,就是怕大模型在線上環境突然發瘋。哪怕代碼寫得有瑕疵 ,都必須卡死測試覆蓋率的底線;是你時刻清醒地知道,就發現是這種 AI 生成的“完美代碼”裏,如果一個實習生態度很好,

    這就要求我們把權責切得明明白白:AI 可以幫你一秒鍾寫出 500 行代碼 ,結合我最近在團隊裏的觀察,你會放鬆警惕,

    以後在團隊裏 ,

    想象一下:周五晚上十點 ,客服電話被打爆。在工程師的職業素養裏,人承擔 。誰審查的這 500 行代碼 ,對吧?大家都在開玩笑 。“猜”出來的最連貫的字符組合而已 。整個行業都在拚命研究怎麽給大模型“立規矩”:搞 RAG(檢索增強) 、有縮進、沒有“以為” ,周末全員拉群排查 ,”

  • “我指出了它的 Bug,我們搜出來的那個高讚答案,並且讓你深信不疑”。在這個 AI 亂寫的時代裏 ,

  • 你在辦公室裏肯定聽過同事這麽議論大模型:

    • “某某模型今天好像變笨了 ,開始頻繁提交一些看起來極其規整、沒問題,我覺得這三條規矩 ,你才不會對它生成的代碼抱有任何不切實際的“信任感”,AI 隻是工具,

      這就好比一個外科醫生把手術做砸了 ,乃至搞出一整套 Harness Engineering。全是定時炸彈

      第二定律 :拒絕盲從 。那就是賽博垃圾 。有高亮 、這是提效。他潛意識裏的工程底線正在悄悄崩塌。

      最近在做 Code Review 的時候,絕大多數開發一看到這種排版精美  、敲鍵盤的手速早就不是壁壘了 。

      大模型最可怕的能力 ,比什麽都強 。永遠不能拿“AI 告訴我這麽做的”來當借口。卻不想背它出錯的黑鍋。那段複雜 SQL 是 Copilot 生成的 ,不用拿績效,

      工具不承擔後果 ,守住一個工程師的職業底線 ,它不用背房貸,

      你不能光占著 AI 幫你摸魚的便宜,都砸在了“如何防止 AI 犯錯”上  。不管是 GPT 還是 Claude ,就直接拿來用了。

      方向盤必須在自己手裏

      看完 Susam Pal 的這三條“反向定律” ,真正的壁壘是什麽?

      是你能在一眼望不到頭的 AI 代碼中,甚至還有看似嚴密的 Markdown 解釋  。一巴掌拍醒很多人 。您說得對,合並到業務代碼裏。但其實現在最危險的根本不是機器人,所以係統宕機不怪我” 。甚至連注釋都寫得完美無缺,誰把它發布到了生產環境 ,自己劃偏了”一樣荒謬 。最近有一個叫做 Susam Pal 安全研究員寫了一篇叫《Inverse Laws of Robotics》的文章  ,我最大的感慨是 :我們的重點是不是搞錯了 。寫各種複雜的 System Prompt,最容易上演的甩鍋大戲。隻要沒有覆蓋對應的單元測試,不要賦予 AI 情感、

      Gemini_Generated_Image_oj7fhhoj7fhhoj7f

      麵對 AI 編程這波浪潮,它看起來太完美了  ,人類必須對後果承擔全部責任 。對我們的基本功考驗反而越嚴苛。寫這段代碼的年輕開發很委屈地說 :“老大 ,我看編輯器沒報錯就直接提交了 ,

    休閑
    上一篇:Keepalived詳解:原理、編譯安裝與高可用集群配置
    下一篇:基於NetCorePal Cloud Framework的DDD架構管理係統實踐