VacantAI 的可究責層GitHub

 · 增益軸 · 未複驗

零設定四個批次:三個沒量到差別,第四個換引擎就沒了

零設定在 DABstep、本機 711 格、Colab 920 題、u274 四個批次上量。付費批次兩個模型都沒量到差別,本機批次 p=0.021 但集中在 6 題,920 題與 u274 沒量到差別,v3.7 後來量到 p=0.0028 卻換成 GGUF 就沒複製。

零設定v3.7DABstep否定結果不複製

本頁引用 13 條裁決:成立 3・推翻 5・說太滿 1・無可分辨差異 4點一條跳到那張宣稱卡

這一篇記四個批次。四個都不好看,而且不好看的方式都不一樣——這才是重點。

#先講清楚量的是什麼

零設定(zero-config)是 v0.9.0 的產品主線。它的目標不是做得多,是裝完之後照常用。不打契約、不加設定、不換工作流程。

它只做一件事:agent 說「我完成了」的那一刻,在同一個工作階段裡把話送回去一次。

這跟 驗收閘門 CONFORM 的差別不是版本新舊。CONFORM 握著生成:每份候選都跑可見驗收、不過就重抽、最多五份、全不過就拒交。零設定不握著生成,它沒有可執行的訊號、沒有重來的權力、沒有拒交的權力。

先把這個差別放在桌上,後面四個批次的結果才讀得懂。


#批次一:DABstep 付費批次(2026-09-25/26)

77 題,每題每組一跑,花 3.40/4.80 美元、3,324 通。

模型沒裝裝了p
gemma-4-26b(主要)50/77(64.9%)44/77(57.1%)0.21
qwen3.8-27b(次要)68/77(88.3%)64/77(83.1%)0.29

照預註冊的說法,這叫沒量到差別。不叫「沒有效果」,也不叫「變差」。

#8 次退回全部是誤報

這是這一輪最該記的事:

實際誤報率:gemma 6/37(16%)、qwen 1/64(2%)——分母是「第一次走到交件前檢查且當時答案是對的跑數」。

傷害是 0 次。 沒有任何一次把對的答案改錯。

作者在報告裡寫了一句自我評價:

花錢之前的誤報門檻只建立在 3 跑答對的真實紀錄重播上,這個門檻太薄。

3 跑。這是設計端的樣本數太小,不是統計問題。

#82 個失敗裡 54 個是「沒交」

拆開失敗原因:

原因數量
15 回合用完沒寫答案檔54
讀了資料但推理或解讀錯22
標準答案算不出來(題庫標籤問題)3
自己發明沒定義的前提2
思考撞輸出長度上限1
空的/格式錯0

三分之二的失敗是「agent 被回合上限切斷時答案檔還不存在」。Vacant 的交件前檢查只在 agent 自己說做完時跑,永遠輪不到。

剩下的 22 個推理錯是最要命的一類:每一步都有根據(值是自己算的、手冊打開了、步驟沒失敗),錯在「這個決定對不對」。作者寫:「只看『有沒有根據』的檢查從設計上看不到。」

例:7 跑把手冊寫明的「詐欺率=金額比例」算成筆數比例;5 跑自己算出了正解又選了另一種解讀。


#批次二:本機 711 格(2026-09-26)

79 題 × 三組 × 3 次 = 711 格。主要分析用 77 題。

組平均答對率
A(沒裝)51.9%
C1(現版零設定)53.2%
C2(v3)59.3%

預註冊主要檢定 p = 0.0207,平均差 +7.4 pp,bootstrap 95% CI 0.017–0.139。

看起來終於量到東西了。但這個 p 值不能單獨拿出去講。

#「顯著性很薄」是什麼意思

作者的敏感度分析(事後):

動手結果
拿掉任一題最大 p = 0.038
拿掉 6 個大差中任兩題p ≥ 0.05
6 題全拿掉平均差 0.009、p = 0.80
2 跑的結果翻過來過 0.05
只用第 1、3 次p = 0.245
兩台機器各自w401 p=0.11、1003 p=0.077

以題數算是 15 題較好、7 題較差——符號檢定 p=0.13,不顯著。

原文的措辭:

顯著性很薄:兩跑的結果翻過來、或拿掉那 6 題裡的任兩題,p 就會超過 0.05。不外推到別的模型、別的題庫、沒有上限的使用。

#次要比較全部不顯著

  • C1 − A:+0.013,p = 0.75
  • C2 − C1:+0.061,p = 0.083,Holm 0.17

