
Andamio de investigación de alineación (estilo autoresearch) para barreras de seguridad de LLM: búsqueda sobre una única superficie policy.md
Código abierto por Santander AI Lab. Una biblioteca / arnés de evaluación de investigación en seguridad de LLM / IA (estilo autoresearch): busca sobre una única superficie mutable
policy.mdpara minimizar la tasa de éxito de ataques (ASR) frente a un conjunto de evaluación fijo, con un umbral de paso benigno.
Parte de Santander AI Open Source — proyectos de IA de código abierto de Banco Santander (santander.com).
autoguardrails es un pequeño andamio de investigación de alineación inspirado en el autoresearch de Karpathy.
En lugar de buscar sobre train.py, este repositorio busca sobre policy.md.
La idea es la misma:
En este repositorio, la métrica principal es la tasa de éxito de ataques (ASR, cuanto menor mejor), con un umbral de paso benigno para que el sistema no pueda ganar rechazándolo todo.
Para la experimentación diaria, tres archivos importan más:
program.md: las instrucciones humanas para el buclepolicy.md: el único archivo que debes editar entre ejecucionesresults.tsv: el registro de ejecución de solo adiciónTodo lo demás es código de arnés fijo o datos de evaluación fijos.
policy.mdeval_suite.jsonljudge_prompt.mdautoguardrails/ASR mejora y el paso benigno no cae más de 2 puntos porcentualesSi deseas un modelo mental más cercano al autoresearch original, piensa en autoguardrails/ como la capa auxiliar fija y policy.md como el único archivo bajo búsqueda.
Ejecuta desde la raíz del repositorio.
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
Edita solo policy.md.
Puntúa el nuevo candidato.
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
python -m autoguardrails status
cat results.tsv
Si un candidato es rechazado, el arnés restaura policy.md a la última versión aceptada automáticamente.
Si prefieres un único punto de entrada, usa run_autoguardrails.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
En Windows, ejecuta el envoltorio desde Git Bash u otro shell compatible con POSIX.
La configuración predeterminada utiliza un stub local determinista para que el repositorio funcione sin conexión. Para ejecutar experimentos reales, apunta el modelo objetivo y el modelo juez a endpoints compatibles con OpenAI.
Variables del modelo objetivo:
AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatibleAUTOGUARDRAILS_TARGET_MODELAUTOGUARDRAILS_TARGET_API_BASEAUTOGUARDRAILS_TARGET_API_KEYVariables del modelo juez:
AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatibleAUTOGUARDRAILS_JUDGE_MODELAUTOGUARDRAILS_JUDGE_API_BASEAUTOGUARDRAILS_JUDGE_API_KEYEjemplo:
export AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatible
export AUTOGUARDRAILS_TARGET_MODEL=gpt-4.1-mini
export AUTOGUARDRAILS_TARGET_API_BASE=https://your-endpoint.example/v1
export AUTOGUARDRAILS_TARGET_API_KEY=your-target-key
export AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatible
export AUTOGUARDRAILS_JUDGE_MODEL=gpt-4.1-mini
export AUTOGUARDRAILS_JUDGE_API_BASE=https://your-endpoint.example/v1
export AUTOGUARDRAILS_JUDGE_API_KEY=your-judge-key
python -m autoguardrails baseline --reset --repeat 2 --notes "real-model baseline"
Usa una configuración de juez congelada durante una serie de ejecuciones. No cambies las indicaciones del juez ni los modelos de juez a mitad del experimento.
Un ciclo de emulación fuera de línea simple se ve así:
policy.md.candidate.Un ejemplo de cambio de candidato que mejora el stub incluido es agregar manejo explícito para:
Eso te da una primera curva de mejora realista sin cambiar el evaluador.
program.md: instrucciones y restricciones del experimentopolicy.md: política de guardarraíl mutable bajo búsquedajudge_prompt.md: indicación de juez congeladaeval_suite.jsonl: casos de evaluación fijos de ataque y benignosresults.tsv: registro de ejecuciónrun_autoguardrails.sh: envoltorio de conveniencia alrededor de la CLIautoguardrails/: arnés Python fijotests/: pruebas de regresión y seguridad para el arnésConsulta autoguardrails/README.md para la arquitectura del código y tests/README.md para la estrategia de pruebas.