Prompt hill-climbing:用 Evaluations 把 AI 功能調校變成實驗流程
這場 session 延續「Meet the Evaluations framework」,示範如何用 BookTracker tag generator 做 prompt 改良、judge alignment、comparative evaluations,最後甚至不只改 prompt,而是加入工具。
不要把 prompt engineering 當靈感手工藝;Apple 的路線是先校準 judge,再一次改一個變因,用 evaluation score、Cohen's kappa 與 side-by-side comparison 決定下一步。
這支影片在拆的不是 prompt,而是實驗紀律
BookTracker 的 tag generator 不穩
模型產生的 tags 有時抓不到主題,有時反映讀者情緒,有時直接複製 review 字句,導致搜尋用途變差。
先確認 judge 是否像人類專家
如果 model judge 對 usefulness 的評分與人類期待分歧,就算 evaluation pass,也可能只是在最佳化錯誤目標。
Xcode 27 支援 control vs experimental 比較
用同一 dataset 比較 baseline prompt 與 experimental prompt,並在 report 中看 score、樣本與 trade-off。
改 prompt 不夠時,改 feature primitive
影片最後加入 BookLookupTool,讓模型拿到 title / author context;hill-climbing 可改 prompt、tool、model、dataset 與 evaluator。
Prompt hill-climbing 的實作路線
建立 baseline evaluation
用 dataset、ScoreDimensions、ModelJudgeEvaluator 與 Swift Testing #expect 定義目前 feature 的期望。
找出 judge 與人類的 drift
比對 model judge ratings 與 human ratings;不要只看 accuracy,因為不均勻分布會讓準確率看起來虛高。
用 Cohen's kappa 衡量 alignment
Kappa 扣掉隨機一致的機率,比單純 accuracy 更能反映 judge 是否真正貼近專家判斷。
做 controlled comparative evaluation
每次只改一個變因:prompt 加 app context、score dimension 改描述、judge 加 few-shot examples,逐步看效果。
必要時跳出 prompt 層
若模型缺上下文,就加入 tool 或改資料管線;若 judge 不可信,就先對齊 evaluator,而不是繼續調主功能 prompt。
重點 1:Evaluation pass 不代表功能好
影片中的 BookTracker tag generator 會根據讀者 review 產生搜尋 tags。Treasure Island 與 Little Women 的案例顯示,模型可能產生看似合理但不適合搜尋的 tags,例如太情緒化、太具體,或沒有抓到書本主題。
這也是 AI feature 與傳統 deterministic feature 的差異:你需要的是能持續檢查品質的 evaluation pipeline,而不是一次性手動試幾個 prompt。
重點 2:Judge alignment 是 hill-climbing 的前置條件
影片把 drift 定義為 model judge ratings 與 expert ratings 的分歧。若 judge 對 usefulness 的判斷和你不同,後續 prompt 調校只會把系統推向 judge 喜歡、但使用者不一定受益的方向。
重點 3:Comparative evaluation 讓 prompt 改動可被比較
Xcode 27 的 evaluation report 可以比較 control 與 experimental runs。影片先讓 experimental prompt 加入 app context 與好/壞 tag 例子,結果 relevance 提升但 usefulness 下降;接著將 prompt change 固定,改 ScoreDimension 描述,隔離變因後再比較。
這個流程的價值是把 prompt engineering 變成可討論的 trade-off:你可以知道哪個 score 上升、哪個下降、是哪批樣本造成,而不是只憑幾次輸出觀感。
風險與遷移注意事項
對 AI app 團隊的實務啟發
最可帶走的做法是把 prompt、judge prompt、score dimensions、dataset、tools 都視為可被實驗的變因。先讓 evaluator 可信,再透過 controlled comparison 逐步調整;當 prompt 無法補足輸入資訊時,加入工具或改資料流,才是正確方向。
來源
主要來源為 Apple Developer 官方影片頁、transcript 與章節摘要;YouTube 影片頁用於 iframe 與發布 metadata。官方頁:Improve your prompts by hill-climbing with Evaluations - WWDC26。YouTube:WWDC26: Improve your prompts by hill-climbing with Evaluations | Apple。
- →Hill-climbing 是 develop → run → analyze 的迭代,不是隨意改 prompt。
- →先用 human ratings 與 Cohen's kappa 對齊 model judge,否則 evaluation 可能最佳化錯目標。
- →Xcode 27 comparative evaluations 可比較 control / experimental runs,讓 prompt trade-off 可見。
- →Prompt 不是唯一槓桿;工具、資料集、score dimensions、model 與 evaluator 都能納入實驗。