differential-testing

3 posts

Differential Testing 不需要形式化證明也能運作,但 Common-Mode Failure 才是真正的陷阱

Differential testing 讓你在不知道正確答案的情況下找到 bug。問題是,有相關性的錯誤看起來就像一致。以下是找出盲點的方法。

你可以信任 differential testing,即使沒有形式化證明——但前提是你必須清楚知道它會在什麼地方崩潰。 它的弱點叫做 common-mode failure。當一個規格的每個實作都做出同樣的錯誤假設時,它們全部一致通過,你的 test harness 就會標為通過。N-version…

如果我的 LLM 變體意見分歧,哪一個才對?

並行運行多個 LLM 能抓出任何單一模型都會自信上線的錯誤。以下是如何建立一個真正有效的分歧解決系統。

你把一個 prompt 送給 GPT-4o。它回傳了一個 JSON blob,信心值 0.97。你把同一個 prompt 送給 Claude 3.5 Sonnet。它回傳了另一個 JSON blob,信心值也是 0.97。兩個模型聽起來都篤定不移。兩個都在不同層面上錯了。 這不是假設情境。只要你運行任何非瑣碎的…

五種實作卻沒有共識:到底該怎麼選出最好的那一個

N-version programming 聽起來很簡單:跑多個實作,挑最好的答案。但在實務上,「最好」比「最常見」難定義得多。

你有同一個函式的五種實作。三個回傳相同的結果。一個稍有不同。一個拋出例外。哪一個才是對的? 大多數團隊預設採用多數決。當輸出完全一致且錯誤顯而易見時,這麼做沒問題。但只要你的實作在細微處出現分歧,或每個變體都回傳不同答案時,這套方法就會崩解。N-version programming…