雙週複盤 2026-W44|開工變便宜了,判斷對不對還沒有

10/16–10/31 的 GitHub 盤點:196 個 commit、7 個 repo、三個新專案(Renn、Tidemark、一葉一日)。開新專案已經便宜到可以想到就做,但這兩週真正的問題都是「做出來了,但不對」——LLM 題庫只挑最長選項就能及格、方向複盤只看產出沒看方法、子代理的判定沒回到來源核對。

上週刷 AIoT 考科二的題庫時,遇到一題資安題。四個選項裡只有一個寫成「稽核日誌,記錄操作者、時間、對象與動作」,其他三個都是光禿禿的名詞:傳輸加密、資料壓縮、負載平衡。題目還沒讀懂,答案就已經跳出來了。往下多做幾題,發現不只這一題,整個系列都是這樣。

這個題庫是我用 LLM 生成、放在自己架的練習網站上,月底就要考 AIoT 了。被自己做的東西擺了一道,感覺有點微妙。不過回頭看這兩週,這件事並不是例外,反而是貫穿整段時間的一條線。

兩週、七個 repo、三個新專案

先交代數字。10/16 到 10/31,GitHub 上一共 196 個 commit,散在 7 個 repo。16 天裡只有 10/31 完全沒動。上一期是 55 個 commit、9 個工作天,這期的量大概是三倍多。

量增加,主要是因為新專案:

  • Renn 是起司製作的科學網站,沿用了 Nevé(義式冰淇淋筆記)的資料來源和筆記系統。從提案收斂到部署上線只用了一天。
  • Tidemark 是台股基本面研究的 agent。10/24 早上寫完提案與架構,當天下午第一版程式就在跑了。
  • PlantOS(後來改名「一葉一日」)是自己用的水耕種植日誌,一個晚上從資料契約做到私有雲端同步。

Lantern 也持續推進:即時通道從 SSE 換成 WebTransport,班級功能多了聯絡簿、注音與楷體、出缺勤匯出,還有手寫板。另外也做了一份五年級英文期中考的複習內容。

proposals repo 裡的決策編號從 D-043 一路寫到 D-078,兩週記下了 36 個決策。

只看這些,結論很容易下:有了 AI 協作,開新專案的成本已經低到可以「想到就做」。這是真的。但這兩週真正讓我停下來的都不是「做不出來」,而是「做出來了,但不對」,而且不對的方式很一致。

檢查過了,只是檢查的不是那件事

回到題庫。我把每個題庫都量了一次:假設一個完全不懂內容的考生,每題只挑最長的選項,能拿幾分?AIoT 考科二的新題庫是 83 分,及格線是 70。中級三科更誇張,87 到 97 分。同樣的策略用在官方真題上,只拿得到 36 到 63 分。官方題目也有長度偏差,但從來沒有到「不讀題也能及格」的程度。

最尷尬的是,這條規則我早就寫了。8 月中的題庫規格明文寫著:「四個選項長度相近;正解特別長是最好認的破綻」。初級題庫也經過八輪 LLM 內容複審,可是每一輪問的都是「正解對不對、詳解是否吻合」,沒有一輪站在不懂內容的考生那邊,問「好不好猜」。逐題讀的時候,正解寫得比較完整看起來是優點,要把整個題庫放在一起統計才看得出是缺陷。測試檢查的是容易量的東西,像正解字母分布、認知層級、題型。長度一樣容易量,只是沒人把它寫成測試。

修的過程也有意思。長度只是症狀,病根是干擾項太弱。LLM 出題時把力氣花在讓正解無懈可擊,錯誤選項就隨手湊,中級題庫裡甚至出現「報表有頁碼」「訓練當天的辦公室溫度」這種選項。所以修法不是把正解刪短,而是把干擾項重寫成真實的誤解。

第一批改完又矯枉過正:正解幾乎從來不是最長的,反而成了反向線索。最後連同初級和舊的自編題,一共改了一千兩百多題,「只挑最長」的分數降到 23 到 33 分,接近亂猜的 25 分。我也加上了守衛測試,分數只准變好、不准變壞。

Tidemark 遇到的是同一種事,只是換了形狀。10/25 早上我做了一次方向複盤,結論是「方向符合,執行還沒到」。那次複盤看的是產出,例如短名單出來了沒、數字卡對不對,卻沒問方法本身:研究應該從數字起手,還是從公司的變化起手?結果之後整整一天都在把量化那一端做厚,直到我寫了一份方向文件,才轉成「質化優先、量化驗證」。損失不大,數字卡變成驗證工具,篩選變成對照組,但這段路本來可以不用繞。

同一天還有個小插曲。子代理盤點資料來源時,把智慧財產局的專利 API 判定為「可直接使用」。這個結論一路被轉述進決策,我也照著同意了。真的要實作時讀了說明文件,才發現要先申請驗證碼,否則只會回範例資料。

只有碰到現實才知道的事

反過來看,這兩週最可靠的結論,幾乎都來自實際跑一次。

Tidemark 原本打算把抓資料全部放在 Cloudflare Workers 上,結果櫃買中心直接擋掉來自 Cloudflare 的連線。只好先改在自己的 Mac 上跑,最後落在 GCP 的 Cloud Run。

Lantern 的即時通道在兩核心、3 GB 的展示機上實際壓到一萬條連線,零中斷,P95 1.6 秒。調整後能乾淨撐到三萬,接近三萬八時被記憶體卡住。過程中還發現,設定的記憶體上限在 Raspberry Pi OS 上根本不生效。店裡的 iPhone、iPad 也都實機連過一輪。

一葉一日在 iPhone 上選照片會被擋。這件事在桌機模擬上怎麼測都不會出現,只能拿手機實測,再補上一條改走「檔案」的路。

這些都不是規格裡寫得出來的,而是現實回給你的答案。

把這兩件事放在一起看,結論和上一期很像,但更具體一點。上一期說「盲區在檢查本身」,這一期則看到盲區通常長在三個地方:

  1. 寫在文件裡、卻沒有變成測試的規則。
  2. 轉述了、卻沒有回到來源核對的結論。
  3. 只檢查產出、沒有檢查方法的複盤。

三者的共同點是:看起來都已經檢查過了。

所以這兩週,AGENTS.md 裡也多了幾條規則:

  • commit 訊息與文件只寫已確認的事實。
  • 子代理的關鍵判定,尤其是「可用」「免費」「不需申請」這類,轉述前要自己回到來源看一次。
  • 方向複盤除了問「做出來沒有」,也要問「方法是不是我要的」。

月底節奏明顯慢了下來。10/27 之後每天只剩個位數的 commit,主要在收題庫的尾巴,月底也正好是考試的時間。開工的速度大概不會再是瓶頸了。接下來想多花點心思的,是怎麼讓「知道它對不對」也跟上同樣的速度。


參考來源


留言與回饋