regex ti permette di corrispondere a quella forma su ogni chiamata e poi
bloccare, mascherare o segnalare, prima che il prompt raggiunga il
modello e prima che la risposta raggiunga il tuo utente.
Questa è una landing focalizzata sul caso d’uso dei pattern strutturati. Per il
motore di guardrail completo — ogni tipo di regola, campo e rotta — vedi il
riferimento Guardrails.
api.orcarouter.ai). Scrivi il guardrail sotto la tua sessione; solo la chiamata
/v1/* finale usa una chiave di relay sk-orca-.... Creare e modificare
guardrails richiede Developer+ nel workspace.1. Quando ti serve un controllo regex guardrail llm
Una regolaregex è lo strumento giusto quando la cosa che vuoi catturare ha
struttura che una denylist letterale non può esprimere ma non è un’identità
standard che il detector pii già copre.
Codici strutturati
Token a forma di formato
Pattern di fuga nell'output
Controlli economici e deterministici
2. RE2 — tempo lineare, nessuna backreference
Ilpattern di una regola regex è una regex Go RE2. RE2 è il motore che
rende sicuro eseguire una regola regex su ogni richiesta:
Matching in tempo lineare — nessun backtracking catastrofico
Matching in tempo lineare — nessun backtracking catastrofico
Nessuna backreference, nessun lookaround
Nessuna backreference, nessun lookaround
\1), lookahead o lookbehind. Se stai portando
un pattern PCRE che si basa su quelli, riscrivilo senza. Classi di caratteri,
ancore, quantificatori, alternanza e gruppi non-capturing funzionano tutti come
previsto.Insensibilità alle maiuscole e flag vanno nel pattern
Insensibilità alle maiuscole e flag vanno nel pattern
(?i) per case-insensitive, (?m) per multiline. Esempio:
(?i)\bproject-orca\b.Il pattern deve compilare — controllato al salvataggio
Il pattern deve compilare — controllato al salvataggio
3. Anatomia di una regola regex
Una regolaregex è la regola più piccola del motore dopo keyword: un pattern,
uno stage e un’azione.
| Campo | Cosa fa |
|---|---|
pattern | Una regex Go RE2 (tempo lineare, nessuna backreference). Deve compilare. |
stage | input (richiesta), output (risposta), o both. |
action | block, mask, o flag. |
[REDACTED] — una regola regex non è tipizzata, quindi non renderizza
un tag per entità come [EMAIL]. Se vuoi un tag tipizzato o un token di
sostituzione personalizzato, modella la forma come una
entità PII personalizzata invece.
4. Un esempio concreto
Supponi che i tuoi numeri d’ordine interni appaiano comeORD- seguito da otto
cifre, e che tu non voglia mai uno ripetuto nella risposta di un modello.
Aggiungi una singola regola regex nello stage output:
Crea un guardrail
order-id-filter.Aggiungi una regola regex
ORD-\d{8}. Salva.Testala nella sandbox
output ed esegui
la policy corrente localmente — nessuna chiamata upstream, nessuna quota:Collega una chiave
order-id-filter dal menu a tendina
Guardrail (imposta guardrail_id sulla chiave), o marca il guardrail come
default del workspace. Vedi
Collega a una chiave e
Default di account.5. Stage e copertura streaming
L’azione che scegli interagisce con il fatto che la risposta sia in streaming:| Azione | Non streaming | Streaming |
|---|---|---|
block (output) | Applicato | Applicato — lo scanner interrompe lo stream |
mask (output) | Applicato | Applicato — lo scanner riscrive il buffer |
6. Scegli un’azione
Una regolaregex sceglie un’azione per regola:
Block — rifiuta la chiamata
Block — rifiuta la chiamata
guardrail_blocked.
Una richiesta bloccata non costa quota — un block nello stage di input
scatta prima della misurazione; un block nello stage di output rimborsa la
quota pre-consumata — ed è marcata skip-retry. Vedi l’
errore guardrail_blocked.Mask — redige il match
Mask — redige il match
[REDACTED] e la richiesta continua
con il testo sanitizzato — il modello upstream (stage di input) o il tuo utente
(stage di output) non vede mai l’originale. Vedi
Azioni.Flag — solo osservazione
Flag — solo osservazione
flag, osserva il feed dei
Matches, poi promuovilo a mask/block una volta che ti fidi.Annotate — allega una nota
Annotate — allega una nota
Spotlight — avvolge come dati non attendibili
Spotlight — avvolge come dati non attendibili
⟦UNTRUSTED⟧…⟦/UNTRUSTED⟧) che dicono al modello di trattare il testo come
dati, non istruzioni — una mitigazione di prompt-injection. Vedi
Azioni.7. Vedi cosa è scattato — e metti a punto la precisione
Ogni regola che scatta registra un match — tipo di regola, azione, stage e una stringa di detail — nel feed Matches del workspace. Un pattern troppo ampio è la classica trappola della regex —\d{8} corrisponde a
ogni sequenza di otto cifre, non solo ai tuoi numeri d’ordine. Ancoralo (un
prefisso fisso come ORD-, confini di parola \b), osserva il feed dei Matches, e
segnala i falsi positivi per irrigidire man mano. Per una griglia A/B contro un
corpus — dimostrando che un pattern cattura ciò che dovrebbe senza segnalare il
traffico benigno — l’harness di eval vive
una tab più in là. Vedi
Tuning dei falsi positivi.
8. Dove andare dopo
Entità PII personalizzate
[REDACTED].Parole sensibili
Azioni
Riferimento Guardrails
regex governa il contenuto. Per governare le chiamate a tool di
un agent — negare azioni distruttive, redigere gli argomenti delle chiamate a tool,
richiedere approvazione — usa il Firewall e i suoi
rule matcher. Per policy sfumate che nessun pattern
può esprimere (tossicità, fuori tema, intento di injection), una regola llm_judge
esegue un controllo semantico contro un modello del workspace. Per vedere dove la
regex si colloca nel design complessivo, leggi
Guardrails vs Firewall.