
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.
ruff, black, mypy, pytest, pytest-cov (siehe CONTRIBUTING.md).AUTOGUARDRAILS_*-Umgebungsvariablen).Beiträge sind willkommen! Bitte lesen Sie vor dem Start unsere Richtlinien für Beiträge und unseren Verhaltenskodex.
ruff check ., black --check ., mypy autoguardrails und pytest aus.policy.md ist die einzige veränderbare Oberfläche; eval_suite.jsonl und judge_prompt.md sind eingefroren.Bitte melden Sie Sicherheitslücken verantwortungsvoll. Informationen zur Meldung finden Sie in unserer Sicherheitsrichtlinie (öffnen Sie für Schwachstellen kein öffentliches Issue). Kontakt: [email protected] oder nutzen Sie GitHub Security Advisories.
Diese Software ist ein Open-Source-Projekt des Santander AI Lab und wird unter seiner Lizenz „wie besehen“ ohne jegliche Gewährleistungen oder Bedingungen bereitgestellt. Sie ist kein offizielles Produkt oder Dienstleistungsangebot der Banco Santander, beinhaltet keine Zusage von Produktionssupport und stellt keine Finanz-, Rechts- oder Fachberatung dar.
„Santander“ und sein Logo sind eingetragene Marken der Banco Santander, S.A. Die Projektlizenz gewährt kein Recht, sie über eine sachliche Nennung hinaus zu verwenden.
Wenn Sie glauben, eine Sicherheitslücke gefunden zu haben, befolgen Sie unsere Sicherheitsrichtlinie — eröffnen Sie kein öffentliches Issue. Sie sind dafür verantwortlich, die Eignung dieser Software für Ihren Anwendungsfall zu prüfen und Ihre eigenen Bereitstellungen aktuell zu halten.
Dieses Projekt ist unter der Apache License 2.0 lizenziert — Details finden Sie in den Dateien LICENSE und NOTICE.
Copyright (c) 2026 Santander Group
SPDX-License-Identifier: Apache-2.0
Wenn Sie autoguardrails in Ihrer Forschung verwenden, zitieren Sie es bitte wie folgt:
@software{autoguardrails2026,
author = {{Santander AI Lab}},
title = {autoguardrails: an autoresearch-style guardrail policy loop},
year = {2026},
url = {https://github.com/SantanderAI/autoguardrails},
license = {Apache-2.0}
}