guardrail_blocked. Cette page est
la référence d’atterrissage pour cette seule erreur : à quoi ressemble le
corps, pourquoi elle se comporte comme elle le fait, et comment la gérer dans
le code client. Pour le moteur de politique derrière elle, voir
Vue d’ensemble des guardrails et la
référence complète.
1. Quand vous voyez guardrail_blocked
Un guardrail est une liste ordonnée de règles que la passerelle exécute contre l’entrée de la requête et la sortie du modèle. Quand une règle dont l’action est block se déclenche, l’appel est rejeté — le modèle en amont n’est jamais appelé (étape input) ou sa réponse est retenue (étape output). Le client reçoit une 400 portantguardrail_blocked.
Aucune autre action ne produit cette erreur. mask redacte la
correspondance et laisse passer le texte assaini, flag enregistre une
correspondance sans changer le trafic, et les actions de modelage du prompt
(annotate, spotlight) laissent l’appel continuer en ajoutant une note
ou en encadrant le texte non fiable. Des cinq actions, seule block rejette.
Voir Actions.
guardrail_blocked est un rejet de contenu (texte en entrée, texte en
sortie). Le refus de politique d’outils compagnon est firewall_blocked de
l’Agent Firewall — une erreur différente avec une
forme différente. Voir
guardrails vs. firewall.2. Le corps de réponse
Le block est renvoyé dans l’enveloppe d’erreur standard de forme OpenAI de la passerelle. Sur un endpoint de style OpenAI (/v1/chat/completions,
/v1/responses) :
code — guardrail_blocked
code — guardrail_blocked
L’identifiant machine stable. Branchez sur celui-ci, pas sur la chaîne du
message. C’est la même valeur sur chaque endpoint et jamais localisée.
message — nomme le guardrail et la règle
message — nomme le guardrail et la règle
Lisible par un humain. La forme est
request blocked by guardrail "<name>": <detail>, où <detail> résume le ou les types de règles qui se
sont déclenchés comme <type>(<rule-detail>) — par exemple pii(pii: ssn)
ou keyword(matched 1 keyword(s)). Un block à l’étape output se lit
response blocked by guardrail "<name>": <detail>, donc le verbe vous dit
quelle étape a rejeté l’appel. Le message passe par le masquage des
informations sensibles avant de quitter la passerelle, donc ne vous
attendez pas à la sous-chaîne brute correspondante ici.type — orcarouter_api_error
type — orcarouter_api_error
Le type d’erreur générique de la passerelle sur les endpoints de style
OpenAI. Le signal distinctif est
code, pas type./v1/messages), l’enveloppe est de forme
Claude — {"error": {"type": ..., "message": ...}} — et guardrail_blocked
apparaît dans le champ type, afin qu’un SDK Claude natif puisse
distinguer un refus de politique d’un échec générique de la passerelle.
3. Pourquoi guardrail_blocked ne coûte aucun quota
Une requête bloquée est gratuite — elle ne débite jamais votre solde de crédit.| Étape | Quand le block se déclenche | Effet sur le quota |
|---|---|---|
input | Avant l’appel en amont, en avance sur la mesure | Rien n’est mesuré |
output | Après que le modèle a répondu, avant le retour de la réponse | Le quota pré-consommé est remboursé |
4. Pourquoi guardrail_blocked saute le retry
L’erreur est marquée skip-retry. Le propre routage de la passerelle ne basculera pas cette requête vers un autre canal, parce que le block est une propriété de votre contenu et de votre politique — ré-exécuter le prompt identique ne ferait que bloquer à nouveau sur le canal suivant et gaspiller la tentative.5. La gérer dans le code client
Branchez sur le champcode et faites remonter un message utile à
l’utilisateur final au lieu de réessayer.
sk-orca-... ici est une clé de relais — elle ne porte que le
trafic /v1/*. Vous ne modifiez jamais un guardrail avec elle ; rédiger et
attacher une politique est une action de console / API de gestion sur votre
session, et créer ou modifier un guardrail nécessite le rôle Developer+.
6. Confirmer et ajuster un block
Chaque règle qui se déclenche — block compris — atterrit dans le flux Matches de l’espace de travail avec son type, son action, son étape et une chaîne de détail. C’est là que vous confirmez quelle règle a rejeté un appel donné et triez les faux positifs.Flux des correspondances
Voyez chaque block, mask et flag avec le type, l’action et l’étape. La
sous-chaîne correspondante n’apparaît que lorsque Log raw content est
activé.
Journalisation & confidentialité
Le contenu brut est désactivé par défaut — la posture conservatrice en
matière de confidentialité. Activez-le par guardrail quand vous avez besoin
de la sous-chaîne pour le triage.
Ajuster les faux positifs
Un faux positif est un signal d’ajustement, pas une raison de désactiver la
règle. Marquez-le et resserrez le motif.
Versioning
Vous avez changé la politique et voulez l’annuler ? Faites le diff de deux
versions et revenez en arrière comme une nouvelle version — l’historique
n’est jamais muté.
Sur une réponse streaming, un block de sortie s’applique toujours : le
scanner coupe le flux en plein vol avant que tout contenu bloqué n’atteigne le
client. Le mask de sortie s’applique aussi in-band sur les flux — le
scanner réécrit la correspondance dans le buffer roulant avant que le préfixe
sûr ne soit émis. Voir
couverture du streaming et
règles stream-safe.
7. Liés
Comprendre la politique
Comprendre la politique
La voir sur le trafic réel
La voir sur le trafic réel
Mapper aux concepts et menaces
Mapper aux concepts et menaces
