iT邦幫忙

2026 iThome 鐵人賽

DAY 29
0
AI 自動化

我以為我保留了五道閘門系列 第 29

Day 29|17 份文件、6 支腳本,複用次數 0

  • 分享至 

  • xImage
  •  

模組六|治理與收斂(Day 28–30)

昨天講 AI 協作留下的垃圾。今天講一種更貴的:寫得很完整、看起來很專業、然後一次都沒再用過的東西。

最大的一筆

某一集的目錄裡,有一整套影片美化與硬字幕工作流:

17 份 md / txt
 6 支 py / sh
完整方案說明
兩份不同 GUI 剪輯軟體的設置指南
主流程文件
三個步驟腳本
字幕轉檔工具
一份字幕樣式檔

我把每一支檔名拿去全 repo 搜尋。

每一支都只有那一集有。之後零命中。

兩個諷刺的地方

一、那批文件是簡體中文。

repo 其他所有檔案都是繁體。這批不是。

這是「AI 產出之後直接落盤、沒有人整理過」的痕跡:它甚至沒有經過一次通讀,因為通讀一定會發現語言不對。

二、它假設要用 GUI 工具。

那兩份設置指南就是在教怎麼在剪輯軟體裡設參數。

而同一集後來的剪輯記錄,走的是純 FFmpeg 加程式繪圖的路線。理由寫在記錄裡:本機的 FFmpeg 沒有編進字幕相關的濾鏡,所以改用另一條路。

一套完整的方案文件寫完之後,被自己的後續決策否決了。

第二筆:明示的複用意圖,實際複用 0 次

另一支短影片切片工具,開頭的註解寫著:

開頭有「換一集怎麼改」的清單,未來其他集數可直接複製過去改參數。

我搜了全 repo。那支腳本只有一份。

寫這行註解的時候,我是真的打算複用它的。而它一次都沒有被複用。

為什麼?大概是因為下一集的需求不太一樣,改參數不夠,於是我又寫了一支新的,而新的那支也留了一樣的註解。

「未來可以複用」是一種預測,而多數預測是錯的。

第三筆:檔名裡的化石

還有一組三段式工具鏈,只存在於同一集的兩次上架。

而它的檔名裡帶著 try5

第五次嘗試的化石,直接被固化進了檔名。

對照組:有被沿用的長什麼樣

不是所有東西都這樣。有兩類東西被沿用得很好:

一、封面與直式圖腳本,存在於 13 個集數目錄。

二、某組去空白與變速參數,在腳本註解裡被標為「沿用某段集數慣例」,跨越了十幾集。

那是全系列唯一一個被明文標為「慣例」的設定。

而它們跟沒被沿用的那些,差別在哪?

被沿用的 沒被沿用的
解決的問題 每一集都會遇到 某一集的特殊需求
產出 封面、直式圖、音訊參數 硬字幕、特殊切片
當時知道嗎 不知道

差別在於它解決的是「每次」的問題,還是「這次」的問題。

而關鍵是最後一列:在寫下的當下,我不知道自己在寫哪一種。

AI 讓這件事變嚴重

我把秤「值不值得」的天平,從產線上搬開了

這個問題以前也有,只是規模不同。

以前寫一套完整方案文件要花一天,所以我會先想清楚值不值得。現在十分鐘就能產出 17 份文件。

於是順序反了:

以前:判斷值不值得 → 寫
現在:寫 → (沒有判斷這一步)

AI 讓「寫一份完整方案」變得非常便宜,於是完整方案的數量會超過你能維護的數量。

而每一份留在 repo 裡的方案都有持續成本:它會進搜尋結果、會被新人(或未來的我)當成有效的做法、會讓 repo 看起來比實際上更複雜。

Day 11 講過壞掉的按鈕有三個持續成本。這裡是同一件事,只是規模是 17 倍。

生命週期標記,是我做對的少數事之一

Day 28 講過那份熵減提案,其中一項要求是:

必須維護 active / legacy / archive-candidate 三態標記

而它的關鍵不在三個狀態,在於它要求你在寫下的當下就標。

因為事後判斷「這支腳本還有用嗎」非常貴:你要讀懂它、要確認沒人引用、要判斷它解決的問題還在不在。而在寫下的當下,你知道自己在寫什麼:

這是為這一次寫的,還是為每一次寫的?

答不出來 → 標 archive-candidate

這一問只花三秒,而它省掉的是未來某個人半小時的考古。

這是這整個系列裡,第二個「有效的規則」的例子(第一個是 Day 8 那兩個 in 判斷)。而它有效的原因跟 Day 8 不同,不是因為它可以被自動檢查,是因為它把判斷放在資訊最完整的那一刻。

一個更陰險的故障模式

我一手轉滾筒,一手按著自己剛手寫的那頁

還有一筆,性質不太一樣但值得放在這裡。

某份剪輯記錄的末尾有一行警告(原文大意):

⚠️ 如果再跑一次剪輯腳本,本檔(中文敘事版)會被程式的 log 輸出覆蓋成英文版。
若要保留,需在管線跑完後手動重存,或改腳本模板。

我手寫的工程日誌,會被自動化產生的機器格式蓋掉。

警告寫了。兩個建議解法,一個都沒執行。

而更早的兩集剪輯記錄,正好就是英文機器格式,也就是說,那件事已經發生過了,只是當時沒發現。

這是 Day 3 那第五道閘門(不得覆寫既有成品)真正想擋的東西。而它擋不到,因為執行覆寫的不是 AI,是我自己寫的那支腳本。

自動化吃掉人工內容是靜默的。 沒有錯誤訊息,因為對程式來說那就是它該做的事。

代價

那 17 份文件我沒刪。

它們還在那個目錄裡,簡體中文、教一套沒在用的工作流。而刪掉它們的成本是零:git rm 就好。

我沒刪的原因說出來有點蠢:因為它們看起來很完整。 一個寫得很詳細的文件,刪掉它感覺像在浪費什麼。

而那正是這一類垃圾最難處理的地方:它們不像垃圾。

第二個代價:那個「會被覆蓋」的問題到現在還在。 我知道、我寫了警告、兩個解法都是十分鐘的事,而我選擇了「記得不要重跑那支腳本」。

帶走什麼

寫下任何東西的當下,問一句:這是為這一次寫的,還是為每一次寫的?

答不出來就標成一次性。這一問花三秒,而它是唯一一個在資訊最完整的時刻做判斷的機會,之後每過一天,你對這個檔案的記憶就少一分。

第二條,AI 時代特有的:

當「產出一份完整方案」變得很便宜,「判斷值不值得」這一步會被跳過。

因為那一步原本是被成本逼出來的:寫一天的東西,你自然會先想想。而十分鐘就能生出來的東西,沒有任何力量逼你先想。

所以那一步要手動加回去。在讓 AI 產出一套方案之前,先問:如果它做出來我不用,我會不會把它刪掉? 答案是「不會」的話,那就是在生產垃圾。

第三條:自動化覆蓋人工內容是靜默的。

任何「程式會寫入的檔案」,都不要拿來放手寫內容。它們看起來是同一個檔案,而對程式來說,那只是一個輸出路徑。

明天是最後一天。回收第一天那三個數字,講那五道閘門後來怎麼了。


上一篇
Day 28|清理規則寫得比垃圾慢
系列文
我以為我保留了五道閘門29
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言