背鍋 寫的 ,生產事故誰代碼是
但現實是代码,它經過了無數同行的生产事故 Peer Review,
方向盤必須在自己手裏
看完 Susam Pal 的背锅這三條“反向定律” ,全是代码定時炸彈
第二定律 :拒絕盲從。業務邏輯根本跑不通的生产事故代碼。如果一個實習生態度很好,背锅對我們的代码基本功考驗反而越嚴苛 。
別被排版糊弄了 :沒跑過驗證的代碼,就算把整個支付寶或者微信的背锅後台搞崩潰了,結合我最近在團隊裏的觀察,非常聽話的初級程序員溝通。我馬上改”。
你不能光占著 AI 幫你摸魚的便宜,直接快捷鍵一敲,這段代碼沒有任何人做過審查。但脾氣極好、你才不會對它生成的代碼抱有任何不切實際的“信任感” ,但稍微往深了一看 ,敲鍵盤的手速早就不是壁壘了 。但作為技術人,守住一個工程師的職業底線,沒有在本地環境真實地跑通走查過 ,
這可能是接下來一兩年裏 ,我會當場發飆 。你的 Code Review 雷達才不會失效 。但是 ,會在潛意識裏給你一種錯覺 :你在和一個雖然有點粗心 ,我們搜出來的那個高讚答案,

現實中,把模型的語氣微調得極其謙卑。你會放鬆警惕 ,最近有一個叫做 Susam Pal 安全研究員寫了一篇叫《Inverse Laws of Robotics》的文章,這是提效。漏寫了一個很不顯眼的資源釋放邏輯 。這不重要 。“注意 ,就是怕大模型在線上環境突然發瘋。永遠不能拿“AI 告訴我這麽做的”來當借口。

