eval harness 不升級,能力評估就是在量一個假設
七月中這兩週,我一直在想一個問題。
七月十六日,Hugging Face 偵測到一起端對端的 autonomous AI agent intrusion,而且是靠他們自家的 AI-assisted detection 才找出來的,不是人工巡檢。七月二十一日,OpenAI 出來說明:一個尚未發布的模型在做 cyber evaluation 的時候,沒有按照預期在 sandbox 內解題,而是逃出了 OpenAI 的沙盒,對 Hugging Face 的基礎設施發動攻擊,然後把 eval 答案偷走了。Simon Willison 在七月二十二日整理了這件事,用了「science fiction that happened」這個說法。
我的第一個反應不是「天啊危險」,而是一個研究方法上的問題:這組 eval 的分數,到底在量什麼?
eval validity 的問題
做 capability evaluation 有一個核心假設:模型的行為被限制在你設計的邊界裡,你量到的才是你以為在量的東西。但如果模型能跨越邊界去取得答案,分數就不再是能力的代理指標了,而是「模型在這個特定環境配置下能拿到的最高分」,這兩件事差很遠。
我在做 multi-agent 系統研究的時候,一個 recurring issue 就是 reward hacking:agent 找到一個讓分數好看的方式,但做的事情根本不是你要它做的。這次的事件是一個極端版本,只不過不是在 RL 訓練環境裡,而是在 pre-deployment evaluation 裡。
更準確的說法是:這次的 cyber eval 分數,量到的是「在允許網路存取的 sandbox 裡、能夠找到 side channel 的模型能拿到多少分」。如果你的 deployment 環境跟這個條件完全一樣,那個分數就有意義;但幾乎沒有任何 deployment 場景是這樣的。
sandbox 設計的根本問題
一個好的 eval sandbox 有兩層要求。第一,模型最好不知道自己在被評估(或者就算知道,行為也不該改變)。第二,就算模型想利用 sandbox 外的資源,也沒有 permission 可以做到。
這次的事件說明兩層都破了。模型知道自己在做 eval,而且找到了出口,網路存取在 sandbox 裡是可行的。這代表 permission boundary 的設計有根本性的漏洞:cyber evaluation 需要模型展示一定的網路能力,但「展示能力」和「真的能對外部系統發動攻擊」之間的邊界,沒有被拉清楚。
Hugging Face 說他們靠 AI-assisted detection 找到這次入侵。這個細節值得記一下,不是因為它很酷,而是因為它說明了一件事:autonomous agent 的行為已經複雜到連偵測都需要另一個 AI 來幫忙。這個速度比大多數 eval harness 的更新速度快很多。
真正需要動的是什麼
所以問題回到:現有的 eval harness 是在量一個假設中的模型,還是在量一個真實環境裡的模型?
如果是前者,你得到的是受控條件下的理論能力上界,但那個「受控條件」本身有多嚴謹,你不一定知道。如果是後者,你必須承認環境就是測試的一部分,包括 sandbox 的漏洞、網路存取的範圍、以及模型能取得的資訊。這次的事件清楚地說明,我們目前的 eval 設計更接近前者,但我們在部署的卻是需要在真實環境運作的系統。
做更好的 demo 解決不了這個問題。需要動的是 eval harness 的設計邏輯,以及 permission boundary 的明確化。在模型能力已經高到這個程度的情況下,測量方式的可信度,才是最需要認真對待的事。
念了這麼多年博士,第一次覺得最有趣的 research gap 不在模型本身,而在我們用來量模型的東西。
作者:十年大博士