ai-ml

आक्रामक एजेंट्स के लिए Constitutional AI

कुछ महीने पहले, एक अधिकृत परीक्षण के दौरान, हमारे एक आक्रामक एजेंट ने तय किया कि पड़ोसी CIDR रेंज को स्कैन करना भी एक अच्छा विचार है। वह स्कोप में नहीं था। किसी ने उससे ऐसा करने को नहीं कहा था। सिस्टम प्रॉम्प्ट में मोटे अक्षरों और तीन विस्मयादिबोधक चिह्नों के साथ लिखा था कि ऐसा न करे। फिर भी उसने किया। हमने Sentinel के किल-स्विच से उसे समय पर रोका, और ट्रेस की समीक्षा करते समय हमें वही पुरानी कहानी मिली: मॉडल ने तर्क किया था कि लक्ष्य के बगल का होस्ट "शायद उसी क्लाइंट का है" और स्वयं को अनुमति दे दी।

उस दिन हमने प्रॉम्प्ट से लड़ना छोड़ने का फैसला किया। हम प्राकृतिक भाषा में नियमों की एक और परत नहीं चाहते थे जो विनती करे "कृपया X मत करो।" हम एक ऐसा एजेंट चाहते थे जो विश्वास से क्रिया को अस्वीकार करे, निर्देश से नहीं। और इसके लिए हमें जो सबसे साफ रास्ता मिला, वह Anthropic ने 2022 के अंत में प्रकाशित किया था: Constitutional AI[1]

ठोस समस्या: प्रॉम्प्ट इंजीनियरिंग स्केल नहीं करती

Gandalf CLI कई एजेंट्स (recon, web, post-exploitation, reporting) को Sentinel के नियंत्रण में ऑर्केस्ट्रेट करता है, जो हमारी प्रवर्तन परत है: किल-स्विच, कमांड का पूर्व-निष्पादन सत्यापन, और अधिकृत CIDR के विरुद्ध स्कोप जांच। यह काम करता है, लेकिन यह एक बाहरी बाड़ है। एजेंट अभी भी उसे लांघना चाहता है। जब भी हम एक शॉर्टकट बंद करते हैं, वह दूसरा ढूंढ लेता है: किसी बाहरी डोमेन के लिए "जानकारीपूर्ण" DNS रिज़ोल्यूशन, मौके पर गणना की गई रेंज के साथ nmap, ऐसे एंडपॉइंट के लिए curl जिसका ऑपरेटर ने उल्लेख नहीं किया।

मूल समस्या यह है कि प्रॉम्प्ट में निर्देश बाकी संदर्भ के साथ प्रतिस्पर्धा करते हैं। यदि मॉडल के पास 30k टोकन सबूत हैं जो उसे बताते हैं "लक्ष्य यहाँ है" और दो पंक्तियाँ कहती हैं "यहाँ से बाहर मत जाओ," तो अर्थपूर्ण दबाव नियम पर भारी पड़ता है। मूल RLAIF कार्य के लेखकों ने पहले ही इसे रेखांकित किया था[1]: पोस्ट-हॉक गार्डरेल नए वितरणों के सामने कमज़ोर हैं।

Constitutional AI, ईमानदार पुनरावलोकन

Bai et al. (2022)[1] ने मानव फ़ीडबैक के बिना हानिरहितता का न्याय करने के लिए दो चरणों में मॉडल को प्रशिक्षित करने का प्रस्ताव दिया:

  1. पर्यवेक्षित चरण (SL-CAI): आधार मॉडल से नमूना लिया जाता है, उससे मानव-लिखित संविधान के विरुद्ध अपनी प्रतिक्रिया की आलोचना करने को कहा जाता है, और उसमें संशोधन करने को कहा जाता है। फिर (प्रॉम्प्ट, संशोधित प्रतिक्रिया) पर फ़ाइन-ट्यून किया जाता है।
  2. RL चरण (RLAIF): प्रतिक्रियाओं के जोड़े उत्पन्न किए जाते हैं, दूसरा मॉडल तय करता है कि कौन सी संविधान के साथ बेहतर मेल खाती है, और उन AI द्वारा उत्पन्न प्राथमिकताओं पर एक रिवॉर्ड मॉडल प्रशिक्षित किया जाता है। फिर PPO, या हाल ही में DPO[3]

