現有 benchmark 的三個毛病
Benchmarks: The Good, the Bad, and the Ugly — Ali Khial, G2i

Ali Khial 從一則不像人寫的 benchmark 題目查起,拆出指令不真實、驗證太弱、獎勵被鑽漏洞三個問題,再端出 G2i 團隊正在訂的五條出題原則。
這場講了什麼
- 從一則怪題目查起:Ali 看到某個 benchmark 任務的 prompt,覺得沒有工程師會這樣寫,拿給團隊裡三位最強的工程師看,答案也是不會。Ali 這才回頭去搞懂 benchmark 到底是什麼。
- 指令不像真實的提問:SWE-Bench Pro 每則指令平均 481 個 words,等於一題兩頁。有的 prompt 直接指向測試檔、甚至給出完整介面;SWE-Marathon 有一題寫得夠抽象,要的卻是用 Rust 寫一個 C compiler,沒有經濟價值。
- 驗證太弱:Ali 引用 DeepSWE 拿自家 benchmark 對照 SWE-Bench Pro 的結果:SWE-Bench Pro 有 8.5% 的任務接受了錯誤實作,超過 24% 的任務拒絕了正確實作。Ali 自己挖出的例子是測試要求指令沒提到的變數名稱,或去測沒有匯出的函式。
- 獎勵被鑽漏洞:模型越來越會繞過問題本身,例如去翻 .git 資料夾、上網找線索,benchmark 卻沒有防住。結論是品質落差造成信任落差,Ali 這半年沒遇過哪個工程師照排行榜選模型。
- 五條出題原則:像人寫的指令、兼顧行為與精確度的 grader、有經濟價值的任務、設計上就避免污染、讓排行榜說得出原因。
- 請工程師一起來看:Ali 認為 benchmark 沒那麼難,工程師的意見有價值,值得掀開來看。
影片從哪一段開始看15 段
- 00:12開場自介Ali 是 G2i 的 AI ML 總監,自稱沒有 ML 經驗、骨子裡是軟體工程師;這場改講自己摸索 benchmark 的過程。
- 01:09一則怪 prompt拿一則 benchmark 題目問三位最強的工程師會不會這樣寫,答案是不會,Ali 決定退一步搞懂 benchmark。
- 01:58化簡成基本流程Ali 和團隊把一堆術語化簡成:prompt 交給模型或 agent,解答由 verifier 與 rubric 評分,外面包一層 harness,產出軌跡、分數與 metadata 拿來排名。
- 03:23指令不真實照理說每一環都做好就會有好結果,現實不是;第一個問題是多數指令不像真的 prompt,SWE-Bench Pro 平均每則 481 個 words。
- 04:04洩題的 promptAli 稱為 leaky prompt:指令直接點出測試檔,或給出完整的實作介面,模型等於拿到所有材料。
- 04:37沒有經濟價值的題目SWE-Marathon 的一題格式完整、夠抽象,要的卻是用 Rust 寫 C compiler,Ali 認為不該這樣出題。
- 05:12弱 verifierDeepSWE 的比較:SWE-Bench Pro 有 8.5% 的任務接受錯誤實作,超過 24% 拒絕正確實作。
- 05:51誤殺的測試Ali 挖出的例子:測試要求指令沒寫的變數名稱,另一題的測試去檢查沒有匯出的函式,等於把模型逼進死角。
- 06:48獎勵被鑽漏洞模型越來越會繞過問題,例如翻 .git 資料夾或上網找線索,版本越新差距越大,benchmark 卻沒有防住。
- 07:52品質落差與信任落差品質落差造成信任落差:工程師會看排行榜,最後還是自己測。
- 08:27五條原則之一這兩個月 Ali 和 G2i 團隊在訂一組出題原則。第一條是像人寫的指令:寫期望的行為、目標與硬性限制,不寫實作細節。
- 09:16全面的 grader第二條:行為測試蓋住大面積,安全、商業邏輯這類需要精確的地方才補齊單元、整合與端到端測試,其餘不追求 100% 覆蓋。
- 09:48生產等級、避免污染第三條:任務要有經濟價值,讓工程師看了會說「模型修得好這題,我就信它修得了那個」;第四條:只出新題並保留私有 holdout,因為現有題目都取自公開 repo。
- 11:07排行榜要說明原因第五條:排行榜只說誰贏、不說為什麼,跑出來的資料應該放到前面,不必讓大家自己重做實驗。
- 12:05請工程師參與Ali 說 benchmark 不難,請軟體工程師掀開來看,工程師的意見有價值。
值得記的話4 句
most of the instructions are unrealistic.
多數指令都不真實03:23there's a quality gap and it's causing a trust gap.
有品質落差,而且正在造成信任落差07:52They tell you who wins, but they don't tell you why.
排行榜告訴你誰贏,但不告訴你為什麼11:23Benchmarks are not hard.
benchmark 並不難12:05
名詞與人物9 個
- G2i
- Ali 任職的公司,五條出題原則是 Ali 和這裡的團隊這兩個月在訂的
- SWE-Bench Pro
- Ali 拿來分析的 benchmark,指令平均 481 個 words,也是 DeepSWE 對照的對象
- DeepSWE
- 拿自家 benchmark 對照 SWE-Bench Pro、算出驗證誤判比例的一方
- SWE-Marathon
- Ali 舉來說明「格式好卻沒有經濟價值」的 benchmark,那一題是用 Rust 寫 C compiler
- verifier / rubric
- 替解答評分的機制,Ali 把它和 harness 一起當成 benchmark 的基本零件
- harness
- 包住整個評測流程、擋掉外在干擾的環境
- leaky prompt
- Ali 的說法:指令直接指向測試檔或給出完整介面,等於洩題
- reward hacking
- 模型繞過問題本身拿分,例如翻 .git 資料夾或上網找線索
- private holdout
- 不公開的保留測試集,用來避免污染
提到但沒有展開
- Ali 說模型學會鑽漏洞,代表它們變聰明了,這本身是大家想要的;落後的是 benchmark,沒跟上去防。
- 第二條原則的比喻來自工程上寫測試的習慣:能蓋的面積盡量蓋,但不要寫得太死,精確度只花在需要的地方。
同一站:LLM Evaluations13 場
- skill 沒有 evals 就別上線012 · Philipp Schmid(Google DeepMind) · 22 分
- Uber 餐點照片的閉環評估036 · Soumya Gupta & Jai Chopra(Uber) · 22 分
- 把 agent 當機器學習來評估037 · Alex Shaw + Ryan Marten(Terminal-Bench, Harbor, Laude Institute) · 21 分
- 做廣告 agent 的 eval 實戰心得039 · Preetika Bhateja & Daniel Bump(YouTube Ads) · 19 分
- 用小型 VLM 評估 AI 影片品質040 · Maor Bril(Character.ai) · 23 分
- 從 trace 走向 agent 模擬評測041 · Rustem Feyzkhanov(Snorkel AI) · 20 分
- DeepSWE 防污染的程式碼基準043 · James Shi(Datacurve) · 18 分
- 合成受眾要像天氣預報一樣驗證057 · Ishan Anand(InsightSciences.ai) · 21 分
- 用模擬產生評估資料,agent 快 20 倍上線058 · Aman Gupta (Nubank) + Shreya Rajpal (Snowglobe) · 16 分
- 現有 benchmark 的三個毛病你在這裡
- 生物領域 agent 的可驗證評測078 · Kenny Workman(LatchBio) · 18 分
- 刷榜為什麼停不下來084 · Nick Heiner(Surge AI) · 17 分
- 持續學習該怎麼評測101 · Parth Asawa(UC Berkeley) · 20 分