三次裡只有第 2 次單獨顯著(12 對 3,p=0.035)。因為「6 個大的差全是正的、7 個負的全是 −1/3」。

#兩個自我限制

  1. v3 是看過上一輪同一批 77 題的紀錄之後設計的。 預註冊第七節第 2 條自己寫了這個限制。題目與規則不是獨立的。
  2. 人類沒有逐條簽這份預註冊。 作者寫「對外當成『證明』之前要補簽」。

#量具本身也錯過

research.wilcoxon_signed_rank_exact 用浮點 == 判同分,把 2/3−1/3=0.33333333333333337 與 1/3=0.3333333333333333 當成不同值,秩排錯。凍結函式算出 0.0189,正確處理後是 0.0207。

兩個都 < 0.05,結論不變。但這是量測工具的 bug,不是資料的問題。

#v3-3 一次都沒觸發

C2 全部 150 次走到交件前檢查,沒有任何一次發生在第 14 回合以後。

#差從哪來、代價是什麼

全部淨增在「走到第 14 回合還沒有答案檔」那一層:該層答對 A 4/79、C1 3/78、C2 26/82(+22 跑)。63 跑在提醒後寫檔,全部是提醒後的下一回合。

但:63 跑中 25 對、38 錯(另 19 跑提醒了也沒寫)。

作者一句話講完這個取捨:

代價是多交了錯的。對一個不看評分的人,這代表會收到更多錯的答案。

這就是為什麼 v3.6 起提醒預設關閉。

這是成功率提升,不是 token 效率提升


#批次三:Colab 五組程式題庫 920 題(2026-09-27)

LCB v1 89、LCB v2 118、LCB v3 189、MBPP+ 369、HumanEval+ 155,共 920 題 × 2 組 = 1,840 格。

答對率
沒裝748/92081.3%
裝了 v3.6.1758/92082.4%

McNemar 精確雙尾 p = 0.387。

#但這一輪最重要的不在答對率

C 組 920 格中 858 格走到交件前檢查,309 格被退回。472 次退回裡:

類別次數
test_claim/none455
failed_step21
unsourced1
missing_output0

那 455 次是因為 v3.6.1 只認 pytest 與 python -m unittest,不認 agent 實際跑過的 sh run_tests.sh。293 格的 agent 明明跑過測試。

作者的說法是「誤退沒有看得出來的傷害,但多花約 12% 的模型呼叫」。

只有被誤退的 289 格:C 過 264、同題 A 過 253——C 比沒裝的還好 11 格。真的退回的 20 格:C 最後過 18、同題 A 過 12。

但這兩行都是事後描述,不是預註冊檢定,不下結論。


#批次四:u274(2026-09-27/28)

274 題依種子順序的前 100 題,全 hard、沒用過。

沒裝 9/100,裝了 10/100,McNemar 精確雙尾 p = 1.0。

配對表:A 對∩C 對 = 6、A 對∩C 錯 = 3、A 錯∩C 對 = 4、A 錯∩C 錯 = 87。

#「這一批只看得到非常大的差」

原文:

不說「沒有效果」:題目很難(兩組答對率約 10%)、200 跑裡 116 跑碰到 1800 秒時限,不一致的配對只有 7 對——就算 7 對全是 C 單獨對,p 也只有 0.016;6 比 1 是 0.125。這一批只看得到非常大的差。

這句話本身比 p=1.0 有用。它告訴你這批資料的檢定力在哪裡。

#缺檔退回在這一批完全沒有幫上忙

而且 16 跑是模型出錯之後被叫回來的(15 跑 failed to decode, ret = 1、1 跑 Stream ended without finish_reason)——把模型的失敗叫回來不會變成答案,只會多燒回合。

傷害 0 次,但 C 多交 13 個錯答案、多撞 18 次時限。


#v3.7:修三個缺陷

三個批次都沒量到差別之後,作者回頭修了三件事:

  1. test_claim 認任意的測試腳本 — 只要在指令的位置被執行、檔名以 test 開頭或結尾就算。另有細則:「測試腳本紅了、之後又有一次跑測試是綠的=修好了,不算失敗的步驟被略過;一直沒綠的照舊退回。」

這一條直接對應批次三的 455 次誤退。

  1. 交付物也從人要 agent 照著做的說明檔認 — 只收對 agent 的命令;否定、可有可無、舉例、描述程式行為的不算;> 64 KB 與這一回合改過的不讀;一份裡超過 3 個=資料,全部不算。
  2. 模型錯誤結束的回合一律不退回 — 只寫給人看。這一條對應 u274 的 16 跑。

