Cloudflare 開源 Clef:用一次前向傳遞輸出分類機率,取代生成文字
Cloudflare Blog · 2026-10-01
Cloudflare 釋出的 Clef 不再讓模型「生成一段 JSON 再解析」,而是直接對每個問題的每個選項輸出信心分數,專門取代用 LLM 做分類與路由的慣用寫法。官方部落格在 2026-10-01 同時發布 Clef 與較小的 Clef-flash,授權為 Apache 2.0,並附帶一個強化學習微調平台的興趣登記表單。
原本的問題
用通用 LLM 做工單分流、內容審核或 agent 的「下一步該走哪條路」時,常見做法是請模型輸出結構化文字,再自己 parse。這種做法有三個繞路:輸出是逐 token 生成,延遲跟著輸出長度走;格式可能壞掉,要重試;而且拿不到各選項的機率,下游只能信「單一答案」。
Clef 的定位是把這類工作改成真正的分類問題:輸入一個狀態與一組有型別的問題,輸出每個選項的 logit。官方稱之為「非自回歸的決策機制」,使用兩階段注意力路由;細節在公開頁面中未展開,論文未公布。
核心改動
根據Hugging Face 模型卡,Clef 是 27B 的多模態模型,在 Qwen 骨幹上加了一個「joint schema head」:一個小型 transformer,負責把輸入狀態中的證據路由到各個問題,並同時為所有選項打分。模型以標準 safetensors 發佈,模型卡列出 vLLM、SGLang 等推論框架可用。
骨幹版本兩處文字不一致:部落格寫 Qwen 3.8-27B(Clef)與 Qwen 3.5-9B(Clef-flash),模型卡寫「Qwen 3.8B backbone」,本文不替它們裁定。
依Workers AI 文件,API 支援三種問題型別:
noul:二元判斷(文件原文拼法)。choice:具名選項,可附說明。score:有序等級,例如嚴重度。
一次請求可同時問多題。文件範例是把一則結帳故障回報丟進去,同時問「是否緊急」「轉給哪個團隊」「嚴重度」,每題回傳各選項的機率分佈。輸入可為文字、JSON、圖片或影片,最多 4 張圖(每張 4 MiB、16 megapixels 以內),context 為 65,536 tokens。
舊:prompt → LLM 生成 JSON 文字 → parse → 單一答案
新:state + questions[noul|choice|score] → 各選項 logit/機率延遲與基準
部落格表格列出的延遲如下,其中 Jev 是同表的比較對象,部落格摘要未說明其身分。
| 指標 | Clef | Clef-flash | Jev |
|---|---|---|---|
| 中位延遲 | 209.3ms | 38.8ms | 524.1ms |
| P95 延遲 | 238.6ms | 122.4ms | 536.0ms |
準確度方面,部落格選列:Clef-flash 在 BFCL case exact 為 98.76%、API-Bank accuracy 為 93.11%,Clef 在 BANKING77 macro-F1 為 94.20%。這些是 Cloudflare 自家公布並附 示範頁的結果,部落格未附論文或第三方復現,採用前應以自己的資料驗證。
影響範圍
最直接受益的是已經在熱路徑上用 LLM 做路由或分類的服務,例如客服工單分流、審核佇列、agent 工具選擇。這類流程可以把 parse 與重試邏輯換成讀機率,並用門檻決定何時轉人工,而不是只拿到一個答案。
要檢查的事項很具體:
- 你的選項集合是否固定。Clef 的介面是預先定義的 schema,不適合開放式生成。
- 輸出機率是否校準。文件給的是信心分數,是否可直接當門檻使用,來源未說明,要自己量。
- 自架或託管。Workers AI 的模型 ID 為
@cf/cloudflare/clef與@cf/cloudflare/clef-flash,Clef 輸入價格為每百萬 tokens $0.24;Clef-flash 的價格本文所取來源未列出。
Apache 2.0 與 safetensors 發佈代表可自行部署,不必綁定 Workers AI。需要微調的團隊,部落格提到的強化學習微調平台目前僅開放興趣登記,細節未公開。