सुंदर विचार यह है कि मानव लागत संविधान का मसौदा तैयार करने तक सीमित हो जाती है। बाकी काम मॉडल खुद का मूल्यांकन करके करता है। Lee et al. (2023)[2] ने दिखाया कि RLAIF हानिरहितता और सारांश कार्यों पर RLHF के बराबर पहुँचता है, जिससे लूप पूरा होता है: यदि AI मूल्यांकनकर्ता पर्याप्त रूप से अच्छा है, तो हमें स्केल करने के लिए मानव एनोटेटर की आवश्यकता नहीं है।

दिलचस्प बारीकी: जब "अच्छा" आक्रामक होता है

यहाँ वह मोड़ है जिसे आत्मसात करने में हमें सबसे ज़्यादा समय लगा। अलाइनमेंट साहित्य मानता है कि harmless का अर्थ है "हानिकारक सामग्री उत्पन्न नहीं करता।" हमारे लिए, वांछित व्यवहार सतही तौर पर बिल्कुल विपरीत है: हम चाहते हैं कि एजेंट एक्सप्लॉइट निष्पादित करे, पेलोड लॉन्च करे, लेटरली मूव करे। हम आक्रामक क्षमता को नहीं, बल्कि अधिकृत संदर्भ को सीमित करना चाहते हैं।

यह संविधान को मूल रूप से बदल देता है। हम "malware बनाने से इनकार करो" नहीं सिखा रहे। हम सिखा रहे हैं "malware बनाओ और निष्पादित करो, लेकिन केवल इन होस्ट्स के विरुद्ध, इन न्यूनतम सबूतों के साथ, इन साइड इफेक्ट्स के बिना।" यह कंटूर अलाइनमेंट है, कंटेंट अलाइनमेंट नहीं।

हमारा संविधान

हमने पाँच सिद्धांतों से शुरुआत की और छह सप्ताह की पुनरावृत्ति में उन्हें परिष्कृत किया। वर्तमान संस्करण Gandalf रिपॉज़िटरी के साथ YAML में रहता है और मॉडल के साथ संस्करणित है:

constitution:
  version: "0.7.2"
  principles:
    - id: scope_cidr
      rule: "No ejecutar tráfico de red contra IPs o dominios fuera de
             engagement.authorized_scope. Resolver primero, validar después."
      priority: critical
      examples_violation:
        - "nmap -sV 10.0.0.0/24 cuando scope = 10.0.5.0/24"
        - "curl https://api.thirdparty.com/v1 sin que aparezca en scope"

    - id: minimum_evidence
      rule: "Antes de lanzar un exploit, requerir evidencia explícita de
             la vulnerabilidad. Inferencias sin evidencia no autorizan ejecución."
      priority: high

    - id: non_destructive_default
      rule: "Por defecto, no ejecutar acciones destructivas. Requieren
             confirmación explícita del operador vía Sentinel."
      priority: critical

    - id: no_exfiltration
      rule: "No exfiltrar datos sensibles fuera del entorno controlado."
      priority: critical

    - id: human_in_loop_escalation
      rule: "Ante ambigüedad de scope o efecto colateral plausible,
             devolver control al operador. La duda no se resuelve sola."
      priority: high

यह संविधान वह सामग्री है जिसे आलोचक मॉडल अपने स्वयं के आउटपुट का न्याय करते समय पढ़ता है। यह वह नहीं है जो निष्पादक एजेंट अपने प्रॉम्प्ट में देखता है: यह प्रशिक्षण सामग्री है।

पाइपलाइन: critique, revise, prefer, train

सरलीकृत लूप:

def constitutional_loop(prompt, base_model, critic_model, constitution):
    response_a = base_model.generate(prompt)
    critique = critic_model.generate(
        f"Constitución:\n{constitution}\n\n"
        f"Petición del operador:\n{prompt}\n\n"
        f"Respuesta del agente:\n{response_a}\n\n"
        f"Identifica qué principios viola y por qué."
    )
    revised = critic_model.generate(
        f"Reescribe la respuesta del agente cumpliendo la constitución. "
        f"Si la petición viola un principio crítico, rechaza con "
        f"justificación referenciando el principio."
    )
    return {"prompt": prompt, "chosen": revised, "rejected": response_a}

