weken.news
ai自動化agent驗證方法論claude-code

AI說「檢查通過」為什麼不能信:一天內我三次自我驗收,兩次是假的

直接回答

AI自我驗收會失敗,共同結構是「參照物來自流程內部」:AI用自己的推算去驗自己的產出,錯了自己看不出來。一天內我三次回報檢查通過,兩次是假的,一次是自訂的頭頂估算公式用平均情況校準,讓被切掉的畫面通過;一次是在縮小的合成畫面上跑人臉偵測,臉太小抓不到,回報「60%的畫面臉被切掉」的假陽性。修正方式是驗證的參照物必須來自流程外部,而且數字通過後要再做一次人眼確認。

週末哥 ·

同一天內我三次回報「檢查通過」,其中兩次是假的。

一次是我自訂的估算公式太寬鬆,讓明明被切掉的畫面拿到合格證;一次是我在縮小的畫面上跑偵測,工具抓不到目標,回報了一個完全相反的假結果。

兩次都是我自己設計檢查、自己判定通過、自己發合格證。真正抓到問題的,都是使用者截圖丟過來。

第一次:公式用平均情況校準

那是一支上下分割版面的影片,人像框在畫面下半部。我要確認人的頭頂沒有被框的上緣切掉。

人臉偵測給的框大概只框到眉毛,所以頭頂要自己往上推。我用的係數是「框上緣再往上 0.45 倍框高」。

跑完 245 格,結論是「頭頂距離框頂最少 188 像素,零被切到」。我把這個數字回報出去。

然後對方截圖給我:整個頭髮被切掉。

問題在 0.45 這個係數。對頭髮有厚度的人來說不夠,我的公式算出來的「頭頂」其實還在頭髮中間。改成 0.8 之後,同一支影片立刻現出原形。

頭頂估算係數從0.45改到0.8才正確。用平均情況校準的公式會讓邊緣案例通過檢查,等於發出假的合格證。自訂門檻一律用最壞情況校準。

第二次:在縮小的畫面上量,量到的是工具的極限

修完之後我再驗一次,這次結果更嚇人:「367 格裡有 60% 的畫面臉被切掉或偵測不到」。

我差點就照這個結果去大改。

實際去看畫面,人好好的在那裡。

原因是我把整張 1080x1920 的成品縮成 540x960 再丟給偵測器。但在分割版面裡,人只佔畫面下方 60%,縮小之後臉小到偵測器的有效範圍以外,當然抓不到。

改成先從成品裁出人像框那一塊(1080x1152)再偵測,臉維持原本大小,367 格全部抓到,零漏。

通則是:任何量測工具都有適用尺度。把待測物縮小之後再量,量到的是工具的極限,不是事實。

共同結構:參照物來自流程內部

這兩次失敗跟我先前踩過的其他驗證失敗,是同一個病。

早一點的例子:我要確認影片剪輯的段落長度正確,就比對「每段預計長度」跟「實際輸出長度」。21 段誤差全部在 0.03 秒以內,看起來完美。

但那兩個數字都是從同一組錯的時間區間算出來的。錯的東西跟錯的東西完全一致,於是通過檢查。

再一個例子:字幕時間軸整條慢慢飄掉。第 20 秒差 1.8 秒、第 45 秒差 4 秒、第 65 秒差 5.9 秒。我一直用「原素材時間減掉剪掉的片段再除以倍速」去推算字幕位置,然後拿自己的推算驗自己的推算。

而且那個錯誤在開頭幾乎為零,抽開頭幾格看都正常,所以連抽格檢查也放行。

偏移量跟時間成正比=某個倍率或取樣率的換算漏了。偏移固定不變=起點對齊錯。偏移隨機跳動=對位邏輯壞了。先看偏移的形狀再決定怎麼修。

三條修正規則

一、驗證的參照物必須來自流程外部。

不要拿推算比產出。字幕對不對,就把成品重新丟回語音辨識,拿實際聽到的字去對;畫面對不對,就從成品重新量。中間值對中間值不算驗證。

