這個系列好難啊,是個好新的主題,感覺光是整理資料就有夠多了,希望接下來的實作來得及XD
今天要開始設計解法,看被Q-LLM讀完資料之後,能不能送出一個「受限的訊號」,讓有權限模型(或判讀層)在不直接接觸原始內容的前提下,還是能拿到足夠的資訊來調整計畫。
另一篇論文(arXiv:2503.24191)揭露,結構化輸出與型別限制的機制本身可能被攻擊:攻擊者可以把有害請求藏進 schema 裡,要求模型「一步步回答」,模型在後續不受限制的欄位裡把操作性指令生成出來,連既有的安全檢查機制都偵測不到這種手法(稱為 EnumAttack)。這代表「只要輸出型別受限就安全」是一個危險的假設,設計判讀層的驗證規則時,不能只檢查「格式對不對」。
CaMeL的兩位作者(Debenedetti、Tramèr)在2026年7月還有與其他人一起寫了一篇論文(arXiv:2607.05277),更改了機制,把網頁上不受信任的元素標上ID,然後agent不碰原始內容,改用「ID+一句問題」去問Q-LLM,Q-LLM只能回傳型別安全的布林、整數、浮點數、日期、列舉。
這跟我們想做的「受限訊號」機制幾乎是同種解法。但這篇處理的是「怎麼安全地抽出一個事實,填進計畫裡本來就有的欄位」,沒看到特別處理「計畫本身能不能因為這個事實而改變分支」。
設計差不多有方向了,明天開始動手,先把CaMeL的原始碼架構跟開發環境搞定,邊做邊記錄實際碰到的狀況,接下來的20天要進到最難的實際執行了,前面的資料整理廢話好多自己都快受不了,就讓我們準備Demo吧!