![]()
2024年,GitHub Copilot用戶寫的代碼里,有41%是AI生成的。但一個更隱蔽的數字是:這些代碼被修改或回滾的比例,沒人敢公開統計。
問題不在于AI寫得快,而在于它改得盲。你把一個復雜系統丟給AI agent,它像拿到一份沒有注釋的電路圖——知道哪根線連到哪,但不知道當初為什么非要這么繞。DLD框架的作者Fredrik Widlund發現,這才是AI編程的「阿喀琉斯之踵」。
從「氛圍編程」到系統性崩潰
Widlund在瑞典有聲書平臺Storytel做Staff Engineer,過去一年他試了幾乎所有AI編程流派。最極端的叫「vibe coding」——描述需求,讓AI隨便寫,寫完能跑就行。聽起來像產品經理的終極夢想,直到他發現一個規律:項目前兩周速度起飛,第三周開始修bug,第四周想重寫。
「AI生成代碼的速度和人類理解它的速度,差距在指數級擴大。」
這不是LLM(大語言模型)變笨了,是它的工作方式決定的。AI agent讀代碼時,看到的是靜態文本;但代碼背后是一連串決策——為什么用這個架構、為什么放棄那個方案、為什么這里必須妥協。這些信息原本存在工程師腦子里,隨著人員流動或時間推移,變成「孤兒知識」。
Widlund舉了個例子:一個微服務用了某種奇怪的數據庫分片策略。新接手的AI agent看到這段代碼,邏輯上推斷可以優化,改完后導致生產環境雪崩。真正的原因是三年前某個凌晨,團隊為了應對一次突發流量,臨時做的應急方案,后來沒人敢動。
給代碼配一本「決策日記」
![]()
DLD的全稱是Decision-Linked Development,決策關聯開發。核心想法粗暴但有效:每次代碼變更,必須同時記錄「為什么改」。不是那種敷衍的commit message,而是結構化的決策上下文——考慮了哪些方案、排除了哪些、受什么約束條件限制。
技術上,DLD用了一個叫ADR(Architecture Decision Records,架構決策記錄)的概念,但做了關鍵改造。傳統ADR是寫給人看的文檔,容易過時;DLD把決策數據嵌入代碼倉庫的元數據層,讓AI agent能直接讀取。換句話說,AI改代碼前,先讀「病歷本」。
這個設計擊中了AI編程的一個悖論:LLM的上下文窗口越來越長,但有效利用率并沒有同比提升。Claude 3.5能處理20萬token,可如果你把十年項目的全部歷史丟給它,噪音會淹沒信號。DLD做的是預篩選——只把「和當前修改相關的決策」推給AI。
Widlund在Storytel內部測試時,一個典型場景是遺留系統的API改造。以前,工程師需要花2-3天梳理歷史文檔和口頭傳說;用DLD后,AI agent能在幾分鐘內定位到關鍵決策點,比如「2021年Q3為了兼容iOS 12客戶端,這里必須保持REST而非GraphQL」。
開源之后,爭議來了
DLD今年早些時候開源,GitHub星標增長曲線很典型:前兩周平緩,被某個技術KOL轉發后垂直拉升,然后進入平臺期。真正有趣的是issue區的爭論。
一派工程師認為這解決了AI編程的「可解釋性」危機。另一派則質疑:如果AI需要人類寫的決策記錄才能安全工作,那是不是說明AI還不夠格?Widlund的回應很直接:「人類工程師接手新項目時也需要文檔,憑什么要求AI更高?」
更實際的批評是關于維護成本。DLD要求團隊在寫代碼的同時維護決策鏈,這對已經疲于交付的團隊是額外負擔。Widlund的折中方案是「漸進式采納」——只在關鍵模塊啟用,比如核心業務邏輯、容易出事故的邊界條件。
![]()
他在博客中透露了一個數據:Storytel內部采用DLD的模塊,AI生成代碼的首次通過率(無需人工返工)從34%提升到61%。但這個數字也有水分——首批試點團隊本身就是對代碼質量要求更高的組,可能存在選擇偏差。
更大的圖景:AI需要「組織記憶」
DLD的野心不止于代碼。Widlund在幾篇技術演講中暗示,同樣的思路可以擴展到產品設計、運營策略——任何需要「繼承歷史決策」的領域。
這觸及了企業AI應用的一個深層焦慮。過去兩年,公司們瘋狂采購AI工具,卻發現效率提升有天花板。瓶頸往往不是工具本身,而是組織知識的碎片化。Salesforce一份內部研究顯示,銷售團隊用AI生成客戶郵件,前三個月響應率提升,半年后回落到基線——因為AI學不到「這個客戶去年為什么差點解約」這類非結構化信息。
DLD試圖建立的是一種機器可讀的「組織記憶」。它不是要替代人類判斷,而是讓AI在做判斷前,先站在和人類同樣的信息起跑線上。
當然,理想很豐滿。Widlund自己也承認,DLD目前的實現還偏技術化,需要工程師手動維護決策記錄。他正在實驗讓AI輔助生成ADR——用另一個AI來監督寫代碼的AI,聽起來像套娃,但可能是必經之路。
Storytel的一位產品經理在內部反饋會上說了句實話:「以前怕AI不懂業務,現在怕AI太懂代碼但不懂我們為什么選這條路。」DLD能不能填上這個缺口,可能決定了AI編程工具是停留在「高級自動補全」,還是真正成為可托付的協作伙伴。
如果AI agent能讀完你三年前寫的決策筆記,它會同意你當時的判斷,還是覺得你是個傻子?
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.