為什麼要攻擊自己的模型
紅隊測試(red-teaming)之名借自軍事與資安實務:一支專責隊伍扮演對手、設法讓系統失效,好讓破綻在實驗室裡浮現、而非在真實世界中。對大型語言模型而言,這意味著刻意誘出模型本該拒絕的有害、偏見或違反政策的輸出——再把這些破綻餵回安全微調與防護欄。紅隊測試不是上線前的一次性關卡;它是一個持續的迴圈,因為每一次能力升級都會開出新的失敗面。
把紅隊測試看作搜尋:對手尋找最能誘發有害輸出的輸入。
手動與自動化紅隊測試
人類紅隊測試者帶來創造力與領域專業——一位真正的生物學家、或一位真正的社交工程師,能探出通用測試者永遠想不到的失敗模式。但人類又慢又貴,所以如今的做法是把他們和自動化越獄搜尋配對:用攻擊者模型生成數以千計的對抗性提示、用大型語言模型評審(LLM-as-judge)為回覆打分,並把前一篇那些最佳化技術反過來用於防禦。產出的是規模化的覆蓋率;人類則專注在最棘手、賭注最高的類別。
- 界定威脅模型——攻擊者是誰、想要什麼、握有什麼存取權?目標含糊,測試也會含糊。
- 誘出破綻——在每個傷害類別上,以手動探測搭配自動化搜尋。
- 分流與重現——評估嚴重度,確認破綻是穩定可重現的,而非偶發的僥倖。
- 緩解並重測——以微調或過濾器修補,再攻擊一次,確認修法不是只把問題塞到地毯底下。
示意圖:一個帶回饋迴路、可回到前序階段的循環式生命週期流水線。
危險能力評估
大多數紅隊測試問的是「模型會不會講出壞東西?」更深一層的測試問的是「模型能不能做出壞事?」危險能力評估(dangerous capability evaluation)量測的是:在高後果領域裡,模型是否實質地提升了惡意行為者的能力——它在合成病原體、撰寫新型惡意軟體、執行說服或影響力行動、或自主取得資源並規避監督上,是否帶來不可忽視的優勢?標準不是「下定決心的專家是否本來就能在網路上找到」,而是「模型是否替一個本來辦不到的人降低了門檻」。
示意圖:大語言模型智能體在推理、行動、觀察之間循環。
雙重用途的兩難
幾乎每一項危險能力,都是讓模型有價值的同一項能力。幫得了化學家的推理,也幫得了下毒者;能交付功能的編碼技巧,也能寫出漏洞利用;能寫出漂亮求職信的說服力,也能寫出假訊息。這就是雙重用途(dual-use)問題,它意味著你很少能直接「移除」一項危險——移除它通常連有用性一起移除。因此安全工作瞄準的是濫用路徑(拒絕操作性的請求、加浮水印、監控),而非把底層知識切除,同時還得緊盯第一篇談的安全與有用性取捨。