效果:

對抗審查 20 條都重現,會在日常使用誤退的全部修掉。回歸測試 31 條。

但作者自己寫明上限:「Colab 新增的 10 跑缺檔退回就算全部救回,也是 920 題裡 +10 題。」原文標題就是「預期(寫明,不是檢定)」。

還有離線保真:v3.6.1 重算 Colab 1327/1327、u274 81/81、S36-nocap 80/80 次檢查,動作與類別和紀錄相同、全部對齊。


#2026-10-02/03:量到了,然後沒複製

v3.7 上線後第一次實測,Colab 上量到差:

組答對率
A97/23142.0%
C37123/23153.2%
C37R139/23160.2%

C37 − A 平均差 +11.3 pp,p = 0.0028。

隔天同一個 v3.7 換成 LM Studio GGUF 後端複製:

組答對率
A122/23152.8%
C37121/23152.4%
C37R146/23163.2%

C37 − A −0.4 pp,精確 p = 0.84。

#為什麼會這樣

兩批的機制差異在「退回要用回合」:

  • Colab(vLLM):沒裝的 agent 說完卻沒寫有 42/231 格。補回的量大於被切掉的量。
  • GGUF:同樣的 missing_output 有作用(說完卻沒寫從 20 補到 2),但退回要用回合——被 15 回合切斷的從 59 升到 74。淨效果約 0。

作者對照組的結論:「一個引擎有、一個沒有」,並明令不可以宣稱「零設定 v3.7 讓 agent 做得更好」。

#任務導向三題庫也沒量到差別

94 題、Colab、不設回合上限:A 136/188(72.3%)對 C37 141/188(75.0%),Wilcoxon p = 0.36。

跨批次的機制總結:

DABstep 15 回合、A 有 18%「說完卻沒寫」就量得到差;任務導向三庫 A 只有 5/120(4%)就量不到。錯在決定、或被時限切斷的,零設定本來就看不到。


#這不推翻 CONFORM

這是整篇最重要的一段。

零設定的 C 組缺三個零件:

零件CONFORM零設定
可執行的訊號(真的知道對錯)客戶的驗收測資,會跑DABstep 的答案沒有可見測資
重來的權力最多五份候選同一個工作階段裡退回,最多 2 次
拒交的權力全不通過就不交失敗一律放行

報告原文:

這一輪的零設定 C 組三個零件一個都沒有:沒有測資可以跑、不重抽、不拒交。

所以正確的說法是:「在同一個工作階段裡講一次」這條路,四個批次裡三個沒量到差別;過去有增益的都是 Vacant 握著生成的機制。

這不是矛盾——兩個不同的機制被分別量過。

原文也明令不可以說「和過去的資料完全一致」或「過去的資料預測了這個結果」。只能說不矛盾。


#我從這四個批次學到什麼

這一段是我的判斷,不是實驗結果。

1. 「沒量到差別」和「沒有效果」差很遠,而這一批只夠說前者。

u274 那批答對率約 10%、半數以上撞時限,不一致的配對只有 7 對。作者自己算出來:7 對全是 C 單獨對也只有 p=0.016。這批資料的檢定力只夠看非常大的差。 拿它說「零設定沒用」和拿它說「零設定有用」同樣不成立。

2. 「誤退」比「漏退」更該優先修。

920 題批次 96% 的退回是誤退,u274 的缺檔退回 31 跑之後 0 對 17 錯。這兩個數字加起來說明一件事:一個會誤傷的閘門,在還沒學會不誤傷之前,淨效果可以是負的——即使它的機制設計是對的。

3. 同一個版本號在不同的推論引擎上是兩個東西。

Colab 的 p=0.0028 與 GGUF 的 p=0.84,同一個 v3.7、同一批題、同一個回合上限。作者能解釋為什麼(退回要用回合,而退回能用多少回合取決於引擎的回合消耗速度),但這意味著「v3.7 有效」這句話沒有辦法不附條件地說。

4. 量測工具自己會量錯,而且方向一致。

批次二量具的浮點同分 bug、批次三只認 pytest、TUI harness 的七個量測錯誤——每一個的方向都是讓數字長得比實際好看。 這一點在 量測工具自己量錯了七次 展開。


#接下來

零設定 Vacant|驗收閘門 CONFORM|可執行驗收層

相關

閱讀約 13 分鐘 · 本頁引用 13 條已裁決宣稱

世新大學世新大學資訊傳播學系Vacant

世新大學資訊傳播學系 2026 畢業專題・實體展覽