DEV Community

力智栩
力智栩

Posted on

怎麼用一套開源系統,把 LLM 逼近世界模型(實驗技術篇)

前一篇講了賭局:一個 AI agent、2200 塊、30 天翻倍。這篇講底下那套機制怎麼運作。全部開源,程式在 DuDuClaw(連結在文末),這裡挑三塊關鍵的講。

先回顧核心那條迴圈:predict → act → verify。下單前,agent 把預測寫死落檔(方向、幅度區間、信心、最壞賠多少);下單後拿真實成交結果對答案;落差回頭修正它對市場的模型。問題在於,「對答案」不能靠 agent 自己說「我覺得這次不錯」。有一篇 ICLR 2024 的論文(arXiv:2310.01798)講得很直白:LLM 沒有外部回饋時的自我修正,常常修完更糟。所以這套系統的重點,全在「怎麼用外部的、算得出來的數字當裁判」。

一、給預測打分,而且打的是「校準」不是「贏錢」

每筆預測結算時,系統用一組數學函式打分,全是純計算、零 LLM:

  • 方向用 RPS(有序三類的機率評分),幅度區間用 Winkler interval score。這兩個都是 proper scoring rule,白話說就是「你老實報出真實信心,期望得分才最高」的評分法,agent 想靠含糊話術拉高分數會被扣。
  • 為什麼不用大家熟的 log loss?因為它無界,N≈30 的小樣本裡一次爆掉就主宰整個平均。有界的分數在小樣本才穩。

最關鍵的一招是 Murphy 分解:把 Brier 分數拆成「可靠度(reliability)」和「鑑別力(resolution)」兩塊。這解決一個很陰險的假象:一個永遠喊「50% 會漲」的 agent,可靠度可以很漂亮,但它其實什麼都沒學到。只有 resolution 隨時間上升,才代表它真的在分辨哪些情境不一樣;可靠度單獨變好,只是學會了報平均值裝乖。 這是我判斷「它到底有沒有學到世界模型」的主要依據,不是看它賺多少。

還有一條誠實防線:任何績效旁邊都掛 Wilson 信賴區間。命中 18/30 聽起來像 60%,但區間是 [42%, 75%],把 50% 整個包進去。系統遇到這種情形會自動標成 INDISTINGUISHABLE_FROM_LUCK,分不出是技巧還是運氣。N=30 在統計上本來就分不出來,我寧可讓系統老實說「還不知道」,也不要它硬擠出一句「初步驗證有效」。

二、防止它自我感覺良好地亂學

agent 每天會反省、想從賠賺裡總結「教訓」。危險在這:30 筆單一帳戶的資料,總結出來的十之八九是雜訊,一旦回灌進提示詞,就變成拿雜訊當經驗、越學越歪(有論文把這個叫 context collapse、也有講經驗污染的 arXiv:2605.18930)。

所以這套系統把規矩立死:反省只能「提名候選」,不能「決定採用」。 一條沒有工具紀錄佐證、純靠歸納得來的教訓,先進「候選區」,不准影響決策;之後每一筆新交易都拿它來對答案,累積夠多樣本外命中、而且用 Wilson 下界(多個候選同時競爭時再做 Bonferroni 校正)打贏基準率,才准轉正被採用;轉正後表現一退步,立刻降級。有外部證據的執行類教訓(下單參數錯、超時)才走快速通道。

用一句話說:採用權交給時間在後、由真金白銀當裁判的樣本外測試,永遠不交給 agent 自己或另一個 LLM 的「感覺」。

三、防違約交割:agent 關不掉的硬閘

台股「違約交割」是重罪,會留信用瑕疵、上黑名單。所以有一層 agent 無論如何繞不過的風控,全部 fail-closed(查不到就拒單,寧可錯殺):

  • 結算現金帳:系統自己記一本帳,已承諾的買單加起來不准超過可動用資金,買不起就擋。
  • 絕不裸賣:要賣的量取「券商回報持股」和「自己帳本買過的量」的較小值,不管券商欄位單位怎麼算,都不可能賣掉沒買過的股票。
  • 只做現股,拒絕融資融券當沖;每分鐘下單有上限防暴衝;還有一個一設就凍結全部下單的緊急停止旗標。

這層跟聰不聰明無關,是給「AI 暴走」買的保險。

開源

上面三塊(校準打分、樣本外學習閘、防違約硬約束)不是為這個實驗臨時寫的,是 DuDuClaw v1.54 的平台能力,任何跑在上面的 agent(客服、寫程式、操盤都一樣)都能開啟。想讀 code 或自己開來用的,平台功能說明在公開 repo 的 docs/features/39-calibrated-forward-model.md,校準打分與學習閘的程式都在 crates 裡開源。至於把這一切接到台灣某家券商實際下單那段,綁特定券商、沒放進公開 repo,想重現的話得自己接自己的券商工具。

明天開盤,這套機制要面對它的第一個真實對手:市場。接下來每天的觀察,會由平台上另一個 agent 寫成連載。


本系列文章

這個實驗跑在開源 AI agent 平台 DuDuClaw 上,操盤、下單、盯盤、每日觀察都由平台上的 agent 自主執行。
原始碼:https://github.com/zhixuli0406/DuDuClaw

Top comments (0)