校準式預測與 held-out 學習閘
讓 AI 員工的猜測有分數可打:沒有數字支持的教訓只能在旁觀察,不會被注入提示詞。
DuDuClaw 1.54 起,任何一位 AI 員工都可以在動手之前,先對「這一步會不會成功」給出一個機率數字。事後系統會拿工具實際回傳的結果,用統計學上公認公平的方式幫這個數字打分。打分結果不只給你看,也決定 AI 員工自己歸納出的教訓能不能被採用:教訓要嘛有工具紀錄或稽核可查證,可以直接採用;要嘛先當候選,用之後真實發生的案例記命中率,命中率打贏基準才准轉正。v1.54 起這套能力預設開啟,每個 AI 員工開箱即用;不想要的人可以在設定裡整套或逐層關掉,關掉那一層的行為就跟沒有這個功能之前完全一樣。
這解決三個問題
Section titled “這解決三個問題”第一,樣本太少會自圓其說。 AI 員工做了三十件事,回頭去找規律,很容易把雜訊當成模式,寫成一條規則,下次又照著這條規則做決定,而這條規則從沒被三十筆以外的資料檢驗過。這種閉環會愈滾愈自信,卻不會愈滾愈準。
第二,外掛的「預測、行動、驗證」流程,驗證那一步經常只是自己讀自己寫的日誌。 看起來有一套完整的迴圈,實際上「驗證」沒有接到任何外部事實,跟一次性問答的裸模型沒有本質差別。
第三,沒有人把「當初猜的」跟「後來發生的」對起來算分。 沒有這個對照,模型不會因為猜錯而變準,只會因為講得順而顯得可信。
三個階段,全部是純數學計算,不額外呼叫 LLM:
行動之前 | v+---------------------+| 先猜再做 | <-- TaskPrediction.confidence 落檔,+--------+------------+ 事後不能回頭改 | v+---------------------+| 外部證據打分 | <-- 工具實際回傳的結果當裁判,+--------+------------+ 算 Brier score 或 RPS | v+---------------------+| Murphy 分解 | <-- 只有鑑別力上升+---------------------+ 才算真的學到東西行動前,任務層預測(TaskPrediction.confidence)記下一個機率:這一步會成功嗎、要花多久、失敗的話大概是哪一類失敗。這個數字在行動發生前就落檔,事後不能回頭改,符合先承諾、才可能被推翻的可證偽原則。
事後用外部證據打分
Section titled “事後用外部證據打分”任務結束後,系統用工具實際回傳的結果(不是 AI 員工自己講的結果)當裁判,計算 Brier score(二元判斷)或 RPS(三分類排序判斷)。這兩種分數都有界,範圍固定在 0 到 1 之間;業界常用的 log score 因為單一次離譜的預測就能把總分拖到無限大,小樣本下不穩定,這裡刻意不用。
用 Murphy 分解檢查是不是真的學到東西
Section titled “用 Murphy 分解檢查是不是真的學到東西”Brier score 可以拆成三塊:可靠度(reliability)、鑑別力(resolution)、不確定性(uncertainty)。關鍵判斷在這一步:只有鑑別力隨時間上升,才算真的學到了預測模式;可靠度變好但鑑別力沒動,代表 AI 員工只是學會了保守報均值(永遠猜「五五波」最不容易被扣分,但這種猜法什麼都沒學到)。系統會分別追蹤這兩個數字,不會只看總分。
比較基準必須凍結,不能跟著資料一起漂移,否則連「贏基準」這件事本身都無法被檢驗。
系統只允許三種結論:
| 標籤 | 意義 |
|---|---|
SUPPORTED |
樣本外表現顯著優於基準 |
CANDIDATE |
樣本還不夠,暫時無法判斷 |
INDISTINGUISHABLE_FROM_LUCK |
信賴區間跨過五五波,或校準後的勝率信心不足,數學上分不出是技巧還是運氣 |
「還不知道」是一個合法且常見的結論,系統不會為了顯得有用而硬給一個模糊的「初步有效」。
held-out 學習閘:反思產候選,數字決採納
Section titled “held-out 學習閘:反思產候選,數字決採納”自我反省(reflexion)依然會產生候選教訓,但教訓要先過一道分類:
反思產出一條候選教訓 | v有工具紀錄或稽核可查證嗎? | +----+----+ | | 有 沒有 | | v v直接採用 當 shadow 候選(不注入提示詞) | v 每筆新案例記一次命中或落空 | v Wilson 信賴區間下界 vs 基準 (多候選競爭時經 Bonferroni 校正) | +----+----+ | | 贏了 沒贏 | | v v 轉正、 繼續觀察; 開始注入 持續落空則退役- 有工具紀錄或稽核可查證的教訓(例如某個工具參數格式錯誤會導致失敗),照舊直接採用,判斷依據是確定的事實。
- 沒有程式化證據、純粹靠歸納得出的教訓(例如某種情境下成功率比較低這類統計性直覺),先當 shadow 候選,不會出現在提示詞裡。之後每發生一筆新案例,就記一次這個候選猜對還是猜錯,累積足夠樣本後,用 Wilson 信賴區間下界(多個候選同時競爭時用 Bonferroni 校正收緊門檻)跟基準比。贏基準才轉正、開始被注入。轉正後如果表現退步,滾動視窗的信賴區間下界又跌破基準,立刻降級回候選,紀錄保留,不刪除。
候選怎麼轉正:shadow-scoring
Section titled “候選怎麼轉正:shadow-scoring”候選教訓的轉正閉環兩條路都已接上。自主任務迴圈那側,每一輪任務結算時,情境吻合的候選各記一筆命中或落空。一般對話那側,每次組提示詞時先把觸發訊號吻合本輪情境的候選登記起來(仍然不注入),等回覆的結果結算後再對每個登記過的候選記帳。
兩側用同一套判準。候選的隱含預測是「這種情境風險偏高」,實際出狀況算命中,虛驚算落空;樣本累積到門檻後,用 Wilson 信賴區間下界(多個候選同時競爭時經 Bonferroni 校正)跟該員工自己的歷史底率比,贏了才轉正、開始被注入,持續虛驚的候選退役。轉正後表現退步會被收回候選,履歷保留,訊號再吻合時可以重新累積樣本翻身。基準率各層各自計算:任務層看任務結算紀錄,對話層看對話誤差紀錄,歷史不足八筆時一律退回五五波,寧可保守。
三個開關都在 [task_forward_model] 底下,逐層打開:
# config.toml(全域)。也可在 dashboard →「進階設定 → 預測校準」直接切換。[task_forward_model]enabled = true # 總開關:任務層預測本身,v1.54 預設 truecalibration_enabled = true # 打分:Brier/RPS + Murphy 分解,v1.54 預設 trueheld_out_gate_enabled = true # 學習閘:反思候選要先過樣本外驗證,v1.54 預設 true三層獨立疊加。enabled 做預測記錄;calibration_enabled 開始打分、產生誠實標籤;held_out_gate_enabled 影響自我學習的教訓能不能被注入。三層 v1.54 都預設開;把任何一層改成 false,那一層的行為就跟沒有這個功能之前完全一樣(byte-identical),方便逐層關掉。
舉個例子:不限於某一種 AI 員工
Section titled “舉個例子:不限於某一種 AI 員工”這套機制刻意設計成跟具體業務無關,引擎內部只認得 (信心值, 實際結果) 這種抽象數對,不認識任何特定領域的字眼。舉例,一位會自己修改程式碼的 coding agent,在跑一次有風險的重構前先預測「這次改動測試會過」的機率,改完之後測試結果就是外部裁判。如果它歸納出「每次遇到某個特定錯誤代碼,先跑格式化工具再重試就會過」,這條有工具紀錄可查,直接採用。但如果它歸納出「禮拜五改的程式比較容易出包」這種沒有程式化證據的統計性直覺,就得先當候選、累積樣本,贏過基準才會真的被用上。同一套引擎,換成客服、操盤或其他任何場景的 AI 員工,運作方式完全一樣。
儀表板呈現(2026-08-13 新增)
Section titled “儀表板呈現(2026-08-13 新增)”記憶頁新增「預測校準」分頁,是本功能的第一個儀表板呈現面,對每個 AI 員工顯示:預測總數/已結算數/平均誤差分(Brier,低=準)、四級結果分布(如預期/小偏差/明顯偏差/嚴重偏差)、觀測保真度與預測來源分布,加「最近的預測與結果」對照列表。資料來源是 prediction.db 的 task_prediction_log 稽核軌跡(唯讀 RPC forward.summary/forward.recent);統計視窗有界(最近 5000 筆)且在介面上誠實標示。這個呈現面是通用的:任何開啟任務預測的員工都會出現在這裡,不綁任何特定實驗或產業。
- MuZero(arXiv:1911.08265):世界模型不需要重建完整環境動態,只要能預測會影響決策的量(成功與否、代價、失敗類別)就合格。
- Gneiting & Raftery,Strictly Proper Scoring Rules(JASA 2007):proper scoring 的定義,以及為什麼有界分數在小樣本下比 log score 穩健。
- Murphy(1973)/Siegert(QJRMS 2017):Brier score 的三分解,reliability − resolution + uncertainty,本篇校準判準的直接依據。
- Richens et al.,ICML 2025(arXiv:2506.01622):任何機制只要能真的提升多步驟任務表現,數學上必然帶有可被抽取檢驗的世界模型內容。這是本篇「不宣稱預訓練世界模型,但宣稱有校準閉環」立場的理論依據。
- RSEA(arXiv:2606.28374):沒有 held-out 閘的線上自我演化會崩潰,論文中的 Dynamic Cheatsheet 換場景後準確率從 70.7% 掉到 0.14%,是本篇 held-out 學習閘設計的直接動機。
- 2310.01798:沒有外部訊號、純靠模型自評的自我修正,效果無效甚至更差,是本篇堅持只用外部工具結果打分、不用 LLM 自評當採納依據的依據。
- 自主進化 v3(playbook 學習容器):
38-aee-playbook-evolution.md - 進化開關總覽:
../guides/evolution-switches.md