1. Perché filtrare l’output AI non sicuro sullo stage di output
Il filtraggio dell’input intercetta un prompt cattivo. Non può intercettare una risposta cattiva: un modello indotto fuori policy, un fine-tune con guardrail integrati più deboli, o un prompt perfettamente ragionevole che ha prodotto una completion irragionevole. Lo stage di output è dove affermi “indipendentemente dal perché, questo testo non lascia il gateway”. Una regola del gateway scatta in modo deterministico e si applica allo stesso modo su ogni modello dietro la tua chiave. E ogni regola che scatta finisce nel feed Matches del workspace — tipo di regola, azione, stage — così hai una traccia di audit di ciò che è stato catturato e di ciò che è stato lasciato passare.La difesa vive nel gateway, non nella tua app. Modifica il guardrail e la
modifica ha effetto alla chiamata successiva per ogni chiave ad esso collegata —
nessun redeploy, nessuna modifica all’SDK. La tua app continua a chiamare
/v1/chat/completions esattamente come prima.2. I due modi per intercettarlo
Abbina una denylist deterministica a un giudice semantico per la difesa in profondità.Letterale — keyword / regex (latenza zero)
Letterale — keyword / regex (latenza zero)
Una regola
keyword è un match di sottostringa case-insensitive; una regola
regex è un pattern RE2 (tempo lineare, niente backreference). Entrambe
girano sul percorso caldo senza chiamata di rete — ideali per una lista nota
di parole vietate, una denylist di concorrenti o un pattern strutturale (un
token di chat-template trapelato, una frase definitiva “you are entitled to
damages”).Semantico — llm_judge (intercetta ciò che nessuna regex può)
Semantico — llm_judge (intercetta ciò che nessuna regex può)
Una regola
llm_judge valuta la risposta rispetto a una rubric che scrivi tu
usando un modello nel tuo workspace — tossicità, tono fuori brand, consigli
fuori policy che nessuna lista letterale cattura. Porta un
judge_timeout_ms, è fail-open di default (un errore del giudice viene
loggato e la risposta continua), e i suoi token vengono fatturati come una
sotto-riga del giudice. Vedi il
riferimento LLM judge.3. Un esempio concreto — blocca il tossico, maschera il fuori brand
Un singolo guardrail in fase di output che blocca una risposta tossica in modo semantico e maschera i termini di brand vietati in ciò che resta:/console/guardrails → New guardrail, aggiungi
le due regole e collegalo a una chiave dall’editor Token (il binding vive
sulla chiave come guardrail_id). La configurazione gira sulla tua sessione di
console, non sulla tua chiave di relay; solo la chiamata /v1/* qui sotto usa una
chiave sk-orca-....
guardrail_blocked. Se è pulita ma cita un termine vietato, quello span
viene reso come una redazione tipizzata e il resto scorre.
4. Parti da un preset
La libreria di template New guardrail include punti di partenza pronti all’uso nelle categorie Safety, Brand e Compliance. Un preset è un seme — applicalo, poi modifica liberamente.| Categoria | Preset in fase di output da cui partire |
|---|---|
| Safety | System-Prompt Leak Detector (output), Strong System Prompt Leak — flag/block delle risposte che riecheggiano token di system-prompt o chat-template. |
| Brand | Profanity Filter (mask) — gira su entrambi gli stage e maschera le parole in denylist nella risposta. (I preset Profanity / Brand Safety e Competitor Mentions in stile block sono semi in fase di input; ridirigi una copia su output se vuoi che filtrino la risposta.) |
| Compliance | Legal Disclaimer Enforce — flag delle risposte che danno consigli legali/finanziari definitivi per la revisione del team. |
5. Streaming: l’avvertenza che conta
Se una regola di output viene applicata live dipende dall’azione e dal fatto che tu faccia streaming o meno.| Azione | Non-streaming | Streaming |
|---|---|---|
block | Risposta trattenuta; HTTP 400 guardrail_blocked | Lo scanner interrompe lo stream a metà ed emette un messaggio sostitutivo — il contenuto bloccato non raggiunge mai il client |
mask | Match redatto nel testo restituito | Solo non-streaming oggi; la riscrittura in-band dello stream è in roadmap |
flag | Registra un match, non cambia nulla | Registra un match, non cambia nulla |
6. Forma di policy consigliata
Stratifica tre regole in un guardrail
-
keyword/regexsuoutput— intercettazione a latenza zero per termini vietati noti e pattern strutturali. -
llm_judgesuoutput— intercettazione semantica di tossicità / fuori brand / fuori policy per ciò che la lista letterale manca. -
Fai il rollout via
flagprima, osserva il feed Matches, poi promuovi ablockuna volta che il tasso di falsi positivi è accettabile. Vedi Modalità di applicazione.
Riferimento Guardrails
Riferimento completo per tipi di regola, azioni, stage, l’LLM judge, i preset,
l’eval harness e il feed Matches.
Esfiltrazione di dati
Impedire ai dati sensibili di uscire nella risposta di un modello o in una
chiamata a tool.
