把你的 coding eval harness 變可靠
這個工具會把「框架常見失敗模式」轉成可交付的改善計畫(Before/After + 驗收標準),並提供 taskset 範本,方便你把 eval 從 demo 升級成可用的工程系統。
你會得到
- • 改善目標與優先順序
- • Before/After 對照(可交付)
- • 驗收標準(可寫成 CI gate)
適合誰
- • 正在做 coding eval 的團隊
- • 想降低返工/幻覺的 PM/Tech Lead
- • 想比較模型但先卡在 harness
INPUT
填入你的現況
不需要上傳程式碼;只要描述目前 harness 的狀態。
OUTPUT
改善目標(建議順序)
- • 把『成功』定義成可驗收的條件,而不是主觀感覺
- • 降低 flaky(不穩定)導致的誤判,讓回歸可信
- • 讓每次評測都有 evidence(diff/log/trace),便於 debug
- • 把成本/時間變成可談判的指標(而非不可控的黑洞)
評分/驗收
Before/AfterBefore
只有『跑起來/看起來 OK』,缺少機器可判定的通過門檻
After
每個任務都有 3 層門檻:功能測試(must)/品質(should)/風險(must-not)
驗收標準
- • 每個任務至少 1 個 must(自動判定)與 1 個 must-not(避免投機)
- • 評分腳本輸出 JSON:{passed:boolean, reasons:string[], evidencePaths:string[]}
- • 引入『部分分數』但保留 hard fail(例如安全/資料外洩)
回歸/版本控
Before/AfterBefore
資料集/提示詞/工具版本未鎖定,結果難以重現
After
把 harness 當產品:dataset + prompts + judge + tools 都可版本化、可回放
驗收標準
- • 每次跑評測都有 run id(含 git sha + dataset hash + prompt hash)
- • 同一 run id 可重跑並得到相同結論(誤差可解釋)
- • 新增 regression gate:PR 必須不低於基準 pass rate / cost 上限
可追溯性
Before/AfterBefore
只有總分,找不到哪裡壞、為什麼壞
After
每題輸出 evidence bundle:diff、關鍵 log、測試失敗片段、模型輸出原文
驗收標準
- • 每題至少保存:輸入/輸出/評分理由/關鍵檔案 diff
- • 提供一鍵『重播』:用同樣 seed/工具/依賴重新執行該題
- • UI 允許依 failure mode 分類瀏覽(例如:依賴錯誤/測試失敗/格式不符)
資料集
Before/AfterBefore
題目偏單一、或與真實工作脫節,容易被投機
After
以『真實工單形狀』建資料集:涵蓋 failure modes、難度、上下文大小
驗收標準
- • 每個 task 有:背景、限制、驗收條件、反投機條款
- • 至少 20% 任務是『修 bug + 需新增測試』,避免只改表面
- • 加入 canary tasks(很簡單但常犯錯)與 trap tasks(反作弊)
成本/速度
Before/AfterBefore
只看 pass rate,成本/時間無上限
After
把成本/時間變成 first-class 指標:設定 SLA 與 budget
驗收標準
- • 每個 run 產出成本報表:平均/分位數(p50/p90)
- • 設 cost cap:超過即 fail(或降級策略:少取樣/低價模型/judge 簡化)
- • 加入快取:相同輸入不重複付費(內容 hash)
隔離/安全
Before/AfterBefore
harness 執行環境權限過大,可能造成資料外洩或破壞
After
在評測層引入最小權限:網路/檔案/指令白名單 + 事件審計
驗收標準
- • 預設禁網路(或只允許 allowlist),避免 prompt injection 造成 exfil
- • 沙盒化:每題用乾淨 workspace,跑完自動清理
- • 所有工具呼叫可審計(command, args, exitCode, duration)
觀測/儀表板
Before/AfterBefore
結果散在 log 裡,難以對比 before/after
After
建立最小儀表板:pass rate / flake / cost / latency / top failure modes
驗收標準
- • 同一任務可以對比兩個版本(baseline vs candidate)
- • 顯示 top 10 失敗原因與趨勢(最近 N 次 run)
- • 能篩選:task type / difficulty / context size / tool usage