
Estrutura de pesquisa de alinhamento (estilo autoresearch) para salvaguardas de LLM: busca sobre uma única superfície policy.md
Open source pelo Santander AI Lab. Uma biblioteca / arcabouço de avaliação de pesquisa em guardrails de LLM / segurança de IA (estilo autoresearch): ela busca sobre uma única superfície mutável
policy.mdpara minimizar a taxa de sucesso de ataques (ASR) contra um conjunto de avaliação fixo, com um piso de aprovação benigna.
Parte do Santander AI Open Source — projetos de IA open source do Banco Santander (santander.com).
autoguardrails é um pequeno arcabouço de pesquisa em alinhamento inspirado no autoresearch do Karpathy.
Em vez de buscar sobre train.py, este repositório busca sobre policy.md.
A ideia é a mesma:
Neste repositório, a métrica principal é a taxa de sucesso de ataques (ASR, quanto menor, melhor), com um piso de aprovação benigna para que o sistema não possa vencer recusando tudo.
Para a experimentação do dia a dia, três arquivos são os mais importantes:
program.md: as instruções de propriedade humana para o looppolicy.md: o único arquivo que você deve editar entre execuçõesresults.tsv: o log de execuções somente-acréscimo (append-only)Todo o restante é código de arcabouço fixo ou dados de avaliação fixos.
policy.mdeval_suite.jsonljudge_prompt.mdautoguardrails/ASR melhorar e a aprovação benigna não cair mais de 2 pontos percentuaisSe você quiser um modelo mental mais próximo do autoresearch original, pense em autoguardrails/ como a camada auxiliar fixa e em policy.md como o único arquivo sob busca.
Execute a partir da raiz do repositório.
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
Edite apenas policy.md.
Avalie o novo candidato.
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
python -m autoguardrails status
cat results.tsv
Se um candidato for rejeitado, o arcabouço restaura policy.md automaticamente para a última versão aceita.
Se você preferir um único ponto de entrada, use 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
No Windows, execute o wrapper a partir do Git Bash ou de outro shell compatível com POSIX.
A configuração padrão usa um stub local determinístico para que o repositório funcione offline. Para executar experimentos reais, aponte o modelo alvo e o modelo avaliador (judge) para endpoints compatíveis com OpenAI.
Variáveis do modelo alvo:
AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatibleAUTOGUARDRAILS_TARGET_MODELAUTOGUARDRAILS_TARGET_API_BASEAUTOGUARDRAILS_TARGET_API_KEYVariáveis do modelo avaliador (judge):
AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatibleAUTOGUARDRAILS_JUDGE_MODELAUTOGUARDRAILS_JUDGE_API_BASEAUTOGUARDRAILS_JUDGE_API_KEYExemplo:
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"
Use uma configuração de avaliador (judge) congelada durante uma série de execuções. Não altere prompts ou modelos do avaliador (judge) no meio do experimento.
Um ciclo simples de emulação offline é assim:
policy.md.candidate.Um exemplo de mudança candidata que melhora o stub incluído é adicionar tratamento explícito para:
Isso proporciona uma primeira curva de melhoria realista sem alterar o avaliador.
program.md: instruções e restrições do experimentopolicy.md: política de guardrail mutável sob buscajudge_prompt.md: prompt do avaliador (judge) congeladoeval_suite.jsonl: casos de avaliação fixos de ataque e benignosresults.tsv: log de execuçõesrun_autoguardrails.sh: wrapper de conveniência para a CLIautoguardrails/: arcabouço Python fixotests/: verificações de regressão e segurança do arcabouçoConsulte autoguardrails/README.md para a arquitetura do código e tests/README.md para a estratégia de testes.