我上週請 AI 幫我寫提交訊息。
程式碼變更很簡單,只是修了一個 bug。一行而已,如果我肯花十秒鐘想一下,完全可以用一句話解釋清楚。

AI 寫的是:

更新了一些東西。修正了一些問題。提升了效能。

就這樣。
四個字,不但完全沒幫助,還是武器級的空洞。我盯著它看了一會兒,然後關掉分頁。接著——我也說不太清楚原因——我又把它打開,再看了一次,好像第二次看會變好一樣。

我無法把它送出。不是因為技術上錯了,而是因為它毫無靈魂。它完全沒有告訴未來的讀者,發生了什麼、為什麼會發生,或者這件事到底重不重要。

那時我突然意識到:AI 會寫程式,但它顯然寫不出像一個「有哪怕一點點在乎的人」會寫出的訊息。

以下是我讓 AI 幫我寫了一週提交訊息之後,發生了什麼事——以及為什麼我再也不想這麼做了。


提交訊息原本的意義

我以前其實會花時間寫提交訊息。

不是花好幾個小時,也不是每次都像寫產品說明那樣認真。但至少會花一點心思——寫一句話說明「為什麼改」,而不只是「改了什麼」。有時會附上一個我曾經考慮過、最後又放棄的取捨。有時會連到工單。有時會用一句話說明一個真的很怪的邊界情況,不然未來的我看到時一定會滿臉問號。

這段訊息其實不是寫給程式碼看的。程式碼本身最後會自己說明一切,只要你願意仔細讀。這段訊息是寫給下一個人看的——那個六個月後、在除錯中途翻到這筆提交的人,然後心想:到底為什麼有人會這樣做?

好的提交訊息,是送給未來自己的小而精準的禮物;或者是送給下一個接手你程式碼的人。

我真的沒發現自己已經不再送這份禮物了。直到我把這工作交給 AI,然後收到一面完美、乾淨的鏡子,把我最近到底有多不用心照得一清二楚。


AI 的提交訊息:一場羞恥展示

以下是 AI 為我最近三筆實際提交產生的內容。我分享出來,是因為我想你大概會認得這種調性,就算你沒看過這幾句一模一樣的話。

1. 修了一些東西。
三個字。零脈絡。完全看不出修了什麼、為什麼要修,或這件事到底誰在乎。

2. 提升了效能。
提升多少?在哪一段程式碼?靠什麼機制?跟什麼基準相比?這段訊息沒有回答任何問題,卻還是莫名其妙地說得很有自信。

3. 錯誤修正與其他改進。
這大概是英文裡存在過最萬用的一句話。嚴格來說,它幾乎可以套用到任何人做過的任何提交。

AI 有實際的 diff 可以看。它逐行看過到底改了什麼。可是在擁有這些資訊的情況下,它選擇了幾乎什麼都不說。

真正讓我在意的是這一點:這些訊息連對另一個 AI 也沒什麼幫助。假如六個月後另一個模型在試著理解這個檔案的歷史時看到「修了一些東西」,它得到的訊號,跟人類看到時一樣少——也就是說,幾乎沒有。

問題其實不只是提交訊息本身,而是它反映出來的狀態。我悄悄地停止關心自己程式碼背後的故事;而被訓練成「幫忙、無害」的 AI,只是把這份冷漠原封不動地照回給我,還包裝成完整句子。


這件事為什麼真的重要

提交訊息不只是 Git 歷史上的裝飾。它們不是可有可無的雜務。

它是給六個月後接手這段程式碼的同事看的,讓對方在動手之前先明白當初為什麼要做這個決定。它是給做 code review 的人看的,幫助他判斷這個變更是否合理。它也是給你看的——沒錯,就是你,半夜兩點盯著 stack trace,努力回想自己當初到底在想什麼。

好的提交訊息只回答一個問題:為什麼要這樣做?

糟糕的提交訊息什麼都沒回答,卻跟好的訊息一樣佔位子。

AI 會給我這些空泛、空洞的提交訊息,是因為——而這就是最不舒服的部分——在我叫它接手之前,我自己就已經有一陣子在寫這種空泛、空洞的訊息了。它只是從我最近的習慣中學到了這個模式,再用零偏差、零評語的方式把我的懶惰照回給我。

真正讓我覺得丟臉的就是這件事。不是 AI 的輸出,而是我的。

問題不是 AI,而是我;AI 只是把這件事顯示出來而已。


這次的教訓

我現在又開始自己寫提交訊息了。

不是因為我對一般的 AI 協助有什麼禁忌——我在其他事情上還是常常用它。但因為我在這個過程中某個時刻突然意識到:提交訊息本來就不是要讓電腦生成的。它是給人看的,而且它應該聽起來就像是由一個真的有在注意的人寫的。

AI 可以寫程式。可以重構、可以建議、可以生成、可以自動補完。但它顯然做不到——至少在我自己先真的在乎之前做不到——替變更發生的原因寫出故事。而故事,才是對下一個審查者、下一個維護者、以及在某個我不想指定的時間點除錯的未來自己,真正重要的部分。

我不需要 AI 幫我寫提交訊息。

我只需要每次提交時,花大概十五秒,認真到足以自己寫出來。


一個問題

你看過最糟的提交訊息是什麼?或者老實說,你自己寫過最糟的提交訊息是什麼?

我先來:「修了一些東西。」

我不以此為榮,但我願意承認。

輪到你了。👇

我有用 AI 協助整理這篇文章的架構與想法。這段經歷、「修了一些東西」這筆提交訊息,以及那份令人尷尬的領悟,都是我自己的。


原文出處:https://dev.to/harsh2644/i-asked-ai-to-write-my-commit-messages-it-was-embarrassing-a6i


精選技術文章翻譯,幫助開發者持續吸收新知。

共有 0 則留言


精選技術文章翻譯,幫助開發者持續吸收新知。
🏆 本月排行榜
🥇
站長阿川
📝15   ❤️1
436
🥈
我愛JS
📝1  
13
評分標準:發文×10 + 留言×3 + 獲讚×5 + 點讚×1 + 瀏覽數÷10
本數據每小時更新一次
📢 贊助商廣告 · 我要刊登