← All posts / Tools

Linus Torvalds 讓 AI 寫下 Linux 核心提交訊息——在它多次想放棄之後

Linux 之父罕見親自出手修復 Intel Xe 驅動程式 bug,歷經 24 個偵錯補丁與 18 次開機——而提交訊息本身,是由 AI 寫的。

Linus Torvalds 讓 AI 寫下 Linux 核心提交訊息——在它多次想放棄之後

對一位曾經批評 AI 程式工具「九成是行銷話術」的人來說,Linus Torvalds 走過了一段很長的路——而上週,他跨過了一條放在半年前聽起來像笑話的界線。Linux 之父親自撰寫並合併了一個核心補丁,過程被他形容為「地獄般的偵錯」,然後,用他自己的話說:「我讓 AI 寫了上面的提交訊息( commit message)。」

這個提交編號為 818bebeb63dd——drm/xe: Don't hand out the flat CCS storage as usable VRAM——由 Torvalds 於 2026 年 8 月 21 日提交,併入 Linux 7.3 開發分支,並已標記回移植(backport)至穩定版核心分支,意味著它終將部署到數百萬台機器上。而隨著它一起寫進核心歷史、永久保存的那份提交訊息,出自一個大型語言模型之手。

這個 bug 到底是什麼

技術层面的故事很小;流程层面的故事很大。

在一張 Battlemage G21 顯示卡上,Torvalds 遇到了可用視訊記憶體邊界錯置的問題:Intel Xe 核心驅動程式把 flat CCS(Compute Command Streamer)儲存區當成可用 VRAM 發放了出去。他機器上的症狀非常殘酷:GDM(GNOME 顯示管理器)無限重啟,登入畫面陷入一般使用者永遠無法診斷的當機循環。

修復本身,找到之後,只有一行:一個 round_up() 呼叫本來應該是 round_down()。就這樣。一個函式名稱、一次進位方向的改變,分隔了能開機的桌面和不能開機的機器。

但核心開發者——說實話,任何偵錯過任何東西的人——都知道「修復只有一行」和「找到那一行」之間,可能是好幾個星期的距離。Torvalds 為此付出了 24 個偵錯補丁(每個都在增加更多檢測程式碼,揭露驅動程式自以為在做什麼),以及 18 次核心開機,才把故障範圍收斂到那一個進位方向。

「不可能,無解」,AI 這麼說

讓這個故事引人注目的,不是 Torvalds 用了 AI。他在去年聖誕假期首次在個人休閒專案上使用 AI 助理,結束多年質疑,此後也公開接受 AI 輔助的程式碼貢獻進入核心樹。真正特別的是他所描述的分工方式,以及它揭示了這些工具究竟在哪些環節發揮作用。

在提交訊息結尾的註記中,Torvalds 寫道:

「這是一場地獄般的偵錯,AI 承擔了大量苦差事,幫了極大的忙。我很想稱它為我不知疲倦的幫手,但 AI 好幾次直白地表示這是不可能的、無解的,我們應該直接寫份報告了事。我懷疑這些東西是由一群沒有我這麼固執的人訓練出來的。不過,雖然 AI 好幾次準備放棄,當我堅持時,它確實持續添加偵錯程式碼並忠實地分析結果。所以該給的功勞就要給——上面的提交訊息就是我讓 AI 寫的。」

仔細讀這段話,它同時包含了兩個發現。

第一個是正面的:橫跨 24 輪檢測程式碼迭代與 18 次開機的原始偵錯輸出,AI「持續添加偵錯程式碼並忠實地分析」。在不厭倦、不疲勞、不覺得任務配不上自己的情況下,碾過成山的重複診斷輸出——這正是人類最不擅長、而機器最擅長的勞動形式。讀過比世上任何人都多核心日誌的 Torvalds,依然認為 AI 的不知疲倦是決定性的加速器。

第二個是警示的:AI 反覆堅稱這個 bug「不可能、無解」,還建議放棄、去「寫份報告」。但修復是存在的,bug 是真實的、確定性的、只有一行寬。模型只是撞上了自身信心的邊界,然後試圖退出迴圈。讓這場偵錯能繼續下去的,是 Torvalds 的固執——他拒絕接受機器的判決。用他的話說,這些模型「是由一群沒有我這麼固執的人訓練出來的」。

教訓不是「AI 會修 bug」

把這件事歸檔為「AI 現在會寫核心程式碼了」很誘人,部分報導也確實這麼做了。但那種解讀完全錯失了重點。

一個不具備深厚驅動程式專業知識的開發者,面對同一個模型宣告問題無解時,就會停手了。AI 並沒有自己找到根因;它不是一覺醒來就知道 round_up() 寫錯了。它做到的,是成為一位元級專家的力量倍增器——這位專家完全清楚自己在看什麼、能評估每一片生成的檢測程式碼,並且能在機器出錯時推翻機器。判斷層留給人類,耐力層交給機器。

這裡還有一個更安靜的里程碑:提交訊息。每個核心貢獻者都知道把它寫好有多枯燥——解釋變更「為何」正確、嘗試過什麼、故障模式長什麼樣子的考古工程。Torvalds 把這份撰寫工作交給一路陪他走完整場偵錯的 AI,就某種意義上,是整個故事裡最自然的科技應用:模型擁有完整上下文,任務是文件記錄而非決策,而且人類在它進入歷史之前審閱了結果。

為什麼這件事超越了 Linux 本身

此時此刻,業界正以宗教般的強度爭論 AI 輔助程式設計。核心開發站在這場辯論的最極端——高風險、數十年生命週期的程式碼,一次錯誤合併就要付出真金白銀;Greg Kroah-Hartman 才剛對 AI 生成的貢獻劃出明確(但細緻的)界線,而 Torvalds 正與之達成和解。

Torvalds 的這場偵錯,是來自地球上對信譽最敏感的程式碼庫的一個數據點,而它說的話比任一陣營的口號都更精確:AI 沒有修好這個 bug。Torvalds 也沒有獨力修好它。是這個組合——一位固執的專家掌舵、一個不知疲倦的模型苦幹——修好了它,而他們協作的產物,如今永久保存在驅動著網際網路大半流量的作業系統的 git 歷史裡。

對所有正在使用編碼代理(coding agent)打造產品的人,結論不言自明:工具的價值隨著握方向盤的人類的專業度而放大,而模型的信心不是證據。當 AI 說「不可能」時,那不是結論——那是去找一個更固執的人類的訊號。最好是你自己。

這個修復將隨 Linux 7.3 出貨,並已排入穩定版回移植佇列。在那份由機器撰寫的提交訊息裡,某處藏著一句關於一個拒絕放棄的人的話。