1. 為何要在輸出介面審查 unsafe ai output
輸入審查捕捉到的是一個壞的提示詞。它捕捉不到一個壞的答案:一個被 誘導偏離政策的模型、一個內建防護欄較弱的微調版本,或一個產生了不合理 完成的完全合理的提示詞。輸出介面正是你斷言「無論原因為何,這段文字都 不會離開閘道」之處。 一條閘道規則會確定性地觸發,並在你金鑰背後的每個模型上一視同仁地套用。 而每一條觸發的規則都會落入工作區 Matches 動態——規則型別、 動作、介面——所以你會有一份關於捕捉到什麼、放行了什麼的稽核軌跡。防禦存在於閘道中,而不是你的應用程式裡。 編輯防護欄,變更就會在
下次呼叫時對每個附加到它的金鑰生效——無需重新部署、無需 SDK 變更。
你的應用程式繼續完全照之前的方式呼叫
/v1/chat/completions。2. 捕捉它的兩種方式
把一個確定性的拒絕清單與一個語意判官配對,以實現縱深防禦。字面——keyword / regex(零延遲)
字面——keyword / regex(零延遲)
一條
keyword 規則是不分大小寫的子字串匹配;一條 regex 規則是
一個 RE2 模式(線性時間,無回溯參照)。兩者都在熱路徑上執行,無網路
呼叫——非常適合一份已知的禁用詞清單、一份競爭對手拒絕清單,或一個
結構性模式(一個外洩的聊天範本權杖、一句斬釘截鐵的「你有權獲得賠償」
措辭)。語意——llm_judge(捕捉任何 regex 都無法捕捉的東西)
語意——llm_judge(捕捉任何 regex 都無法捕捉的東西)
一條
llm_judge 規則用你工作區裡的一個模型,依你撰寫的評分準則來
評估回應——毒性、偏離品牌的語氣、沒有任何字面清單能捕捉的偏離政策
建議。它攜帶一個 judge_timeout_ms,預設失敗開放(一個判官錯誤
會被記錄而回應繼續),且它的權杖會以一個判官子行計費。參見
LLM 判官參考。3. 一個具體範例——封鎖有毒、遮罩偏離品牌
一個輸出介面防護欄,語意性地封鎖有毒回應,並在剩下的內容中遮罩 禁用的品牌詞:/console/guardrails → New guardrail,加入
這兩條規則,並從 Token 編輯器把它附加到一個金鑰(綁定以
guardrail_id 存在於金鑰上)。設定在你的主控台工作階段上執行,而不是
你的中繼金鑰;只有下面的 /v1/* 呼叫使用一個 sk-orca-... 金鑰。
guardrail_blocked 扣住。
如果它乾淨但提到了一個禁用詞,那個片段會呈現為一個帶型別的遮蓋,而其餘
部分照流通過。
4. 從一個預設集開始
New guardrail 範本庫在 Safety、Brand 與 Compliance 類別中 提供現成的起點。一個預設集是一顆種子——套用它,然後自由編輯。| 類別 | 可作為起點的輸出介面預設集 |
|---|---|
| Safety | System-Prompt Leak Detector(output)、Strong System Prompt Leak——標記/封鎖那些複述系統提示詞或聊天範本權杖的回應。 |
| Brand | Profanity Filter(mask)——在兩個介面上執行,遮罩回應中被列入拒絕清單的詞。(封鎖式的 Profanity / Brand Safety 與 Competitor Mentions 預設集是輸入介面種子;若你想要它們審查答案,把一份副本重新指向 output。) |
| Compliance | Legal Disclaimer Enforce——標記給出斬釘截鐵的法律/財務建議的回應,以供團隊審查。 |
5. 串流:那個重要的注意事項
一條輸出規則是否即時強制執行,取決於動作以及你是否串流。| 動作 | 非串流 | 串流 |
|---|---|---|
block | 回應被扣住;HTTP 400 guardrail_blocked | 掃描器在傳輸中途切斷串流並發出一則替代訊息——被封鎖的內容永遠不會抵達客戶端 |
mask | 在回傳的文字中遮蓋匹配 | 今天僅限非串流;傳輸途中的串流改寫在路線圖上 |
flag | 記錄一個匹配,不改變任何東西 | 記錄一個匹配,不改變任何東西 |
6. 建議的政策形狀
在一個防護欄中疊三條規則
-
keyword/regex於output——對已知禁用詞與結構性模式的 零延遲捕捉。 -
llm_judge於output——對字面清單漏掉的東西做語意毒性/ 偏離品牌/偏離政策捕捉。 -
先透過
flag上線,觀察 Matches 動態,等到 誤報率可接受後再晉升到block。參見 強制執行模式。
防護欄參考
規則型別、動作、介面、LLM 判官、預設集、評估工具,以及 Matches 動態的
完整參考。
資料外洩
阻止敏感資料在模型回應或一次工具呼叫中離開。
