決策模型的輸入是一段狀態(state)加上事先列好選項的具型別問題,一次前向計算就回傳每個選項的機率,不生成自由文字,也不必再解析輸出。要判斷它適不適合做分類、路由或守門,得先看這組機率從哪裡讀出來,以及訓練被公開到什麼程度。
本系列第 2 篇|這篇回答:不生成文字的決策模型,如何一次給出每個選項的機率,又是怎麼訓練的?
為什麼不用生成也能給機率
語言模型讀完輸入之後,不必把答案逐 token 寫出來,只要對事先列好的選項取分數再正規化,就得到一個機率分布。把整段輸入讀完、還沒開始往外生成的步驟叫 prefill。prefill 結束時,最後一個位置會對整個詞表給出 logit:每個 token 的原始分數,可正可負,還不是機率。只留下題目裡那幾個選項對應的 logit,再用 softmax(把分數取指數後除以總和)變成加總為 1 的機率。
這比較像閱卷時只統計選項格子,而不是請考生寫一段理由。生成式的結構化輸出仍是逐 token 把答案寫出來,再靠格式約束或解析器保住形狀,信心也多半是模型自己寫進文字裡的數字。決策模型不生成答案,而是對每個選項直接讀出機率。這段對照來自官方文件,加上 LLM2Jev 這類實作的 prefill-only 做法,其中也有我們的解讀。
題型有三種:noul 是是非題,回傳該陳述為真的機率;choice 從具名選項裡選一個;score 是有序等級。「具型別」的意思是,選項和回答的形狀在發問前就定好。Jev 的文件寫明,choice 最多 255 個選項;超過時改成兩段式、先縮小範圍再問一次,是我們的建議。
輸出空間被 schema 限制,所以型別錯誤不會發生,這是文件對「不會幻覺」的說法。選項選得對不對仍是機率問題,要靠校準(回報的機率貼近真實發生比例)與信心門檻處理,這句是我們的解讀。
四種做法
公開材料裡看得到四種做法:不改權重、直接讀現成 logit;在因果語言模型上微調或加決策頭;用雙向 encoder 加決策頭;在底座上加聯合 schema 頭。下表的 git 專案依據其 README 與程式碼整理,我們沒有執行;Clef 那一列來自模型卡。
| 做法 | 機率從哪裡來 | 代表 |
|---|---|---|
| 讀現成 logit | 一次前向,不把答案逐 token 生成 | open-alternative-jev、LLM2Jev、SemIf |
| 訓練後再讀分 | 決策頭,或 LoRA 之後讀候選 logit | NanoJev、Kev、Nimble |
| encoder 模型 | 雙向 encoder 上的決策頭 | Laya |
| 聯合 schema 頭 | 每題每個選項一個 logit,各題分別 softmax | Clef、Clef-flash |
讀現成 logit。 open-alternative-jev 可以掛在任意開源權重的語言模型上,一次前向讀取選項字母的 logit,回答多題 choice,並附一個 temperature(調整分數尺度的係數)校準工具。LLM2Jev 把每個候選選項編成一個是非判斷,只讀下一個 token 的 yes 與 no 的 logit,計算 q = exp(yes)/(exp(yes)+exp(no)),再把各選項的 q 正規化成機率;信心也由程式算出:confidence = (n × p_max − 1)/(n − 1),限制在 0 到 1,n 是選項個數。作者寫明未獲 TypeSafe 認可。SemIf 原名 OpenJev,選項數 2 到 16,輸出明確標成 conditional/uncalibrated,也就是作者不把這些分數當成已校準;後端可以是 torch 或 Apple 的 MLX。
聯合 schema 頭。 Clef 在 Qwen 底座之上放一個小型 transformer head,讀底座最後的 hidden states,把 state 裡的證據分派給各題,對所有題目的選項一起評分;每題每個選項一個 logit,各題分別 softmax,一次前向完成。模型卡寫明,Clef 是 27B 的多模態決策模型,由 Qwen3.8-27B 後訓;Clef-flash 是 9B,由 Qwen3.5-9B 後訓。兩者授權 Apache-2.0,權重公開在 Hugging Face,並接受與 Jev 相同形狀的 /v1/systemone 請求。
我們沒有 Jev 的憑證,也沒有做 Jev 與 Clef 的頭對頭比較。本系列的實測用的是開源權重的 Clef-flash:一台 Mac 以 MLX 4-bit 執行,一台 NVIDIA 工作站以 llama.cpp 執行 GGUF Q4_K_M 版。
Jev 的訓練公開了什麼、沒公開什麼
Jev 公開的訓練資訊是名稱 RLCD、回傳校準過的決策機率而不是生成文字、資料由 TypeSafe 自製,以及不用使用者輸入訓練;架構、參數量、base model、訓練資料內容、獎勵與損失函數的具體形式都沒有公開。RLCD 是 Reinforcement Learning for Calibrated Decisions 的縮寫。公告另稱 Jev「neither small nor an LLM」,資料是「all ourselves」。缺的部分本系列一律寫成未知。
隱私政策寫明不會用使用者輸入訓練或微調模型,但輸入仍會送到託管服務處理。這和權重能不能下載是兩件事。
Clef 與 Clef-flash 的模型卡也只寫由 Qwen3.8-27B 與 Qwen3.5-9B 後訓,沒有公開訓練資料來源與訓練細節。我們的解讀是:權重開源,不代表外人可以照著把訓練重做一遍。
開源複製品怎麼訓練
這些是第三方專案公開的讀分方式、資料或權重,不是 TypeSafe 公開的 Jev 訓練配方。以下依各專案的 README 與程式碼整理,我們沒有執行這些專案。我們把 NanoJev、Kev、Nimble 的流程整理成共同的五步:準備有標準答案的題目、選一個 backbone、加決策頭或 LoRA、以計分規則為訓練目標、同時評估準確率與校準;各專案的細節不同。
NanoJev 在 Qwen3-0.6B 上加一個專門讀出選項分數的決策頭,公開資料生成、訓練程式與權重,並把 cross-entropy、Brier 與 paired proper-reward(成對的正確計分獎勵)三種訓練目標拿來對照。作者不宣稱這是官方 Jev 配方。
Kev 以 Qwen3.5 Base 加 LoRA(只訓練外加低秩權重的微調)與 pointer head,做成 Jev 形狀的本機決策模型,並實作 /v1/systemone。它用 block-causal 遮罩,讓每一題都讀得到共同的 state,但讀不到其他題。權重有 0.8B、4B、9B,授權 Apache-2.0;作者自報 new-source 測試準確率約 0.684、0.837、0.852,不是我們的測量。
Nimble(Bespoke Labs)公開資料、模型與訓練配方:以對比式資料策展,用 LoRA 微調 Qwen3.5-9B、只訓練答案 token,推論時讀候選 logit。作者寫明不是從 Jev 蒸餾。訓練集 2,676 筆、評估集 324 筆已放進 repo。
Laya 用雙向 encoder ModernBERT 加決策頭;依其 repo 說明,English 版 421M 參數、multilingual 版 322M 參數。第三方 MLX 移植版的作者自報,在 M3 Max 上短問題的 P50 是 13.42 ms(English)與 7.39 ms(multilingual)。Cloudflare 模型卡的 Decision Index 表(廠商自報)給出 Laya 中位延遲 5.8 ms,但多數任務的準確率明顯落後。
d1-3B(LiquidAI)建在 LFM2.5-VL-3B 上,一次前向回傳具型別答案,輸出 token 為 0;卡面自評 Decision Index 0.2.1 為 48.57(廠商自報)。依模型卡(廠商自報),授權是 LFM Open License v1.0,年營收 1,000 萬美元以上的商業使用不在授權內。我們沒有實跑這個模型。
這些專案多數只能從 git 安裝,PyPI 上還有同名但無關的套件,例如 openjev、llm2jev,安裝前要核對來源。
為什麼正確計分規則會帶出校準
log loss 與 Brier score 都是嚴格正確的計分規則(proper scoring rule):回報機率等於真實機率時,期望分數才最佳,所以拿它們當訓練目標,會把模型推向在訓練分布上校準。這是統計學的標準結果,出處是 Brier(1950)以及 Gneiting 與 Raftery(2007),JASA 102:359–378。
就像降雨機率要和後來真正下雨的比例對得上,模型說出的機率也要和訓練分布裡的發生比例對得上。正確計分規則管的是這個期望分數,不保證換一批資料之後仍然貼得上。
RLCD 名字裡的 Calibrated,以及 NanoJev 拿 proper reward 對照 cross-entropy 與 Brier,都指向同一個想法:用正確計分規則當獎勵。TypeSafe 沒有公開獎勵的形式,這段是我們的推論,不是 Jev 的配方。
還有一個容易混淆的地方:回應裡的 confidence 欄位不一定等於最高類別的機率。在 2026-10-11 的一手實測中,NVIDIA 工作站上的同一篇摘要,confidence 是 0.884,最高類別機率是 0.897。第 3 篇會用 77 篇 PubMed 論文說明兩者的差別,並附校準檢查器,在瀏覽器內計算 Brier、ECE 與 reliability diagram,不送出資料。
最後一點同樣是我們的推論:每一個判斷各自校準,不代表把多個判斷串成管線之後整體仍然校準。守門若連問好幾題,不能把單題的校準直接當成整條管線的校準。