
Alignment-Research-Scaffold (im Autoresearch-Stil) für LLM-Guardrails: Suche über eine einzelne policy.md-Oberfläche
Open Source von Santander AI Lab. Eine LLM-/KI-Sicherheits-Guardrail-Forschungs-Bibliothek / Evaluierungs-Harness (im autoresearch-Stil): Sie durchsucht eine einzige veränderbare
policy.md-Oberfläche, um die Angriffserfolgsrate (ASR) gegenüber einer festen Evaluierungssuite zu minimieren, mit einer Untergrenze für harmlose Bestehensfälle.
Teil von Santander AI Open Source — Open-Source-KI-Projekte von Banco Santander (santander.com).
autoguardrails ist ein kleines Alignment-Forschungsgerüst, inspiriert von Karpathys autoresearch.
Anstatt über train.py zu suchen, durchsucht dieses Repository policy.md. Die Idee ist dieselbe:
In diesem Repository ist die Hauptkennzahl die Angriffserfolgsrate (ASR, niedriger ist besser), mit einer Untergrenze für harmlose Bestehensfälle, damit das System nicht gewinnen kann, indem es alles ablehnt.
Für die tägliche Experimentierarbeit sind drei Dateien am wichtigsten:
program.md: die menschlich gepflegten Anweisungen für die Schleifepolicy.md: die einzige Datei, die Sie zwischen den Läufen bearbeiten solltenresults.tsv: das Append-only-LaufprotokollAlles andere ist fester Harness-Code oder feste Evaluierungsdaten.
policy.mdeval_suite.jsonljudge_prompt.mdautoguardrails/ASR verbessert und der Anteil bestandener harmloser Fälle nicht um mehr als 2 Prozentpunkte sinktWenn Sie ein mentales Modell näher am ursprünglichen autoresearch bevorzugen, stellen Sie sich autoguardrails/ als feste Hilfsschicht und policy.md als die einzige Datei unter Suche vor.
Aus dem Wurzelverzeichnis des Repositorys ausführen.
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
Nur policy.md bearbeiten.
Den neuen Kandidaten bewerten.
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
python -m autoguardrails status
cat results.tsv
Wenn ein Kandidat abgelehnt wird, stellt der Harness policy.md automatisch auf die zuletzt akzeptierte Version zurück.
Wenn Sie einen einzelnen Einstiegspunkt bevorzugen, verwenden Sie 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
Unter Windows führen Sie den Wrapper in Git Bash oder einer anderen POSIX-kompatiblen Shell aus.
Die Standardkonfiguration verwendet einen deterministischen lokalen Stub, damit das Repository offline funktioniert. Um echte Experimente durchzuführen, richten Sie das Zielmodell und das Judge-Modell auf OpenAI-kompatible Endpunkte aus.
Variablen für das Zielmodell:
AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatibleAUTOGUARDRAILS_TARGET_MODELAUTOGUARDRAILS_TARGET_API_BASEAUTOGUARDRAILS_TARGET_API_KEYVariablen für das Judge-Modell:
AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatibleAUTOGUARDRAILS_JUDGE_MODELAUTOGUARDRAILS_JUDGE_API_BASEAUTOGUARDRAILS_JUDGE_API_KEYBeispiel:
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"
Verwenden Sie während einer Laufserie eine eingefrorene Judge-Konfiguration. Wechseln Sie mitten im Experiment nicht die Judge-Prompts oder Judge-Modelle.
Ein einfacher Offline-Emulationszyklus sieht so aus:
policy.md hinzufügen.candidate ausführen.Ein Beispiel für eine Kandidatenänderung, die den mitgelieferten Stub verbessert, ist das Hinzufügen einer expliziten Behandlung für:
Das ergibt eine realistische erste Verbesserungskurve, ohne den Evaluator zu verändern.
program.md: Experimentieranweisungen und -einschränkungenpolicy.md: veränderbare Guardrail-Policy unter Suchejudge_prompt.md: eingefrorener Judge-Prompteval_suite.jsonl: feste Angriffs- und harmlose (benigne) Evaluierungsfälleresults.tsv: Laufprotokollrun_autoguardrails.sh: praktischer Wrapper um die CLIautoguardrails/: fester Python-Harnesstests/: Regressions- und Sicherheitsprüfungen für den HarnessSiehe autoguardrails/README.md für die Code-Architektur und tests/README.md für die Teststrategie.