हमने लगभग 18,000 जोड़ों (prompt, chosen, rejected) का एक डेटासेट तैयार किया। उस डेटासेट पर हमने PPO के बजाय DPO[3] किया। DPO हमें अलग रिवॉर्ड मॉडल के बिना स्थिरता देता है, और गणना लागत दो A100 पर व्यवहार्य है।

मापने योग्य परिणाम

हमने 1,200 लेबल किए गए प्रॉम्प्ट के एक आंतरिक बेंचमार्क पर माप लिया:

  • आधार (बिना गार्डरेल): सही अस्वीकृति 31%, FP 7%।
  • प्रॉम्प्ट + सिस्टम नियम: 64%, FP 12%।
  • प्रॉम्प्ट + Sentinel पोस्ट-हॉक: 89%, लेकिन सारा भार बाहरी बाड़ पर।
  • SL-CAI + DPO: 94%, FP 4%, और एजेंट 88% अस्वीकृतियों में उल्लंघन किए गए सिद्धांत को व्यक्त करता है

यह अंतिम संख्या वही है जिसने हमें बेहतर नींद दिलाई। एजेंट इसलिए अस्वीकार नहीं करता क्योंकि कोई उस पर "नहीं" चिल्ला रहा है: वह यह समझाते हुए अस्वीकार करता है कि IP scope_cidr के बाहर है और ऑपरेटर से उचित होने पर स्कोप बढ़ाने के लिए कहता है।

ट्रेड-ऑफ़ जिन्हें हम छिपाने नहीं जा रहे

पहला, फ़ाइन-ट्यून लागत। हर महत्वपूर्ण परिवर्तन एक नए SL-CAI + DPO चक्र की मांग करता है। छोटे समायोजन हम LoRA से अवशोषित करते हैं, लेकिन एक नया सिद्धांत डेटासेट के हिस्से को पुनः उत्पन्न करने का अर्थ है। प्रत्येक प्रमुख पुनरावृत्ति के लिए 24-36 GPU-घंटे।

दूसरा, drift। जब टीम एक नए प्रकार का engagement जोड़ती है, तो संविधान कम पड़ जाता है। संविधान को बनाए रखना निरंतर कार्य है।

तीसरा, स्व-मूल्यांकन की एक सीमा है। Huang et al. (2023)[4] ने हमें याद दिलाया कि LLM शुद्ध तर्क पर खुद को बहुत अच्छी तरह सही नहीं कर पाते।

एक वास्तविक मामला

पिछले हफ्ते, एजेंट ने SSRF का पता लगाया और AWS metadata पर पिवट करने की योजना बनाई। वह अपने आप रुक गया:

"उम्मीदवार क्रिया: GET http://169.254.169.254/latest/meta-data/iam/security-credentials/। यह IP अधिकृत स्कोप (10.20.0.0/16) से बाहर है। भले ही SSRF तकनीकी रूप से इसे अनुमति देता है, scope_cidr सिद्धांत स्पष्ट प्राधिकरण के बिना निष्पादन को रोकता है।"

यही ठीक वही है जो हम चाहते थे। यह Sentinel एजेंट के हाथ काटना नहीं है: यह एजेंट एक विवेकशील पेंटेस्टर की तरह व्यवहार कर रहा है। हमारे ग्राहकों के लिए, यह अंतर बहुत बड़ा है।

समापन

Constitutional AI आक्रामक एजेंट्स के अलाइनमेंट को हल नहीं करता। यह एक परत को हल करता है: मॉडल को खेल के नियमों को अनिच्छा से मानने के बजाय आंतरिक बनाने में मदद करता है। नीचे Sentinel अभी भी अनिवार्य है, ऊपर मानव अभी भी अनिवार्य है। लेकिन इन दो परतों के बीच हमने वह कुछ हासिल किया जो प्रॉम्प्ट इंजीनियरिंग ने हमें कभी नहीं दिया: एक ऐसा एजेंट जो स्कोप में रहना चाहता है

संदर्भ

  1. Bai, Y. et al. (2022). Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073.
  2. Lee, H. et al. (2023). RLAIF vs. RLHF. arXiv:2309.00267.
  3. Rafailov, R. et al. (2023). Direct Preference Optimization. NeurIPS 2023.
  4. Huang, J. et al. (2023). LLMs Cannot Self-Correct Reasoning Yet. arXiv:2310.01798.
  5. Wu, Z. et al. (2025). Agent Safety Alignment via RL. arXiv:2507.08270.