為什麼要做Defensive Prompt?
我們在前兩篇有講到,LLM容易被誘導(jailbreak / prompt injection)後,在不該回答的情況下給出有害或不準確的資訊。
而防禦型prompt是最直接、成本最低的第一道防線,透過在明確教模型如何拒答與應對惡意輸入,可以大幅降低錯誤回覆的風險。
如果能與content-filter、classifier、verifier搭配使用甚至能構成多層防禦。
設計原則
- 明確、具體、不可模糊、不能只說別說危險的東西,要列出範圍(違法、危險操作、醫療診斷、機密資料、個資、社會工程等)。
- 優先拒答而非嘗試模糊回避:在高風險情況下回覆拒絕 + 提供安全替代。
- 禮貌與專業兼具:拒答語氣應友善、有替代建議(降低用戶挫折)。
- few-shot範例學習:用正/負範例教模型怎麼拒答與怎麼正常回答。
- 拒答理由要透明:告知使用者拒答的簡短理由(安全性/法律/倫理)。
- 避免公開內部規則細節:不要在拒答中暴露太多內部策略或模型漏洞。
- 與pipeline共用:log + human-in-the-loop(HITL):高風險請求上報並保存紀錄供後續檢討。
範例
- System Prompt:
- Few-shot: