反詐投資王

稽核紀錄(Audit Trail)

本文件是本專案九輪多模型交叉稽核的公開紀錄。 所有數字都來自 git 歷史,每一條都附 commit hash,可用 git log --format=full <hash> 逐字核對。我們沒有寫在 commit 裡的戰果, 這裡也不會出現。


本頁是什麼/不是什麼:這是由專案維護者執行、AI 模型輔助的內部交叉審查紀錄 —— 不是第三方稽核、不是官方認證、不是金融背書。價值在於全部可用 git log 與測試自行重算,不在於頭銜。

1. 為什麼要公開稽核紀錄

這個專案的核心主張是:對別人的績效宣稱要求證據,對自己的工具也一樣。

我們用統計檢定去質疑「老師」的對帳單、掃描群組話術、戳破倖存者偏差。 一個做這種事的工具,如果自己的統計實作有錯、自己的文案誇大、自己的 修復偷偷引入新 bug 而不揭露,那它就是它自己譴責的東西。

所以規則很簡單:要求別人透明之前,自己先透明。這份文件公開:

這不是品質保證書。它的意思剛好相反:九輪下來每一輪都還在抓到真問題, 所以合理的預期是現在的版本仍然有未被發現的錯。這份紀錄存在的目的, 是讓你有辦法自己驗證,而不是要你相信我們。


2. 方法:獨立審查 → 交叉辯論 → 對抗性驗證 → 修復 → 外部複核

每一輪稽核大致走五個階段(早期輪次較簡化,第 3 輪起成形):

  1. 獨立審查:多個模型在不互看答案的情況下,各自審同一批程式碼 與文件,列出候選問題清單。
  2. 交叉辯論:模型互相反駁彼此的發現。目的不是共識,是證偽—— 例如 Claude 提出的寫死保證金率方案被 Grok 否決,三方共同引用的 一個例子被實驗推翻(5454ef3)。
  3. 對抗性驗證:對每一項倖存的發現,預設立場是「這個發現是錯的」, 然後實際構造案例、跑蒙地卡羅、隔離環境實測,設法推翻它。 推不翻的才承認是真問題。這個階段淘汰率不低:第 6 輪有 5 項發現 被驗證推翻不予採用(cc7bbd3);第 8 輪 24 項驗證只有 12 項完全 確認、7 項部分成立、5 項駁回(3284301);第 4 輪 16 項驗證 15 真 1 證偽(5418351)。
  4. 修復:只修被坐實的問題,每項附防退化的回歸測試。
  5. 外部複核:修完之後,把 diff 再交給外部模型從頭審一次, 裁決分 pass / pass_with_notes / fail。複核輪的 commit 標題會誠實 記錄裁決(例如「codex fail + grok pass_with_notes」= 一個模型 判不通過、一個有保留通過),共識項全修後才收工。

參與模型(以 commit 訊息記載為準):

值得記一筆的誠實案例:第 4 輪 grok-4.5 兩次都在讀碼中途被其 CLI 回合 上限截斷,commit 訊息如實記錄「誠實回報,無捏造」,而不是假裝拿到了 完整的第三方意見(5418351)。


3. 各輪問題與修復年表(全部可用 git log 核對)

輪次編號只有第 4、6~10 輪明寫在 commit 標題;第 1~3、5 輪是依 commit 順序與「第四輪」這個錨點重建的劃分,有疑義時以 hash 為準。

