最近看到一場關於 AI Evals 的精彩論戰,爭論焦點不在模型訓練層面的評估(這個大家都有共識要做),而是 AI 應用層面到底要做多少評估。這讓我想起自己在軟體開發的經驗: 如何寫測試也是我曾關注的問題,但說實話,我從來不追求 100% test coverage。即使 Ruby 社群也強調每件事都要有測試涵蓋,但我還是比較考量成本效益,自動化測試對我來說是值得做才會做的事。
現在 AI Evals 也處於類似階段。我去年就開始關注並分享如何做評估,但要求每個面向都 100% 有評估其實是不實際的。AI 是機率性軟體,評估難度更高,AI 的輸出好不好也非常有主觀成分,目前怎麼做很依賴實務經驗交流。最近剛上完 AI Evals For Engineers & PMs 課程,有了新的體會。首先,「評估驅動開發」(指先寫評估再開發) 竟然可能是錯的方向 – 對於沒有標準輸出的 AI 任務,你無法無限投資在評估上。
就如 Hamel Husain [0] 說的:「Generally no. Eval-driven development (writing evaluators before implementing features) sounds appealing but creates more problems than it solves.」重點是找到真正影響用戶體驗的關鍵指標,而不是為了評估而評估。