guardrail_blocked. Questa
pagina è il riferimento di destinazione per quell’unico errore: com’è fatto il
corpo, perché si comporta nel modo in cui lo fa, e come gestirlo nel codice
client. Per il motore di policy dietro di esso, vedi
Panoramica dei Guardrails e il
riferimento completo.
1. Quando vedi guardrail_blocked
Un guardrail è un elenco ordinato di regole che il gateway esegue sull’input della richiesta e sull’output del modello. Quando una regola la cui azione è block scatta, la chiamata viene rifiutata — il modello upstream non viene mai chiamato (stage di input) o la sua risposta viene trattenuta (stage di output). Il client riceve un 400 che portaguardrail_blocked.
Nessun’altra azione produce questo errore. mask redige il match e lascia
passare il testo sanitizzato, flag registra un match senza cambiare il
traffico, e le azioni di prompt-shaping (annotate, spotlight) lasciano
procedere la chiamata aggiungendo una nota o avvolgendo il testo non attendibile.
Delle cinque azioni, solo block rifiuta. Vedi
Azioni.
guardrail_blocked è un rifiuto di contenuto (testo in, testo out). La
negazione di policy di tool complementare è firewall_blocked dall’
Agent Firewall — un errore diverso con una forma
diversa. Vedi guardrails vs. firewall.2. Il corpo della risposta
Il block è restituito nell’envelope di errore standard OpenAI-shaped del gateway. Su un endpoint in stile OpenAI (/v1/chat/completions,
/v1/responses):
code — guardrail_blocked
code — guardrail_blocked
L’identificatore macchina stabile. Ramifica su questo, non sulla stringa del
messaggio. È lo stesso valore su ogni endpoint e non viene mai localizzato.
message — nomina il guardrail e la regola
message — nomina il guardrail e la regola
Leggibile dall’uomo. La forma è
request blocked by guardrail "<name>": <detail>, dove <detail> riassume i tipi di regola che hanno scattato come
<type>(<rule-detail>) — per esempio pii(pii: ssn) o
keyword(matched 1 keyword(s)). Un block nello stage di output legge
response blocked by guardrail "<name>": <detail>, quindi il verbo ti dice
quale stage ha rifiutato la chiamata. Il messaggio passa attraverso il masking
delle informazioni sensibili prima di lasciare il gateway, quindi non
aspettarti qui la sottostringa grezza corrispondente.type — orcarouter_api_error
type — orcarouter_api_error
Il tipo di errore generico del gateway sugli endpoint in stile OpenAI. Il
segnale distintivo è
code, non type./v1/messages) l’envelope è Claude-shaped —
{"error": {"type": ..., "message": ...}} — e guardrail_blocked emerge nel
campo type, così un SDK Claude nativo può distinguere una negazione di
policy da un fallimento generico del gateway.
3. Perché guardrail_blocked non costa quota
Una richiesta bloccata è gratuita — non addebita mai il tuo saldo di credito.| Stage | Quando scatta il block | Effetto sulla quota |
|---|---|---|
input | Prima della chiamata upstream, prima della misurazione | Nulla viene misurato |
output | Dopo che il modello risponde, prima che la risposta torni | La quota pre-consumata viene rimborsata |
4. Perché guardrail_blocked salta il retry
L’errore è etichettato skip-retry. Il routing del gateway stesso non farà il failover di questa richiesta verso un altro canale, perché il block è una proprietà del tuo contenuto e della tua policy — rieseguire il prompt identico si limiterebbe a bloccarlo di nuovo sul canale successivo e sprecherebbe il tentativo.5. Gestirlo nel codice client
Ramifica sul campocode e mostra un messaggio utile all’utente finale invece di
riprovare.
sk-orca-... qui è una chiave di relay — porta solo traffico
/v1/*. Non modifichi mai un guardrail con essa; scrivere e collegare la policy è
un’azione di console / management-API sulla tua sessione, e creare o modificare un
guardrail richiede il ruolo Developer+.
6. Confermare e mettere a punto un block
Ogni regola che scatta — block incluso — atterra nel feed Matches del workspace con il suo type, action, stage e una stringa di detail. È lì che confermi quale regola ha rifiutato una data chiamata e fai il triage dei falsi positivi.Feed dei match
Vedi ogni block, mask e flag con type, action e stage. La sottostringa
corrispondente appare solo quando Log raw content è attivo.
Logging e privacy
Il contenuto grezzo è disattivato per default — la postura conservativa sulla
privacy. Attivalo per ciascun guardrail quando ti serve la sottostringa per il
triage.
Tuning dei falsi positivi
Un falso positivo è un segnale di tuning, non un motivo per disabilitare la
regola. Segnalalo e restringi il pattern.
Versioning
Hai modificato la policy e vuoi annullarlo? Confronta due versioni qualsiasi e
ripristina come nuova versione — la cronologia non viene mai mutata.
Su una risposta in streaming, un block di output si applica comunque: lo
scanner interrompe lo stream a metà prima che qualsiasi contenuto bloccato
raggiunga il client. Il mask di output si applica anch’esso in-band sugli
stream — lo scanner riscrive il match nel buffer scorrevole prima che il prefisso
sicuro venga emesso. Vedi
streaming coverage e
regole stream-safe.
7. Correlati
Comprendi la policy
Comprendi la policy
Vedilo sul traffico reale
Vedilo sul traffico reale
Mappa su concetti e minacce
Mappa su concetti e minacce
