1. Por que testar políticas de ai guardrail antes de vincular uma chave
Uma política de conteúdo tem dois modos de falha, e eles puxam em direções opostas:- Misses — um ataque ou vazamento passa porque nenhuma regra disparou.
- Falsos positivos — um prompt benigno é bloqueado ou mascarado porque uma regra é ampla demais.
Ambas as ferramentas rodam inteiramente na sua sessão via a API de
gerenciamento (
/api/guardrail/*) — nunca a chave de relay. Elas avaliam
texto localmente e não enviam nada upstream, então uma run de teste não
custa cota de modelo.2. A aba Test — uma amostra, veredito instantâneo
Todo editor de guardrail tem uma aba Test. Cole uma amostra, escolha um estágio (input ou output) e rode o rascunho atual da política. Você recebe
de volta a decisão completa — blocked, mutated, o texto sanitized e
a lista de violations — para que você possa provar que uma única regra faz o
que você espera antes de salvar.
A aba Test é para “esta uma regra fez a coisa certa”. Para medir uma
política sobre centenas de prompts de uma vez, use Eval.
3. A aba Eval — pontue uma política contra um corpus
A aba Eval roda seu guardrail contra um corpus de amostras rotuladas e relata como ele pontuou: precisão, recall e F1 no geral e por categoria, mais as amostras exatas que ele errou. Use-a para ajustar um rubric dellm_judge,
provar que uma regra de block pega uma família de ataques conhecida, ou pegar
um regex amplo demais antes que ele comece a rejeitar tráfego bom.
Uma run transmite o progresso conforme avança (um evento por amostra
concluída) e persiste uma linha de run que você pode reabrir depois —
queued → running → complete, com as regras congeladas no momento da run para
que uma edição posterior no guardrail nunca reescreva o veredito de uma run
antiga.
Corpora empacotados
Conjuntos de red-team e benignos embutidos no gateway — prompt injection,
jailbreaks, PII/secrets, multilíngue, over-refusal. Sem setup.
JSONL personalizado
Faça upload do seu próprio conjunto rotulado para medir a política contra
as suas formas reais de tráfego.
4. Como é um corpus (JSONL)
Um corpus é JSONL — um objeto JSON por linha. Cada linha é uma amostra rotulada: otext a avaliar, o stage ao qual pertence e o expected_action
que a política deveria produzir. O runner compara o veredito real da
política com esse rótulo para pontuar a run.
Referência de campos
Referência de campos
| Campo | Significado |
|---|---|
id | Único por linha. Obrigatório — linhas com id vazio são descartadas como malformadas. |
text | O prompt ou completion a avaliar. Obrigatório. |
stage | input ou output — por quais regras de estágio rodar a amostra. |
expected_action | block, mask, flag ou "" (benigno — nenhuma ação esperada). |
category | Rótulo de forma livre que agrupa as métricas por categoria. |
Linhas malformadas são toleradas, não silenciosas
Linhas malformadas são toleradas, não silenciosas
Uma linha com JSON ruim ou um
id/text ausente é pulada e contada,
não fatal — um único erro de digitação nunca explode a run inteira. O
loader aumenta seu buffer para prompts longos multilinha, então uma
amostra com newlines embutidas dentro de uma string JSON parseia bem.5. Corpora empacotados — conjuntos de red-team, setup zero
O gateway traz um catálogo de corpora curados que você pode rodar imediatamente — cada um carrega sua fonte, licença, cobertura de idioma e uma prévia de amostra no seletor. Eles são agrupados em 11 categorias que abrangem a superfície de ataque que o tráfego real vê:| Categoria | O que sonda |
|---|---|
prompt_injection | Override de instrução e submissões de injeção escritas por humanos. |
jailbreak_single_turn | Jailbreaks reais in-the-wild + uma linha de base acadêmica de comportamento. |
jailbreak_encoded_multiturn | Sondas de base64 / ROT13 / leetspeak / divisão de payload. |
indirect_agent | Injeção entregue através de saídas de ferramenta a um agente que usa ferramentas. |
multilingual | Prompts de red-team de falantes nativos em muitos idiomas, incl. de baixo recurso. |
pii_secrets | Emails, SSNs, cartões, IBANs, chaves de API, chaves AWS, JWTs. |
toxicity | Prompts de geração tóxica e contrastes de over-refusal. |
bias | Sondas de estereótipo e discriminação. |
hallucination | Conjuntos adversariais de factualidade / fidelidade. |
hazardous_knowledge | Sondas de conhecimento de uso duplo quím / bio / cyber. |
over_refusal_benign | Prompts seguros que parecem inseguros — sua guarda de regressão de falso positivo. |
O corpus empacotado
owasp_llm_top10 é um conjunto de teste rotulado
cobrindo as famílias de ataque OWASP LLM Top 10 (prompt injection, jailbreaks,
saída insegura, exfil de dados) — é um corpus para rodar um eval contra, não
um pack de compliance. Para packs de framework que materializam políticas, veja
compliance.6. Um exemplo concreto — eval do preset PII Shield
Digamos que você começou a partir do preset PII Shield (uma única regrapii, mask) e quer confirmar que ele pega as formas de identificador que um
modelo poderia emitir antes de vinculá-lo a uma chave. Rode-o contra o corpus
empacotado pii_smoke.
Eval é uma ação de nível de leitura (POST /api/guardrail/:id/eval,
Member) — ela persiste uma linha de run mas não muta política:
expected vs got) para que
você possa fazer grep no corpus e corrigir a regra. Reabra-a a qualquer
momento a partir da lista Runs (GET /api/guardrail/:id/eval/runs).
7. Corpora personalizados — teste contra seu próprio tráfego
Conjuntos empacotados provam que a política lida com ataques conhecidos. Para provar que ela lida com os seus prompts, faça upload do seu próprio JSONL. Há três formas de apontar um eval para um corpus, e elas resolvem nesta ordem:Upload ad-hoc (corpus_data)
Upload ad-hoc (corpus_data)
Passe um blob JSONL codificado em base64 inline na requisição de eval.
Vence sobre todo o resto — itere em um conjunto de rascunho sem salvá-lo no
workspace.
Corpus salvo (corpus_id)
Corpus salvo (corpus_id)
Faça upload uma vez via
POST /api/guardrail/eval/corpora (Developer+),
depois referencie-o por id em runs futuras. O nome deve corresponder a
^[a-z][a-z0-9_]*$ e não pode sombrear um nome empacotado.Empacotado (corpus_name)
Empacotado (corpus_name)
Nomeie um dos corpora entregues, como em §6.
GET /api/guardrail/eval/corpora (Member); upload e delete são
Developer+.
8. Lendo o score
O runner classifica cada amostra em uma matriz de confusão e deriva as métricas principais dela:| Termo | Significado |
|---|---|
| Recall | Dos prompts que deveriam acionar a política, quantos acionaram. Recall baixo = misses. |
| Precisão | Dos prompts que a política acionou, quantos deveriam ter acionado. Precisão baixa = falsos positivos. |
| F1 | A média harmônica — um número que pune o ajuste desequilibrado. |
9. Para onde ir a seguir
Ajustar falsos positivos
Transforme uma lista de failures em uma política mais apertada e de menor
ruído.
Cobertura de streaming
Quais combos de estágio/ação se sustentam em tráfego SSE — verifique antes
de depender disso.
Feed de matches
Uma vez ao vivo, toda regra que dispara cai aqui — a contraparte de produção
do eval.
Versionamento
Faça o diff e reverta uma política depois que um eval te diz que a última
mudança regrediu.
Páginas de guardrail relacionadas
Páginas de guardrail relacionadas
Conceitos e ameaças relacionados
Conceitos e ameaças relacionados
Referência completa do motor
Referência completa do motor
Guardrails — cada tipo de regra, campo e rota,
incluindo a API de eval e corpora.