commits 形式 抓到的問題(舉最重的) 測試數
1 92f3f90 36009c2 9be3196 624180f 49d31a9 初期稽核 + 修繕稽核 P0:Sortino 分母方向性偏誤;小樣本負期望被武斷判 GAMBLING;產碼/HTML 注入;scaffold 產出的專案跑不起來(ModuleNotFoundError);PaperBroker 放空現金算錯(改為誠實拒單);內部哨兵值 9999 洩漏到 JSON;t 分布自創近似改為正則化不完全 beta(對照查表誤差 0.0000) 35 → 71
2 5454ef3 多方辯論(Codex + Grok + Claude) P0 誠實性:裁決為 statistical_edge 時無條件宣稱「通過樣本外驗證」,但決策樹根本不看 OOS(構造案例坐實同一份報告自我矛盾);單尾 p 與雙尾 CI 口徑矛盾(實測 p=0.036 時 ci_low=−0.79);per-tag 多重比較未校正 → 降級為純描述統計 83
3 76c0738 c22e8a1 新模組對抗驗證 + 最強模型三方辯論(gpt-5.5 xhigh + grok-4.5 + Opus 4.8) P0:EURUSD 被判成加密貨幣;台指期少乘 200 倍乘數;TMF/FXF/TXO 等真實美股代號被裸前綴劫持成台指期(損益錯 10~4000 倍);binomial_tail 在 n=10000 直接 OverflowError;回撤資本基準漏乘契約乘數(期貨錯 200 倍)。31 項對抗驗證全數坐實 146
4 5418351 三方巡檢冷區 HIGH:圖表 CDN 未鎖版被 unpkg 302 到 v5 全壞(Playwright 實測);Windows cp950 下 stdin 的詐騙文靜默漏抓(同一段文字 –text 判「極高」、stdin 判「低」);簡體話術完全盲區。效能 10 倍(10,000 筆 24s → 2.4s),且 A/B 實測推翻了驗證員自己的效能宣稱 153
5 653d0e6 技能層稽核 P0:skeleton 硬編縮排使 9 個模板組合中 6 組 IndentationError 158
6 cc7bbd3 + 複核 ac786fe gpt-5.6-sol × grok-4.5 交叉辯論 P0:loader 對無法解析的列靜默補 0,會製造假打平交易、足以翻轉裁決;equity 0/負數 traceback;NaN 本金讓爆倉比例假裝 0%。17 項確認全修、5 項被對抗驗證推翻不採用 165 → 168
7 1525f77 + 複核 a49ab06 三線:13 券商實測 + 120 條文件主張查核 P0:裸幣名劫持真實美股代號(SOL 是 NYSE 代號);台期乘數未知時用 1.0 靜默推算(少算數十~數千倍)。13 券商 × 4 圖表 52 檢查點端到端全過 177 → 184
8 3284301 + 複核 eeac688 首次深審最核心三檔(judge/performance/costs) P0:回撤 % 前視偏差——用最終峰值回算,先虧 90% 再暴賺會被稀釋成 8.9%,改逐筆當下高水位;全勝樣本的盈虧比被錯收成 0(最差值);回撤腰斬的策略竟可拿綠色裁決。24 項驗證:12 確認 / 7 部分 / 5 駁回 193 → 200
9 9afa51d + 複核 6a77621 雙模型稽核 64 項 + 統計語意深修 P0(教科書級語意錯誤):bootstrap p 值未做虛無假設置中(shift method),舊版尾比例的解釋是錯的——修正後型一誤差蒙地卡羅校準 5.5%±1.1% ≈ α;全庫清除絕對化/定罪式文案並加 lint 測試永久防回歸(lint 上線當下就抓到 6 處漏網) 206
10 ca2fec4 SEO/AEO/EEAT 與公開文件稽核 新增英文 README、GitHub Pages、答案先行 FAQ、公開稽核紀錄與第 10 輪文件回歸;同時保留「內部審查不是第三方認證」的醒目揭露 212
11 192a8d6 + 安全複核 753b3d0 交易邏輯、LINE/截圖、新手流程多線稽核 P0/P1:缺時間或混幣仍可能產生過度樂觀 OOS;模糊 gross/net、未知乘數與 direct P&L 基準會污染報酬率;LINE 拆句、否定與私人收款語境需防繞過;OCR 正負號、未實現損益、方向與單位需 fail closed;外部文件複核再抓到 scaffold 只寫 stage metadata、runtime 未硬擋,補上實際執行生成程式的安全測試 212 → 344

3.1 外部複核抓到的修復回歸(實例):外部複核抓到「我們自己修復造成的回歸」

自我稽核最大的盲點,是審不出自己剛寫的修復。以下三例都是 上一輪的修復本身引入新問題,被下一次外部複核抓到,全部記錄在案:

3.2 我們自己報錯、後來公開更正的數字

第 2 輪(5454ef3)commit 訊息裡寫的多重比較蒙地卡羅結果是 K=5 → 15%、K=10 → 30%。第 9 輪(9afa51d)重做這個實驗時發現 舊數字不可重現,以固定 seed 腳本重跑後更正為 K=1/5/10 → 4.7% / 24.3% / 41.0%,腳本收進 experiments/exp_multiple_comparison.py。舊 commit 我們不改寫 (git 歷史保持原樣),但新文件一律用可重現的數字。

第 9 輪之後,方法論文件裡的每一個實驗數字都要求附固定 seed 的 重現腳本,不能重現的數字不准寫進文件。


4. 已知限制與未解問題(到本文撰寫時仍然存在)

