PLAY AI 筆記回 PLAY AI
真人觀點分享發布 · 更新 · 2 分鐘 · 約 1,103 字

挑 AI 模型,比起跑分我更在意的其實是「穩定度」

榜單上高兩分的模型,如果二三十次就有一次格式失控,放進自動流程後可能比能力稍低但穩定的模型更難用。

SAM
Sam · PLAY AI以實際使用模型與自動化工具的經驗,分享判斷、踩坑與取捨。
本篇內容
整齊排列的紫色發光球體中只有一顆裂開並透出金色光芒,象徵模型穩定度測試中的單次失敗。
整齊排列的紫色發光球體中只有一顆裂開並透出金色光芒,象徵模型穩定度測試中的單次失敗。

一開始我也是看榜單挑的

剛開始接不同模型的時候,我的做法很單純:哪個分數高就先試哪個。榜單很適合縮小候選範圍,但真的把模型放進產品或自動化流程後,我在意的東西很快就變了。

自動化不是只問「它最好的一次能多好」,而是問「同樣條件重跑很多次,最差的一次會發生什麼」。一個偶爾多講一句話的模型,對聊天可能無傷大雅;對要求固定 JSON 的 API 流程,卻可能直接讓解析中斷。

真正讓我改觀的是一次回傳格式

有一條流程要求模型回傳固定格式的 JSON。能力很強的模型大部分時候寫得又快又好,但偶爾會在 JSON 前面補一句說明,或把原本該是陣列的欄位換成另一種形狀。單看回答內容沒有很嚴重,對程式卻是完全不同的輸入。

後來我才意識到,「幾乎總是符合契約」和「每一次都符合契約」之間的差距,會直接變成工程成本:重試、容錯、schema 驗證、告警、人工介入,全部都是那幾次例外衍生出來的。

穩定度其實不只一種

我現在會分開看的四種穩定度

面向我要觀察什麼失敗時的影響
格式穩定JSON、欄位、工具呼叫是否符合契約解析失敗,後續流程直接停
語意穩定相同任務是否突然偏題或漏掉核心要求內容品質波動,需要人工重看
延遲穩定不是只看平均速度,而是尾端延遲是否常暴增排程塞車、使用者以為服務壞掉
服務穩定限流、暫時不可用、串流中斷是否頻繁需要 fallback、重試與狀態管理

這些問題不一定能從一般 benchmark 看出來。Benchmark 很擅長回答「這個模型會不會做某件事」,但產品更常遇到的是「它能不能在我的契約、流量和輸入分布下持續做到」。

所以我現在怎麼測

現在我不會只跑一個漂亮 prompt 看一次結果,而是準備一組接近真實流量的固定案例:短問題、長上下文、邊界格式、容易誤解的輸入,以及明確的 schema。然後重跑多次,記錄失敗類型,而不是只挑最好看的回答。

兩排各三十個圓點代表三十次執行。上排是跑分較高的模型,其中一次以黃色叉號標示為失敗;下排是跑分較低的模型,三十次都正常。
同一個任務連續重跑,看的不是哪一次最驚豔,而是哪一種錯誤會不會重複出現。對自動化來說,一次不可恢復的格式錯誤就可能比幾分 benchmark 差距更重要。
  1. 先固定測試集合與判定規則,不要看到結果後才決定什麼叫成功。
  2. 能力與穩定分開記:內容答得好,不代表輸出契約也穩。
  3. 把 transient error 與模型語意錯誤分開,兩者的處理方式完全不同。
  4. 最後才比較成本與速度,避免用便宜或快掩蓋根本不可控的失敗。

Benchmark 還是有用,只是位置不同

我不是覺得 benchmark 沒用。它非常適合第一輪篩選:例如需要程式能力,就先從相關評測較強的模型開始。但進入產品前,我一定還會補一輪自己的 workload 測試。公開榜單告訴你能力上限,自家測試才告訴你能不能放心接進流程。