1. Por qué probar políticas de guardrail de IA antes de vincular una clave
Una política de contenido tiene dos modos de fallo, y tiran en direcciones opuestas:- Fallos — un ataque o una fuga se cuela porque ninguna regla se disparó.
- Falsos positivos — un prompt benigno es bloqueado o enmascarado porque una regla es demasiado amplia.
Ambas herramientas se ejecutan enteramente en tu sesión vía la API de gestión
(
/api/guardrail/*) — nunca la clave de relay. Evalúan texto localmente y no
envían nada upstream, así que una ejecución de prueba no cuesta cuota de modelo.2. La pestaña Test — una muestra, veredicto instantáneo
Cada editor de guardrail tiene una pestaña Test. Pega una muestra, elige una etapa (input o output) y ejecuta el borrador actual de la política. Recibes de
vuelta la decisión completa — blocked, mutated, el texto sanitized, y la
lista de violations — para que puedas probar que una sola regla hace lo que
esperas antes de guardar.
Abre el editor
En la consola ve a
/console/guardrails, abre el guardrail y selecciona la
pestaña Test.3. La pestaña Eval — puntúa una política contra un corpus
La pestaña Eval ejecuta tu guardrail contra un corpus de muestras etiquetadas e informa cómo puntuó: precisión, recall y F1 en general y por categoría, más las muestras exactas que falló. Úsala para afinar una rúbrica dellm_judge, probar que una regla de bloqueo captura una familia de ataques
conocida, o capturar un regex demasiado amplio antes de que empiece a rechazar
buen tráfico.
Una ejecución transmite progreso a medida que avanza (un evento por muestra
completada) y persiste una fila de ejecución que puedes reabrir más tarde —
queued → running → complete, con las reglas instantáneas en el momento de la
ejecución para que una edición posterior al guardrail nunca reescriba el veredicto
de una ejecución antigua.
Corpora empaquetados
Conjuntos de red-team y benignos integrados en el gateway — inyección de
prompts, jailbreaks, PII/secretos, multilingüe, sobre-rechazo. Sin
configuración.
JSONL personalizado
Sube tu propio conjunto etiquetado para medir la política contra las formas
de tu tráfico real.
4. Cómo se ve un corpus (JSONL)
Un corpus es JSONL — un objeto JSON por línea. Cada línea es una muestra etiquetada: eltext a evaluar, la stage a la que pertenece y la
expected_action que la política debería producir. El runner compara el
veredicto real de la política con esa etiqueta para puntuar la ejecución.
Referencia de campos
Referencia de campos
| Campo | Significado |
|---|---|
id | Único por fila. Obligatorio — las filas con id vacío se descartan como malformadas. |
text | El prompt o completado a evaluar. Obligatorio. |
stage | input o output — las reglas de qué etapa ejecutar sobre la muestra. |
expected_action | block, mask, flag o "" (benigno — sin acción esperada). |
category | Etiqueta de forma libre que agrupa las métricas por categoría. |
Las filas malformadas se toleran, no en silencio
Las filas malformadas se toleran, no en silencio
Una fila con JSON malo o con un
id/text faltante se salta y cuenta, no
es fatal — un solo error tipográfico nunca hace explotar toda la ejecución. El
cargador aumenta su buffer para prompts multilínea largos, así que una muestra
con saltos de línea embebidos dentro de una cadena JSON se parsea bien.5. Corpora empaquetados — conjuntos de red-team, cero configuración
El gateway viene con un catálogo de corpora curados que puedes ejecutar de inmediato — cada uno lleva su fuente, licencia, cobertura de idiomas y una vista previa de muestra en el selector. Están agrupados en 11 categorías que abarcan la superficie de ataque que ve el tráfico real:| Categoría | Qué sondea |
|---|---|
prompt_injection | Anulación de instrucciones y envíos de inyección escritos por humanos. |
jailbreak_single_turn | Jailbreaks reales en la práctica + una línea base de comportamiento académica. |
jailbreak_encoded_multiturn | Sondas base64 / ROT13 / leetspeak / división de payload. |
indirect_agent | Inyección entregada a través de salidas de herramienta a un agente que usa herramientas. |
multilingual | Prompts de red-team de hablantes nativos en muchos idiomas, incl. de bajos recursos. |
pii_secrets | Emails, SSNs, tarjetas, IBANs, claves API, claves AWS, JWTs. |
toxicity | Prompts de generación tóxica y contrastes de sobre-rechazo. |
bias | Sondas de estereotipo y discriminación. |
hallucination | Conjuntos adversariales de factualidad / fidelidad. |
hazardous_knowledge | Sondas de conocimiento de doble uso quím / bio / ciber. |
over_refusal_benign | Prompts seguros que parecen inseguros — tu guardia de regresión de falsos positivos. |
El corpus empaquetado
owasp_llm_top10 es un conjunto de prueba etiquetado
que cubre las familias de ataque del OWASP LLM Top 10 (inyección de prompts,
jailbreaks, salida insegura, exfil de datos) — es un corpus contra el cual
ejecutar una eval, no un pack de cumplimiento. Para packs de marco que
materializan políticas, ver
compliance.6. Un ejemplo concreto — eval del preset PII Shield
Digamos que empezaste desde el preset PII Shield (una sola reglapii,
mask) y quieres confirmar que captura las formas de identificador que un modelo
podría emitir antes de vincularlo a una clave. Ejecútalo contra el corpus
empaquetado pii_smoke.
Eval es una acción de nivel-lectura (POST /api/guardrail/:id/eval,
Member) — persiste una fila de ejecución pero no muta ninguna política:
expected vs got) para que puedas grepear
el corpus y arreglar la regla. Reábrela en cualquier momento desde la lista de
Runs (GET /api/guardrail/:id/eval/runs).
7. Corpora personalizados — prueba contra tu propio tráfico
Los conjuntos empaquetados prueban que la política maneja ataques conocidos. Para probar que maneja tus prompts, sube tu propio JSONL. Hay tres formas de apuntar una eval a un corpus, y resuelven en este orden:Subida ad-hoc (corpus_data)
Subida ad-hoc (corpus_data)
Pasa un blob JSONL codificado en base64 en línea en la solicitud de eval. Gana
sobre todo lo demás — itera sobre un conjunto borrador sin guardarlo al
espacio de trabajo.
Corpus guardado (corpus_id)
Corpus guardado (corpus_id)
Sube una vez vía
POST /api/guardrail/eval/corpora (Developer+), luego
referéncialo por id en ejecuciones futuras. El nombre debe coincidir con
^[a-z][a-z0-9_]*$ y no puede tapar un nombre empaquetado.Empaquetado (corpus_name)
Empaquetado (corpus_name)
Nombra uno de los corpora que vienen, como en §6.
GET /api/guardrail/eval/corpora (Member); subir y eliminar son
Developer+.
8. Leer la puntuación
El runner clasifica cada muestra en una matriz de confusión y deriva las métricas principales de ella:| Término | Significado |
|---|---|
| Recall | De los prompts que deberían activar la política, cuántos lo hicieron. Recall bajo = fallos. |
| Precisión | De los prompts que la política activó, cuántos deberían haberlo hecho. Precisión baja = falsos positivos. |
| F1 | La media armónica — un número que castiga el afinado desequilibrado. |
9. Dónde ir a continuación
Afinar falsos positivos
Convierte una lista de fallos en una política más ajustada y de menor ruido.
Cobertura de streaming
Qué combinaciones de etapa/acción se sostienen en tráfico SSE — verifica antes de depender de ello.
Feed de coincidencias
Una vez en vivo, cada regla que se dispara aterriza aquí — la contraparte de producción de eval.
Versionado
Haz diff y revierte una política después de que una eval te dice que el último cambio regresó.
Páginas de guardrail relacionadas
Páginas de guardrail relacionadas
Conceptos y amenazas relacionados
Conceptos y amenazas relacionados
Referencia completa del motor
Referencia completa del motor
Guardrails — cada tipo de regla, campo y ruta,
incluyendo la API de eval y corpora.
