📄️ 🟢 概述
防止提示注入可能非常困難,而且幾乎沒有強大的防禦措施(@crothers2022machine)(@goodside2021gpt)。不過,有一些常識解決方案。例如,如果您的應用程式不需要輸出自由格式文本,則不允許此類輸出。有許多不同的方法來捍衛提示。我們將在這裡討論一些最常見的問題。
📄️ 🟢 過濾
過濾是防止提示駭客攻擊的常用技術(@kang2023exploiting)。過濾有幾種類型,但基本思想是檢查初始提示或輸出中應阻止的單字和短語。為此,您可以使用封鎖清單或允許清單 (@selvi2022exploring)。封鎖列表是應封鎖的單字和短語的列表,允許列表是應允許的單字和短語的列表。
📄️ 🟢 指令防禦
您可以在提示中加入說明,鼓勵模型小心提示中接下來會發生什麼。以下列提示為例:
📄️ 🟢 後置提示
後置提示(post-prompting)防禦(@christoph2022talking)只是將使用者輸入 放在 提示之前。以此提示為例:
📄️ 🟢 隨機序列包覆
另一種防禦措施是將使用者輸入封閉在兩個隨機字元序列之間(@armstrong2022using)。以此提示為例:
📄️ 🟢 三明治防禦
三明治防禦涉及將使用者輸入夾在中間兩個提示。以下面的提示為例:
📄️ 🟢 XML 標籤法
如果正確執行(特別是使用 XML+逃脫),XML 標記可以成為非常強大的防禦。它涉及透過 XML 標籤包圍使用者輸入(例如“”)。以此提示為例:
📄️ 🟢 獨立的 LLM 評估提示
使用獨立的 LLM 來判斷提示是否是對抗性(adversarial)的。
📄️ 🟢 其他方法
儘管先前的方法可能非常穩健,但其他一些方法(例如使用不同的模型,包括微調、軟提示和長度限制)也可能有效。