建立你的第一組提示評測集:30 題就能開始
沒有評測集,改提示就只是憑感覺。這篇示範用 30 題建立可重跑的基準。
「我覺得這樣改比較好」是提示工程最大的敵人。一組小而準的評測集,能讓每次修改都有數字佐證。三十題聽起來很少,但已經足以擋掉大部分的退步。
題目怎麼挑
- 10 題典型案例:最常見的輸入樣態,確保基本盤不退。
- 10 題邊界案例:資訊不足、格式異常、超長輸入。
- 10 題曾經出錯的案例:真實線上壞掉過的輸入,這批最有價值。
資料格式
# evalset.jsonl
{"id": "t001", "input": "...", "expect": {"type": "oom"}, "note": "典型"}
{"id": "t002", "input": "...", "expect": {"type": "unknown"}, "note": "資訊不足"}跑一次評測
def evaluate(prompt, cases, call_model):
hit = 0
fails = []
for c in cases:
got = call_model(prompt.render(log=c['input']))
if got.get('type') == c['expect']['type']:
hit += 1
else:
fails.append((c['id'], c['expect']['type'], got.get('type')))
return hit / len(cases), fails重點不是那個準確率數字本身,而是 fails 清單。每次改提示後看的是「哪幾題從對變錯」,這比整體分數更能指出問題。
把它接進流程
評測腳本應該能一行指令跑完,並輸出可比對的報告。做到這件事之後,提示調整才會從玄學變成工程。
模型有隨機性,同一版提示跑兩次分數可能差幾個百分點。把溫度設為 0,並固定隨機種子,比較才有意義。