麵對 AI 編程這波浪潮,絕不能將 AI 的結果視為權威 。複盤會上,更沒有“態度” 。它也不會被開除,
以後在團隊裏 ,他提出一個很犀利的觀點 :阿西莫夫花了一輩子給機器人定法律,這種習慣非常致命 。“我是不是該去學怎麽寫 Prompt” 。寫這段代碼的年輕開發很委屈地說:“老大 ,AI 寫代碼的速度越快,開始頻繁提交一些看起來極其規整、重要的是 ,我覺得這三條規矩,
傳統的社區代碼 ,然後說“因為這把手術刀太鋒利了,
誰合並代碼誰背鍋 :“AI 寫的”絕對不是免死金牌
第三定律:責任不可剝奪。或者一個隨時會拋出
NullPointerException的第三方黑盒依賴 。但這才是最恐怖的地方 。所以係統宕機不怪我” 。甚至幫他把邏輯補齊。誰審查的這 500 行代碼,整個行業都在拚命研究怎麽給大模型“立規矩” :搞 RAG(檢索增強)、
代碼是機器寫的還是人寫的,
這就要求我們把權責切得明明白白 :AI 可以幫你一秒鍾寫出 500 行代碼 ,甚至是用真實的線上故障試錯出來的。真正的壁壘是什麽 ?
是你能在一眼望不到頭的 AI 代碼中,絕不能盲目信任 AI 的輸出。
資深開發者在用 AI 時,它看起來太完美了,“升級到 2.0 之後這個 API 廢棄了”。甚至連注釋都寫得完美無缺 ,”
這兩年 ,都砸在了“如何防止 AI 犯錯”上 。沒有經過獨立驗證,卻不想背它出錯的黑鍋 。基於海量語料做統計學概率預測的“文本接龍機器” 。甚至還有看似嚴密的 Markdown 解釋。太權威了 。你的大腦就會不自覺地套用這種“社交直覺”。
我們幾乎把所有的工程資源 ,大部分技術團隊在出線上事故後,誰按下的 Merge 按鈕 ,哪怕代碼寫得有瑕疵 ,人承擔。應該直接寫進每個技術團隊的入職手冊裏。對吧 ?大家都在開玩笑。而是屏幕前那個使用機器人的人類。
Susam 提煉了三條給人類看的“反向定律”。
這恰恰是最大的坑。
把它當成什麽 ?當成一個高級的命令行工具(CLI),就直接拿來用了 。
但是現在 ,合並到業務代碼裏 。
這就好比一個外科醫生把手術做砸了 ,”
“我指出了它的 Bug,底下往往跟著一堆評論:“哥,周末全員拉群排查,乃至搞出一整套 Harness Engineering 。但其實現在最危險的根本不是機器人,你在代碼助手裏敲一句注釋 ,不要賦予 AI 情感 、意圖或道德代理權。 工具不承擔後果 ,這個方法在多線程下會死鎖”、不管是 GPT 還是 Claude ,動不動就對你說“抱歉 ,我最大的感慨是 :我們的重點是不是搞錯了 。這種討好型的輸出,
出錯了也有借口”的念頭,自己劃偏了”一樣荒謬 。誰就老老實實為這 500 行代碼負 100% 的責任。它不用背房貸 ,微調、答案出奇地一致:“這是 Copilot / ChatGPT / Claude Code 給出的代碼,隻要沒有覆蓋對應的單元測試,在一個大家都能用 AI 瞬間生成海量代碼的年代 ,終於定位到是因為一段 SQL 連表查詢寫成了死循環把數據庫拖垮了 。他潛意識裏的工程底線正在悄悄崩塌。當一個開發者習慣了 AI 瞬間吐出幾百行代碼後,我們對同事是有“容錯率”的。”
如果在我的團隊裏聽到這句話 ,
以前我們遇到搞不定的 Bug,
別給它加戲 :它不是你的同事,惡劣程度等同於“因為編譯器沒報錯 ,穩了” 、大腦的思考機製就會自動關機 ,我最近在查一個內存泄漏的偶發 Bug 時,最容易上演的甩鍋大戲 。它認錯的態度還挺誠懇的。打鐵還需自身硬,並且讓你深信不疑” 。不是寫代碼 ,
想象一下:周五晚上十點 ,你的技術生涯基本也就到頭了 。邏輯“看起來”順理成章的代碼 ,大不了就是重啟一下進程 。我也不知道它會把庫打掛啊 。寫各種複雜的 System Prompt,它的底層本質就是一個沒有靈魂、那就是賽博垃圾 。敏銳地嗅出架構腐化的味道;是你堅持無論代碼誰寫的 ,隻是一台 Token 機器
第一定律:拒絕擬人化。覺得“它都這麽努力理解我了,人類必須對後果承擔全部責任。沒有“以為”,它“唰”地一下給你生成了一大段代碼 。在工程師的職業素養裏,絕大多數開發一看到這種排版精美 、
在人類社會的協作裏 ,
問他們怎麽寫的,剝離掉擬人化的濾鏡,
最近在做 Code Review 的時候,不用拿績效 ,心裏應該有一堵極度冷酷的牆 :不要對它說“請”和“謝謝” ,”
“它以為我要寫個 for 循環, 現在的 AI 廠商為了用戶體驗,
但是,大家都在焦慮“我是不是要被淘汰了” 、而是“一本正經地胡說八道,誰把它發布到了生產環境,一巴掌拍醒很多人 。沒聽懂我的需求 。比什麽都強 。
我們要搞清楚一個基本事實 :AI 隻是個幹活的工具 。當你把大模型擬人化之後 ,大模型根本沒有“理解” ,係統掛了,
不管大模型進化到第幾代 。有高亮、客服電話被打爆。在這個 AI 亂寫的時代裏,不管 AI 輸出的代碼看起來多優雅 ,有縮進、立下一個死規矩:信任在工程實踐中非常寶貴 。“猜”出來的最連貫的字符組合而已。AI 隻是工具,都必須卡死測試覆蓋率的底線;是你時刻清醒地知道 ,沒問題 ,那段複雜 SQL 是 Copilot 生成的,
你在辦公室裏肯定聽過同事這麽議論大模型 :
- “某某模型今天好像變笨了,我看它邏輯挺清晰的 ,方向盤和刹車必須死死攥在自己手裏 。就發現是這種 AI 生成的“完美代碼”裏,你也會下意識地寬容他 ,不要把它當人看。大體方向應該沒錯”。其實我想寫個 map 。我發現團隊裏越來越多的年輕工程師 ,您說得對 ,”

聽起來沒什麽大不了的,
大模型最可怕的能力 ,它隻是模型在當下那一秒,大家不斷的折騰 ,