安全與倫理
在正式環境中對 LLM 下提示,不只是工程問題,更牽涉到你「被允許」做什麼、你「應該」做什麼,以及當模型出錯時「誰要負責」。本文涵蓋的是負責任使用與治理這一層:那些再多程式碼也無法替你做出的判斷。
把三個彼此重疊的面向分開來看,會比較清楚:
- 安全(Security):保護系統與資料免於被濫用或攻擊。技術性的控制(輸入驗證、身分驗證、加密、速率限制、機密管理)放在正式環境部署,本文不重複。
- 安全性/無害(Safety):避免 AI 產生的動作與輸出造成傷害。驗證關卡、重現測試與人在迴路(human-in-the-loop)的紀律,在驗證與安全有深入說明。
- 倫理與治理(Ethics & governance):決定什麼是適當、公平、透明且可問責的。這正是本文的重點。
如果你只有時間養成一個習慣,就養成這個:假設你送給模型的每一樣東西,都可能被記錄、保存或在別處被揭露;也假設它回傳的每一樣東西都可能是錯的。 這兩個假設,貫穿了底下每一節。
該去哪找什麼
資料保護與隱私
正式環境部署處理的是「如何」用技術保護資料;本節談的則是你一開始「選擇」把什麼放到模型面前,這是一個發生在任何加密或驗證執行「之前」的治理決定。
把送出的內容最小化
最便宜的資料外洩,就是那筆敏感資料根本沒被送出去。在提示離開你的系統之前先問:模型真的需要這個欄位才能完成工作嗎?多數時候並不需要。摘要任務鮮少需要客戶的完整帳號;語氣分類任務也不需要對方的住家地址。
把提示當成一筆「對第三方的對外資料傳輸」來看待,因為它通常就是。
送出前先去識別化
把去識別化(redaction)建在模型呼叫「之前」的路徑上,而不是之後。先用穩定的佔位符替換掉敏感值,跑完提示,必要時再在你自己這端把結果還原回去。
原始輸入: 「請寄信給 wang.dahua@example.com,內容關於發票 4471、卡號 4111 1111 1111 1111。」
去識別化後的提示:「請寄信給 [EMAIL_1],內容關於發票 [INVOICE_1]、卡號 [CARD_1]。」
模型看到的是 [EMAIL_1],對照表握在你的系統手裡,而真實值從頭到尾都不會進入提示、不會進入服務商的日誌,也不會進入任何下游軌跡。