
संरेखण-अनुसंधान स्कैफोल्ड (ऑटोरिसर्च-शैली) LLM गार्डरेल्स के लिए: एकल policy.md सतह पर खोजें
Santander AI Lab द्वारा ओपन सोर्स। एक LLM / AI-सुरक्षा गार्डरेल अनुसंधान लाइब्रेरी / मूल्यांकन हार्नेस (autoresearch-शैली): यह एक एकल परिवर्तनीय
policy.mdसतह पर खोज करता है ताकि एक निश्चित मूल्यांकन सूट के विरुद्ध आक्रमण सफलता दर (ASR) को न्यूनतम किया जा सके, एक हानिरहित पास सीमा के अधीन।
यह Santander AI Open Source का हिस्सा है — Banco Santander (santander.com) के ओपन सोर्स AI प्रोजेक्ट।
autoguardrails एक छोटा अलाइनमेंट अनुसंधान स्कैफोल्ड है जो Karpathy के autoresearch से प्रेरित है।
train.py पर खोज करने के बजाय, यह रिपॉज़िटरी policy.md पर खोज करती है।
विचार वही है:
इस रिपॉज़िटरी में, शीर्ष-स्तरीय मेट्रिक आक्रमण सफलता दर (ASR, कम बेहतर है) है, साथ ही एक हानिरहित पास सीमा है ताकि सिस्टम सब कुछ अस्वीकार करके नहीं जीत सके।
रोज़मर्रा के प्रयोगों के लिए, तीन फ़ाइलें सबसे अधिक मायने रखती हैं:
program.md: लूप के लिए मानव-स्वामित्व वाले निर्देशpolicy.md: एकमात्र फ़ाइल जिसे आपको रनों के बीच संपादित करना चाहिएresults.tsv: केवल-append रन लॉगबाकी सब कुछ स्थिर हार्नेस कोड या स्थिर मूल्यांकन डेटा है।
policy.mdeval_suite.jsonljudge_prompt.mdautoguardrails/ASR में सुधार हो और हानिरहित पास 2 प्रतिशत अंकों से अधिक न गिरेयदि आप मूल autoresearch के करीब एक मानसिक मॉडल चाहते हैं, तो autoguardrails/ को निश्चित सहायक परत और policy.md को खोज के अधीन एकमात्र फ़ाइल मानें।
रिपॉज़िटरी रूट से चलाएँ।
python -m autoguardrails baseline --reset --repeat 2 --notes "initial baseline"
केवल policy.md संपादित करें।
नए उम्मीदवार को स्कोर करें।
python -m autoguardrails candidate --repeat 2 --notes "cover jailbreak and obfuscation"
python -m autoguardrails status
cat results.tsv
यदि किसी उम्मीदवार को अस्वीकार किया जाता है, तो हार्नेस स्वचालित रूप से policy.md को अंतिम स्वीकृत संस्करण में पुनर्स्थापित कर देता है।
यदि आप एकल एंट्रीपॉइंट पसंद करते हैं, तो 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
Windows पर, रैपर को Git Bash या किसी अन्य POSIX-संगत शेल से चलाएँ।
डिफ़ॉल्ट सेटअप एक डिटर्मिनिस्टिक लोकल स्टब का उपयोग करता है ताकि रिपॉज़िटरी ऑफ़लाइन काम करे। वास्तविक प्रयोग चलाने के लिए, टार्गेट मॉडल और जज मॉडल को OpenAI-संगत एंडपॉइंट्स पर इंगित करें।
टार्गेट मॉडल वेरिएबल्स:
AUTOGUARDRAILS_TARGET_PROVIDER=openai_compatibleAUTOGUARDRAILS_TARGET_MODELAUTOGUARDRAILS_TARGET_API_BASEAUTOGUARDRAILS_TARGET_API_KEYजज मॉडल वेरिएबल्स:
AUTOGUARDRAILS_JUDGE_PROVIDER=openai_compatibleAUTOGUARDRAILS_JUDGE_MODELAUTOGUARDRAILS_JUDGE_API_BASEAUTOGUARDRAILS_JUDGE_API_KEYउदाहरण:
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"
रन श्रृंखला के दौरान एक स्थिर जज सेटअप का उपयोग करें। प्रयोग के बीच में जज प्रॉम्प्ट या जज मॉडल न बदलें।
एक सरल ऑफ़लाइन अनुकरण चक्र इस प्रकार दिखता है:
policy.md में एक नीति-परिवर्तन परिवार जोड़ें।candidate चलाएँ।बंडल किए गए स्टब को बेहतर बनाने वाला एक उदाहरण उम्मीदवार परिवर्तन निम्न के लिए स्पष्ट हैंडलिंग जोड़ना है:
यह मूल्यांकक को बदले बिना आपको एक यथार्थवादी पहला सुधार वक्र देता है।
program.md: प्रयोग निर्देश और बाधाएँpolicy.md: खोज के अधीन परिवर्तनीय गार्डरेल नीतिjudge_prompt.md: स्थिर जज प्रॉम्प्टeval_suite.jsonl: निश्चित आक्रमण और हानिरहित मूल्यांकन मामलेresults.tsv: रन लॉगrun_autoguardrails.sh: CLI के चारों ओर सुविधाजनक रैपरautoguardrails/: स्थिर Python हार्नेसtests/: हार्नेस के लिए रिग्रेशन और सुरक्षा जाँचकोड आर्किटेक्चर के लिए autoguardrails/README.md और परीक्षण रणनीति के लिए tests/README.md देखें।
ruff, black, mypy, pytest, pytest-cov (देखें CONTRIBUTING.md)।AUTOGUARDRAILS_* एनवायरनमेंट वेरिएबल्स के माध्यम से कॉन्फ़िगर किया गया)।योगदान का स्वागत है! आरंभ करने से पहले कृपया हमारे योगदान दिशानिर्देश और आचार संहिता पढ़ें।
ruff check ., black --check ., mypy autoguardrails, और pytest चलाएँ।policy.md एकमात्र परिवर्तनीय सतह है; eval_suite.jsonl और judge_prompt.md स्थिर हैं।कृपया सुरक्षा कमजोरियों की जिम्मेदारीपूर्वक रिपोर्ट करें। रिपोर्ट करने के तरीके के लिए हमारी सुरक्षा नीति देखें (कमजोरियों के लिए सार्वजनिक issue न खोलें)। संपर्क करें: [email protected] या GitHub Security Advisories का उपयोग करें।
यह सॉफ़्टवेयर Santander AI Lab का एक ओपन सोर्स प्रोजेक्ट है, जो इसके लाइसेंस के अंतर्गत "as is" प्रदान किया गया है, बिना किसी प्रकार की वारंटी या शर्तों के। यह Banco Santander का आधिकारिक उत्पाद या सेवा नहीं है, इसके साथ प्रोडक्शन समर्थन की कोई प्रतिबद्धता नहीं जुड़ी है, और यह वित्तीय, कानूनी या पेशेवर सलाह नहीं है।
"Santander" और इसका लोगो Banco Santander, S.A. के पंजीकृत ट्रेडमार्क हैं। प्रोजेक्ट लाइसेंस तथ्यात्मक श्रेय के अलावा इनके उपयोग का कोई अधिकार नहीं देता।
यदि आपको लगता है कि आपको एक सुरक्षा कमजोरी मिली है, तो हमारी सुरक्षा नीति का पालन करें — सार्वजनिक issue न खोलें। इस सॉफ़्टवेयर की आपके उपयोग-मामले के लिए उपयुक्तता का आकलन करना और अपने स्वयं के डिप्लॉयमेंट को अद्यतन रखना आपकी ज़िम्मेदारी है।
यह प्रोजेक्ट Apache License 2.0 के अंतर्गत लाइसेंस प्राप्त है — विवरण के लिए LICENSE और NOTICE फ़ाइलें देखें।
Copyright (c) 2026 Santander Group
SPDX-License-Identifier: Apache-2.0
यदि आप अपने शोध में autoguardrails का उपयोग करते हैं, तो कृपया इसे उद्धृत करें:
@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}
}