regex vous permet de faire
correspondre cette forme à chaque appel puis de la bloquer, masquer ou
signaler, avant que le prompt n’atteigne le modèle et avant que la réponse
n’atteigne votre utilisateur.
C’est une page d’atterrissage ciblée sur le cas d’usage des motifs structurés.
Pour le moteur de guardrail complet — chaque type de règle, champ et route —
voir la référence Guardrails.
api.orcarouter.ai). Vous rédigez le guardrail sous votre propre session ;
seul l’appel /v1/* final utilise une clé de relais sk-orca-.... Créer et
modifier des guardrails nécessite Developer+ dans l’espace de travail.1. Quand vous avez besoin d’un contrôle de guardrail regex llm
Une règleregex est le bon outil quand la chose que vous voulez attraper a une
structure qu’une liste de mots interdits littérale ne peut pas exprimer mais
n’est pas une identité standard que le détecteur pii
couvre déjà.
Codes structurés
Tokens en forme de format
Motifs de fuite en sortie
Vérifications déterministes et peu coûteuses
2. RE2 — temps linéaire, sans backreferences
Lepattern d’une règle regex est une regex Go RE2. RE2 est le moteur qui
rend une règle regex sûre à exécuter sur chaque requête :
Correspondance en temps linéaire — pas de backtracking catastrophique
Correspondance en temps linéaire — pas de backtracking catastrophique
Pas de backreferences, pas de lookaround
Pas de backreferences, pas de lookaround
\1), le lookahead ou le
lookbehind. Si vous portez un motif PCRE qui s’appuie sur eux, réécrivez-le
sans eux. Les classes de caractères, les ancres, les quantificateurs,
l’alternation et les groupes non-capturants fonctionnent tous comme attendu.L'insensibilité à la casse et les flags vont dans le motif
L'insensibilité à la casse et les flags vont dans le motif
(?i) pour l’insensibilité à la casse, (?m) pour le
multiligne. Exemple : (?i)\bproject-orca\b.Le motif doit compiler — vérifié à l'enregistrement
Le motif doit compiler — vérifié à l'enregistrement
3. Anatomie d’une règle regex
Une règleregex est la plus petite règle du moteur après keyword : un motif,
une étape et une action.
| Champ | Ce qu’il fait |
|---|---|
pattern | Une regex Go RE2 (temps linéaire, sans backreferences). Doit compiler. |
stage | input (requête), output (réponse), ou both. |
action | block, mask, ou flag. |
[REDACTED] — une règle regex n’est pas typée, donc
elle ne rend pas une balise par entité comme [EMAIL]. Si vous voulez une
balise typée ou un token de remplacement personnalisé, modélisez plutôt la forme
comme une entité PII personnalisée.
4. Un exemple concret
Supposons que vos numéros de commande internes ressemblent àORD- suivi de
huit chiffres, et que vous ne voulez jamais qu’un soit renvoyé en écho dans la
réponse d’un modèle. Ajoutez une seule règle regex à l’étape output :
Créer un guardrail
order-id-filter.Ajouter une règle regex
ORD-\d{8}. Enregistrez.La tester dans le sandbox
output, et exécutez la politique actuelle localement — aucun appel en
amont, aucun quota :Attacher une clé
order-id-filter dans la liste
déroulante Guardrail (définit guardrail_id sur la clé), ou marquez le
guardrail comme défaut de l’espace de travail. Voir
Attacher à une clé et
Défaut de compte.5. Étape et couverture du streaming
L’action que vous choisissez interagit avec le fait que la réponse soit streamée ou non :| Action | Non-streaming | Streaming |
|---|---|---|
block (output) | Appliqué | Appliqué — le scanner coupe le flux |
mask (output) | Appliqué | Appliqué — le scanner réécrit le buffer |
6. Choisir une action
Une règleregex choisit une action par règle :
Block — rejeter l'appel
Block — rejeter l'appel
guardrail_blocked. Une requête bloquée ne coûte aucun quota — un block
à l’étape input se déclenche avant la mesure ; un block à l’étape output
rembourse le quota pré-consommé — et elle est marquée skip-retry. Voir
l’erreur guardrail_blocked.Mask — redacter la correspondance
Mask — redacter la correspondance
[REDACTED] et la requête
continue avec le texte assaini — le modèle en amont (étape input) ou votre
utilisateur (étape output) ne voit jamais l’original. Voir
Actions.Flag — observer seulement
Flag — observer seulement
flag, surveillez le flux
Matches, puis promouvez en mask/block une fois que vous lui faites
confiance.Annotate — attacher une note
Annotate — attacher une note
Spotlight — encadrer comme données non fiables
Spotlight — encadrer comme données non fiables
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) qui indiquent au modèle
de traiter le texte comme des données, pas des instructions — une
mitigation d’injection de prompt. Voir
Actions.7. Voir ce qui s’est déclenché — et ajuster la précision
Chaque règle qui se déclenche enregistre une correspondance — type de règle, action, étape et une chaîne de détail — dans le flux Matches de l’espace de travail. Un motif trop large est le piège regex classique —\d{8} correspond à chaque
suite de huit chiffres, pas seulement à vos numéros de commande. Ancrez-le (un
préfixe fixe comme ORD-, des limites de mots \b), surveillez le flux
Matches, et marquez les faux positifs pour resserrer au fur et à mesure. Pour
une grille A/B contre un corpus — afin de prouver qu’un motif attrape ce qu’il
devrait sans signaler le trafic bénin — le
harnais d’évaluation vit dans l’onglet
d’à côté. Voir
Ajuster les faux positifs.
8. Où aller ensuite
Entités PII personnalisées
[REDACTED].Mots sensibles
Actions
Référence Guardrails
regex gouverne le contenu. Pour gouverner les appels d’outils
d’un agent — refuser les actions destructrices, redacter les arguments d’appels
d’outils, exiger une approbation — utilisez le Firewall
et ses matchers de règles. Pour les politiques
floues qu’aucun motif ne peut exprimer (toxicité, hors-sujet, intention
d’injection), une règle llm_judge exécute une vérification sémantique contre un
modèle de l’espace de travail. Pour voir où le regex s’inscrit dans la
conception globale, lisez
Guardrails vs Firewall.