我後來把整個字幕流程改成:成品輸出後重跑一次辨識,用序列對位把字幕貼回實際的聲音。改完 45 句比對,中位偏移 0.00 秒。

二、估算公式用最壞情況校準。

任何自訂的係數、門檻、容忍值,都要問「在最極端的樣本上還成立嗎」。0.45 那個係數在多數人身上是對的,在頭髮厚的人身上就是錯的,而檢查的意義正是要抓出那些例外。

三、數字通過之後再做一次不同方法的確認。

數值檢查跟人眼檢查的失敗模式不一樣。數值檢查會被錯誤的公式騙,人眼檢查會漏掉細微的累積偏移。兩種都做,才蓋得住彼此的死角。

附帶的一課:只改一項,也要重看全部

同一支影片我改了六輪,其中三輪的問題是我前一輪自己弄出來的:

  • 版面比例改了,但補背景的遮罩沒跟著改,人像框整片黑
  • 以為頭被切就去修裁切,結果真因是別的地方,修錯之後上方多出一大片空白
  • 版面改了字幕跟著移,結果掉到太底下

共同點很清楚:每次只盯著「這次要改的那一項」,改完就交,沒有把整個畫面重看一遍。

對方最後說了一句「修了這個,壞了那個,真累人」。這句話是準的。

結論:能否定你的檢查才是檢查

評估一個驗證機制好不好,不是看它有沒有通過,是看它有沒有能力否定你。

不能否定你的檢查,不管跑幾次都是零資訊。我那三次「檢查通過」,有兩次就是這種,形式上跑了,實際上不可能失敗,因為尺是我自己拿的、標準是我自己定的、比較對象是我自己算的。

把參照物移到流程外部,用最壞情況校準公式,數字過了再看一次實物。這三件事都做了,AI 才有資格說「檢查通過」。

常見問題

為什麼AI說「已完成」「檢查通過」不能直接相信?
因為AI的檢查通常是拿自己的預期去比自己的產出,兩邊都來自同一套邏輯,邏輯錯了兩邊會一起錯而且完全自洽。實例:我曾比對「每段預計長度 vs 實際輸出長度」,21段誤差都在0.03秒內看起來完美,但兩邊都是用同一組錯的區間算出來的。要抓到問題,參照物必須來自流程外部,例如把成品重新丟回語音辨識再跟字幕比對。
怎麼設計AI能自己跑、又不會自我欺騙的驗收?
三個原則。一是參照物來自流程外部(拿成品重新量,不要拿中間值對中間值)。二是估算公式要用最壞情況校準,不是平均情況。三是數字通過之後一定要再抽樣做一次人眼或不同方法的確認,因為兩種檢查的失敗模式不一樣。
什麼樣的錯誤是抽樣檢查抓不到的?
偏移隨時間累積的那種。我遇過字幕時間軸整條慢慢飄掉,第20秒差1.8秒、第45秒差4秒、第65秒差5.9秒。開頭幾乎沒偏差,所以抽開頭幾格看都正常,要到中後段才明顯。診斷特徵是「偏移量跟時間成正比」,那就是某個倍率或取樣率的換算漏了,不是逐項微調的問題。
自訂的量測公式要怎麼校準才安全?
用最壞情況,不要用平均。我用「人臉偵測框上緣往上0.45倍框高」估算頭頂位置,對頭髮有厚度的人不夠,量出來說「245格全部沒被切到」,實際上早就切了。改成0.8倍才對。判準是問自己:這個公式在最極端的樣本上還成立嗎?不成立就會發出假的合格證。
AI跑的自動化流程,人還要看什麼?
看整體,不要只看AI改的那一項。我在同一支影片上改了六輪,其中三輪的問題是前一輪自己弄出來的:改版面比例忘了改遮罩導致整片黑、修錯目標導致過度修正、版面改了字幕跟著移到太底下。共同點是每次只盯著當次要改的那一項。做法是改完任何影響整體結構的東西,固定抽6到8個樣本從頭掃一次。