這些不是待辦清單上的小事,是目前版本的真實邊界。使用結果時請把 它們算進去:

  1. i.i.d. 假設:bootstrap 檢定與 Lo(2002) 夏普標準誤都假設交易 彼此獨立同分布。真實交易序列常有自相關(連續加碼、同一事件的 多筆單),此時 p 值與 CI 會過於樂觀。docs/methodology.md 有揭露。
  2. 沒有 block bootstrap:這是有意識的取捨——換取可解釋性與 零依賴(docs/methodology.md 第 67 行明寫「這是已知的簡化」)。 代價是上一條的自相關問題沒有被緩解。
  3. 話術偵測的關鍵字權重未經校準:權重是我們自己訂的,沒有經過 標註語料的校準(無 Platt / isotonic),見 docs/methodology.md 第 160 行。所以 scan-text 的風險等級是排序參考,不是機率
  4. 單尾 p 值與雙尾 CI 口徑不一致:第 3、6 輪處理過措辭 (從嚴認定並說明),但兩種口徑並存的結構本身還在。
  5. 蒙地卡羅尾端低估:風險模擬用歷史損益重抽,抽不到樣本裡沒 出現過的極端事件;爆倉比例是下限性質的估計,不是上限。
  6. OOS 驗證是單一固定切點(70/30),不是滾動 walk-forward: 實驗顯示 n<60 時多折會讓每折只剩約 10 筆、假陰性率過高 (5454ef3),所以小樣本下我們選了單切點,這在大樣本時偏保守。
  7. 30 筆是最低初篩門檻,不是充分樣本:低於它我們拒絕下裁決; 高於它也不代表檢定力足夠,required_sample_size 的二項模型 只是最樂觀下限(6a776215454ef3)。
  8. 鑑識模組只給「可疑徵兆」,不給定罪:尾數檢定已降級為純描述 (量化精度未知,任何門檻都是主觀的);夏普門檻明確標注為經驗 法則(c22e8a1)。這是刻意的克制,也代表它抓不到高明的造假。
  9. 成本模型有未涵蓋項:外匯 swap、永續合約資金費率、選擇權 左尾風險等未建模,報告內以「未涵蓋成本/模型限制」區塊揭露 (1525f77),但揭露不等於解決。
  10. 截圖 OCR 是啟發式文字抽取,不是正確率:不同券商版面、裁切、字庫與 低解析度都可能造成正負號、小數點、方向或單位誤讀;任何欄位都必須對原圖, 單張截圖也不能證明績效。scan-screenshot 的 JSON 只是待覆核資料。
  11. 交易階段不是人格或財務適合度認證:fit-check 只判斷目前完整紀錄 支持停手、紙上模擬或最多極小額驗證;它不檢查收入、負債、心理承受度, 也不會認證重押、借錢或全職交易。

如果你發現新的問題,請開 issue。依照上表的歷史紀錄,存在未發現的 問題是合理預期,不是意外。


5. 如何自己驗證(不必相信我們)

5.1 核對本文所有數字

git log --oneline                      # 全部歷史
git log --format=full cc7bbd3          # 第 6 輪(其餘 hash 見上表)
git show eeac688 --stat                # 看某輪實際改了哪些檔

5.2 跑完整測試(本文撰寫時 351 個)

python -m pytest tests/ -q

值得特別看的測試檔:

5.3 重現方法論裡的實驗數字(全部固定 seed)

python experiments/exp_bootstrap_calibration.py   # 型一誤差 ≈ 5.5% ± 1.1%(α=0.05)
python experiments/exp_multiple_comparison.py     # K=1/5/10 → 4.7% / 24.3% / 41.0%
python experiments/exp_survivorship.py            # 62.36% / 99.72%(事件定義見腳本)

跑出來的數字如果跟 docs/methodology.md 對不上,那就是 bug,請回報。

5.4 讀方法論本身

docs/methodology.md 記載每個統計量的定義、每個門檻的理由、 以及第 4 節列的全部已知限制。我們對它的要求和對外部宣稱的要求 相同:寫在上面的數字必須可重現,說不清楚理由的門檻必須標明是 經驗法則。


本文件隨每一輪新稽核更新;歷史輪次的內容只增不改。 數字與 git log 不符時,以 git log 為準,並請開 issue 告訴我們。


維護者:好棒棒反詐協會 - 免費顧問 阿軒割割(社群化名,非立案法人)|內容由 AI 輔助撰寫並經多模型交叉審查(見稽核紀錄)|審閱日期:2026-07|本頁非投資建議,疑似詐騙請撥 165