AI 的越獄:為什麼它能被騙出禁語
換句話說,越獄問題的真正代價,不只是「模型說了不該說的話」,而是「你無法預測它什麼時候會說」。對開發者而言,這是可靠性問題;對使用者而言,這是信任問題;對監管者而言,這是可課責性問題。
二、越獄為什麼會成功:五個結構性原因
如果把每一次越獄事件都當成獨立個案,很容易得出「又一個漏洞被找到了」的結論,然後期待下一次更新會修好。但實際上,越獄的成功率之所以居高不下,是因為它踩在五個結構性的特性上。這些特性不是誰的疏失,而是當前技術路線的內建條件。
原因一:對齊是「統計偏好」,不是「法律條文」
模型的安全行為,本質上是透過人類回饋強化學習(RLHF)等技術,把「拒絕某些請求」變成模型輸出分布中的一個高機率傾向。它學到的不是一條寫死的規則,而是「在這類情境下,這類回答比較受人類評分者青睞」。
這個差別非常關鍵。法律條文是演繹式的:只要事實符合構成要件,結論就成立。模型的對齊是歸納式的:它從大量範例中學到一個統計上的偏好方向。當輸入落在訓練分布的熟悉區域,這個偏好很穩固;一旦輸入被推離那個區域,偏好就可能被其他更強的訊號壓過去——例如「遵循指令」或「完成角色扮演」的訊號。
所以越獄不是「找到了一個沒被規則涵蓋的漏洞」,而更像是「找到了一個讓安全偏好不再是最高優先權的語境」。這也是為什麼修補永遠是無止境的:你補的是一個又一個語境,而不是一條可以一次寫完的規則。
原因二:指令跟隨與安全拒絕,天生是兩個互相拉扯的目標
一個好用的大型語言模型,最重要的能力就是「聽話」:使用者給什麼任務,它就盡力完成。這種指令跟隨能力是模型價值的來源,但同時也是越獄的入口。
因為「拒絕」在某種意義上,就是「不聽話」。安全訓練做的事情,是在某些條件下刻意壓抑指令跟隨的傾向,讓模型優先執行拒絕。問題在於,這兩個目標的優先順序不是絕對的,而是由上下文動態決定的。當使用者用足夠強的框架去重新定義情境——例如「這是一場學術演練」、「你現在是劇中的反派」、「這是為了保護家人而必須知道的資訊」——模型內部的訊號強度就會改變。
越獄的本質,很多時候不是「破解了安全機制」,而是「說服模型,現在不是那個機制該啟動的場合」。
這也是為什麼「角色扮演」類手法特別有效:它不是在對抗安全機制,而是在重新協商「現在是哪一種對話」。一旦模型接受了新的對話框架,原本的拒絕條件就不在那個框架的觸發範圍內了。
原因三:訓練資料的分布邊界,就是防禦的邊界
模型對「什麼是有害請求」的判斷能力,來自它看過的有害與無害範例。這意味著它對「長得有害」的請求很敏感,對「長得不像有害」的請求則相對寬鬆。
這也是為什麼編碼、翻譯、拆字、隱喻、學術化包裝這些手法長年有效:它們不是改變了請求的實質內容,而是改變了請求的表面形式,讓它落在模型訓練資料中「看起來正常」的區域。模型不是被騙了,而是它真的沒有學會「這兩種表述在語意上等價」。
同樣的邏輯也解釋了為什麼「冷門語言」與「低資源語言」的防禦通常較弱:訓練資料少,對齊訊號自然稀薄。這是一個很難靠增加一點資料就補平的結構性落差。
原因四:語言空間是連續的,而安全判斷常常是離散的
自然語言的特性是:同一個意思有無窮多種說法,而且這些說法之間是連續漸變的。你可以把一句話慢慢改寫,每次只改一點點,改到最後它已經完全不是原本那句話,但每一步的變化都小到不會觸發警報。
多輪對話把這個特性放大到極致。單輪對話時,模型只需要對一則輸入做安全判斷;多輪對話時,脈絡是累積的,每一輪都建立在前面已經「被接受」的基礎上。攻擊者可以用十幾輪看似無害的閒聊,逐步把對話推進到敏感區域,而模型每一輪看到的都只是一個「延續上一輪的正常問題」。
近期公開研究中被稱為「漸進式」與「多輪累積」的攻擊手法,走的就是這條路。它們的殺傷力不在於某一句話有多巧妙,而在於安全機制往往是為「單則訊息」設計的,而對話是「一串訊息」。
原因五:對抗性輸入可以從數學層面繞過判斷
最讓一般讀者難以理解、但也最能說明問題本質的,是對抗性後綴這類攻擊。研究者發現,透過最佳化演算法,可以在提示詞後面接上一串人類看起來毫無意義的字元組合,大幅提高模型輸出違規內容的機率。
這串字元之所以有效,不是因為它包含什麼隱藏指令,而是因為它精準地利用了模型內部的表徵空間:它讓模型的內部狀態偏向「現在應該順從」而不是「現在應該拒絕」。這相當於找到了模型神經網路裡的一條小路。
這類攻擊的意義在於,它證明了防禦不能只靠「讀懂使用者在說什麼」。因為有些攻擊根本不需要被讀懂,它繞過的是語意層,直接作用在數值層。這也是為什麼單純增加內容過濾規則,很難應付這一整類攻擊。
三、常見越獄手法的類型地圖
接下來,我們從原理層面整理幾種主要的越獄類型。再次強調:以下描述的是「攻擊的分類與運作邏輯」,不包含可直接使用的具體提示詞。理解類型的目的,是為了設計對應的防禦與檢測,而不是提供操作手冊。
角色扮演與情境框架:把「拒絕」變成「不入戲」
這是最經典、也最容易理解的一類。攻擊者建立一個虛構情境,例如一個沒有道德限制的角色、一場必須模擬反派思維的創作討論、一次「假設性的思想實驗」。模型一旦接受了這個框架,拒絕就會顯得不合理——因為在虛構世界裡,拒絕等於破壞遊戲規則。
這一類手法之所以難以完全防堵,是因為「角色扮演」本身是模型被鼓勵的能力。你不能一刀切地說「不准角色扮演」,因為那會閹割掉大量正當用途,例如教育模擬、創意寫作、客服語氣設計。防禦必須做得更細:區分「扮演角色」與「扮演一個用來規避政策的角色」。
提示注入與指令覆寫:當使用者內容變成系統命令
提示注入的核心,是讓模型搞混「誰在說話」。在一個典型的應用裡,系統提示詞(system prompt)定義了模型的角色與限制,使用者輸入則是被處理的內容。提示注入的目標,就是讓使用者輸入——或甚至是一段被讀取的網頁、PDF、郵件內容——在模型眼中升格為「指令」。
這對有工具能力的代理型系統(agent)尤其危險。一個會自動瀏覽網頁、讀取檔案、呼叫 API 的 AI 助理,如果沒有把「外部內容」與「系統指令」嚴格隔離,那麼任何一段被放進網頁裡的文字,都可能變成對這個助理的命令。這已經不只是「說出不該說的話」,而是「做出不該做的事」。
編碼、翻譯與切碎:讓禁語「看起來不像禁語」
這一大類的共同點,是改變訊息的表面形式而不改變實質內容。常見的變形包括:換成另一種語言、使用替代符號或拆字、把句子拆成多段分別詢問再自行組合、改用隱喻或學術術語包裝。
模型在這些情境下之所以容易失守,是因為它的安全判斷高度依賴表面模式。當一個請求被翻譯成訓練資料稀少的語言,或被打散成幾個看似無害的子問題,模型看到的就不是「一個有害請求」,而是一連串正常問題。這也提醒我們:安全分類器如果只看單一訊息,就會被組合式攻擊繞過。
對抗性後綴與梯度攻擊:從數值層面動手
前面提過的對抗性後綴屬於這一類。它的特點是需要技術門檻與運算資源:攻擊者必須能對模型進行大量查詢,甚至取得梯度資訊,才能最佳化出有效的字元序列。這類攻擊在真實世界的普及度相對低,但它的存在證明了幾件事:
模型的「拒絕」是一個可以被數值化的內部狀態,而不是一道邏輯閘。
只要攻擊者能觀測輸出機率,就能針對防禦做最佳化。
這是一場不對稱的軍備競賽:防守方要守住所有角落,攻擊方只需要找到一個洞。
情緒與道德綁架:利用模型的「助人傾向」
還有一類手法不靠技術,靠的是心理框架。它訴諸緊急情境、弱勢處境、道德責任,讓「拒絕」在對話中顯得不近人情。例如把請求包裝成「我現在很害怕,只有你能幫我」或「你如果不說,會有人受傷」。
這類手法之所以有效,是因為良好的助理行為本來就包含同理與協助。模型被訓練成傾向幫助使用者,而這種傾向在強烈情緒框架下,可能壓過安全判斷。防禦上的難點在於:你不能讓模型變得冷漠,否則正常使用者的求助也會被拒絕。這裡需要的是「辨識操縱性框架」的能力,而不是「降低同理心」。
四、從紅隊到憲法:防守方到底在做什麼
理解了攻擊面,才能理解防禦為什麼長成現在這個樣子。目前業界的防禦大致分三個層次:訓練階段、推理階段、以及產品層的營運監控。
訓練階段:對齊、紅隊演練與對抗訓練
在模型訓練與微調階段,最常見的做法包括:
對抗訓練:刻意把對抗性樣本納入訓練,讓模型對這類輸入產生抵抗力。
這些方法的共同限制是:它們都是「針對已知攻擊的補強」。紅隊找到的案例會被修掉,但下一輪新手法仍然會出現。對抗訓練能提升穩健性,卻很難保證對未見過的攻擊同樣有效。
推理階段:系統提示、輸入輸出過濾與獨立分類器
在推論階段,防守方通常會疊上好幾層:
輸入分類器:在請求送進主模型前,先用一個專門的模型判斷風險等級。
輸出過濾:對生成結果做後處理檢查,攔截明顯違規的內容。
對話狀態追蹤:偵測多輪對話中風險是否逐步升高,而不是只看單一訊息。
多層防禦的邏輯是「不追求零失誤,而是把失誤的成本壓低」。即使主模型被騙過,輸出過濾仍可能攔下;即使輸出過濾漏掉,產品層的監控與檢舉機制還能補救。
為什麼防守永遠是追趕型
防守方的困境可以用一句話總結:攻擊是無上限的探索,防禦是有上限的清單。攻擊者可以嘗試任何輸入,防守方只能針對已知與可預見的類型佈防。加上模型本身是機率性的,同一則提示在不同溫度、不同上下文下結果可能不同,這讓「驗證防禦有效」變得格外困難。
更麻煩的是,防禦強度與可用性之間存在張力。過度保守的模型會拒絕大量正當請求,使用者體驗變差,最後的結果往往是把模型調回寬鬆一點——然後攻擊面又打開了。這個取捨沒有標準答案,只能靠產品定位與風險承受度來決定。
五、越獄的代價:風險、責任與治理的灰色地帶
對企業的實務風險
把大型語言模型接進業務流程的企業,需要面對的風險至少包括四類:
資料風險:系統提示詞、內部規則或使用者資料被誘導洩漏。
工具風險:代理型系統被注入指令,執行未授權的寄信、下單、檔案操作。
合規風險:無法向監管機關證明已採取合理的安全措施。
值得注意的是,很多企業在導入時只做了「功能驗收」,沒有做「對抗驗收」。也就是說,他們測試了模型在正常情況下表現多好,卻沒有測試它在被刻意誘導時會壞到什麼程度。這正是越獄風險最容易被低估的地方。
對個人使用者的意義
對一般使用者來說,越獄新聞最實用的啟示不是「我也可以試試看」,而是「我知道這個系統的邊界在哪裡」。當你知道模型可能被情緒框架說服、可能因為換一種語言而給出不同答案時,你就比較不會把它當成一個有確定判斷的權威。
在需要判斷的場景——醫療、法律、財務、心理健康——把 AI 的輸出當成「需要驗證的初稿」而不是「答案」,永遠是更安全的做法。模型的自信語氣與它的正確率之間,沒有必然關係。
監管與平台責任的灰色地帶
目前各國對 AI 越獄的監管態度仍在成形。有幾個問題沒有共識:平台是否必須主動防堵所有已知越獄手法?使用者刻意繞過安全機制,責任在誰?研究者為了安全研究而進行越獄測試,是否應被豁免?
可以預見的是,隨著 AI 系統被納入更多高風險場景,「有沒有做合理的安全測試」會逐漸成為判斷責任歸屬的關鍵。對企業來說,把紅隊測試的紀錄留下來,可能不只是技術工作,也是法律上的自保。
六、實務建議:使用者怎麼判斷,開發者怎麼防
給一般使用者的五個判斷準則
給開發者與企業的防禦清單
七、結語:越獄是一面鏡子
回到最初的問題:AI 為什麼能被騙出禁語?比較精確的答案是——因為它不是靠理解規則來行動,而是靠統計傾向來行動;因為它的「聽話」與「守規矩」是兩個會互相拉扯的目標;因為語言的變形空間是無限的,而防禦的清單是有限的;也因為對話是連續的,而安全判斷常常是針對單點設計的。
這些原因沒有一個能靠一次更新解決。它們是這條技術路線的內建張力,只能用工程手段一層一層去管理。所以我們會持續看到新的越獄手法,也會持續看到防守方補上新的補丁。這不是失敗,而是這個領域目前的常態。
對一般使用者來說,理解這件事最大的價值,是學會用「有邊界的工具」來看待 AI,而不是用「全知的存在」來期待它。對開發者與企業來說,理解這件事的價值,是知道安全不是上線前的一道檢查,而是一條貫穿產品生命週期的流程。
越獄之所以值得討論,不是因為它教會我們怎麼騙 AI,而是因為它逼我們想清楚:我們到底希望這些系統在多不確定的世界裡,替我們做多少決定。這個問題的答案,終究不會寫在模型裡,而是寫在設計它的人手上。
—— 本文為「雅寶社區 · 頂客論壇」AI 趨勢專欄整理,內容以原理與治理討論為主,不提供任何繞過安全機制的操作指引。若你對 AI 安全測試有興趣,建議從公開的紅隊方法論與平台官方安全文件著手,並遵守各服務的使用條款。
```