← 回找工具
現場紀錄

報表每一項都是 0,而它回報成功

一支掃描腳本掃完 54 支作品,每一項都是 0 支。它沒有報錯,因為它要用的那個工具根本不在這台機器上——呼叫失敗回的是空的,空的算出來就是 0,而 0 是一個合法的數字。

2026-09-17 · 作者整理:Lucas

我想知道自己這些年做的 54 支作品,各自用到了哪些外面的東西。一支一支翻太慢,我就寫了一段程式去數。

它跑完了。沒有紅字,最後印出一份排得整整齊齊的報表。我低頭往下看:地圖,0 支。地理查詢,0 支。天氣,0 支。高程,0 支。一路到底,每一項都是 0。

報表項目                     掃出來的支數
────────────────────────────────────────
  地圖函式庫                        0 支
  地理查詢                          0 支
  天氣資料                          0 支
  高程資料                          0 支
────────────────────────────────────────
  結束代碼 0,格式完整,零錯誤訊息

我以為發生了什麼

我以為這份報表在告訴我一件事:素材不夠。

那一刻我心裡已經下好結論:這個題目做不起來。差一點就照著這份報表回報出去。

會相信它,是因為它該有的樣子全都有。結束代碼是 0,代表順利收工;欄位對齊、每一列都印出來了。一份格式完整的報表,看起來就像一份跑過的報表。

實際發生了什麼

2026-09-17,我把那支腳本原封不動再跑一次,這次先單獨呼叫它內部要用的那個搜尋程式。

它不在。第二版為了跑快一點,我換了一個比較快的搜尋程式來掃,而它根本沒裝在這台機器的執行路徑裡。

接下來是一條直線:每次呼叫都失敗,失敗的輸出是空的,空的拿去統計就是 0——而 0 是一個合法的統計結果,程式沒有任何理由報錯。

換回原本比較慢的做法重跑,同一批資料夾、同一份關鍵字,這次實際掃了 5,611 個程式碼檔、66 支 App,地圖函式庫掃出 14 支。

官方文件寫了嗎

沒有官方文件可以查,因為這支腳本是我自己寫的。

這句話聽起來像藉口,其實正是問題本身。自己寫的工具沒有人幫你寫使用說明,也沒有人幫你在旁邊標一行警告。 官方文件至少會告訴你某個呼叫失敗時會回什麼;自己寫的東西,你記得的是你打算讓它怎麼做,不是它實際上怎麼做。

別人的工具騙你,你還會懷疑它。自己的工具騙你,你只會懷疑資料。

你一定會踩的那個細節

這是空集合讓檢查假通過的典型。

危險在於:0 不是錯誤訊息,0 是一個答案。「這批作品裡有 0 支用到地圖」跟「我根本沒掃到任何一個檔」在報表上長得一模一樣,程式分不出這兩件事——除非你自己讓它分。

擋住它只有一個方法:任何統計都要先斷言工具真的跑起來了,而不是直接相信它的輸出。

在統計任何東西之前,先確認工具真的在:

1. 單獨呼叫一次那個工具,只印它的版本
2. 拿不到版本就當場停掉,不要往下跑
3. 跑完統計,印出「掃了幾個檔、命中幾支」

掃到的檔數是 0,就是工具沒跑起來,
不是專案裡真的沒有。兩個數字都印出來,
你才分得出「沒找到」和「根本沒找」。

另外一半是交叉驗證:14 能用,不是因為它是程式算的,是因為另一次完全獨立的人工清點也得到 14。單一方法給出的數字再漂亮,都只是一個說法。

站內延伸

來源: Lucas 實測,自己寫的掃描腳本,2026-09-17。重跑方式:把腳本原封不動再跑一次,確認工具不在執行路徑時它照樣回報成功、結束代碼 0。

一份跑失敗的統計,跟一份跑成功但結果是零的統計,在螢幕上長得一樣。要分開它們不能等它報錯,得自己在算之前多問一句:這個數字是從幾個樣本裡算出來的。問不出樣本數的,不管印出什麼都不算數。

← 看更多找觀念文章
取得 AI 實戰工具與更新

之後會不定期整理:新方法、指令包(Prompt Pack)、Checklist 與模板。免費、無廣告;送出後會收到一封確認信,點了連結才算訂閱成功,之後每封信都附一鍵退訂。