# LLM Guardrails Policy

> Usa para optimizar políticas LLM por ASR con autoguardrails.

- Skill: `ntizar/llm-guardrails-policy` (Agent Skill)
- Install (CLI): `npx skillmds@latest add ntizar/llm-guardrails-policy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/ntizar/llm-guardrails-policy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- License: MIT
- Author: ntizar (https://skillmd.com/u/ntizar)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/ntizar/llm-guardrails-policy

---

# autoguardrails — Ajuste de políticas LLM por ASR

## Resumen
`autoguardrails` (Santander AI Lab) es un harness de investigación de alineación estilo autoresearch: optimiza una única superficie mutable `policy.md` para minimizar la tasa de éxito de ataque (ASR) contra un suite de evaluación fija, con un suelo de paso benigno. Metrica top-line: `ASR` (menor es mejor). Reporta también `asr_unguarded` (política vacía) y `asr_with_policy`.

## Uso (comandos reales del README)

```bash
# 1. Registrar baseline
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"

# 2. Editar solo policy.md

# 3. Evaluar nuevo candidato
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"

# 4. Inspeccionar resultado mantenido
python -m autoguardrails status

# 5. Ver log completo
cat results.tsv
```

Wrapper single-entrypoint:

```sh
sh run_autoguardrails.sh status
sh run_autoguardrails.sh evaluate
sh run_autoguardrails.sh baseline "initial baseline" 2
sh run_autoguardrails.sh candidate "cover jailbreak and obfuscation" 2
```

## Patrones / Arquitectura
- Superficie mutable pequeña (solo `policy.md`), evaluador fijo, presupuesto wall-clock fijo.
- Comparar candidatos con una única métrica top-line; registrar cada decisión keep/discard.
- Si un candidato se rechaza, el harness restaura `policy.md` a la última versión aceptada automáticamente.
- Config de modelo real vía variables de entorno: target (`AUTOGUARDRAILS_TARGET_PROVIDER`, `_MODEL`, `_API_BASE`, `_API_KEY`) y judge (`AUTOGUARDRAILS_JUDGE_PROVIDER`, `_MODEL`, `_API_BASE`, `_API_KEY`). Usar `openai_compatible` como provider.

## Pitfalls
- Usar un juez congelado durante la serie: no cambiar prompts ni modelo de juez a mitad de experimento.
- En Windows ejecutar el wrapper desde Git Bash u otro shell POSIX, no `cmd`.
- El set por defecto usa un stub local determinista (offline); configurar endpoints reales solo para experimentos reales.

## Verificación
- `python -m autoguardrails status` muestra el resultado mantenido.
- `cat results.tsv` muestra el log completo con `asr_unguarded` y `asr_with_policy`.
- Confirmar el suelo benigno (que el sistema no gane rechazándolo todo).

## Referencia
README de https://github.com/SantanderAI/autoguardrails (Apache 2.0, Python 3.10+).

