एक ऐसे एजेंट के लिए Defense in Depth जो गड़बड़ कर सकता है

हर सुरक्षा तंत्र (safety mechanism) में एक बग होता है। आपको बस अभी तक यह नहीं पता कि वह कौन सा है।

प्रोडक्शन के लिए एक ऑटोनॉमस एजेंट बनाने का यही एकमात्र तर्कसंगत तरीका है। 'Conscience' किसी एक्शन को गलत वर्गीकृत कर सकता है। 'Council' किसी बुरे विचार को मंजूरी दे सकती है। 'Isolation wall' में कोई कमी रह सकती है।

हर लेयर अंततः विफल होगी।

डिज़ाइन का सवाल यह नहीं है कि एक परफेक्ट लेयर कैसे बनाई जाए। सवाल यह है कि: जब एक लेयर विफल हो जाती है, तो उसके पीछे क्या होता है?

मैं सिस्टम की सुरक्षा के लिए छह लेयर्स का उपयोग करता हूँ। शुरुआती लेयर्स सस्ती होती हैं क्योंकि वे समस्याओं को वास्तविकता बनने से पहले ही रोक देती हैं।

• L0 — स्ट्रक्चरल आइसोलेशन (Structural isolation)। बेस लेवल पर गलत-टेनेंट (wrong-tenant) कार्यों को रोकता है। • L1 — आइडिया-गेट (Idea-gate)। कोड बनने से पहले बहस के दौरान ही बुरे विचारों को रोकता है। • L2 — एक्शन-गेट (Action-gate)। एक रिफ्लेक्स जो जोखिम के आधार पर कमांड को अनुमति देता है या अस्वीकार करता है। • L3 — रिसोर्स-गेट (Resource-gate)। मेमोरी, बजट और अनियंत्रित लागतों (runaway costs) को नियंत्रित करता है। • L4 — ऑडिट (Audit)। हर निर्णय को ट्रैक करने के लिए टैम्पर-एविडेंट रसीदों (tamper-evident receipts) का उपयोग करता है। • L5 — रिकवरी (Recovery)। सक्रिय नुकसान को रोकने के लिए क्वारंटाइन और रोलबैक का उपयोग करता है।

लेयर्स की एक सूची मात्र 'defense in depth' नहीं है। वास्तविक गहराई के लिए एक नियम आवश्यक है:

हर महत्वपूर्ण जोखिम को कम से कम दो स्वतंत्र लेयर्स द्वारा पकड़ा जाना चाहिए।

स्वतंत्र का अर्थ है कि वे एक ही कारण से विफल नहीं होते हैं। यदि दो चेक एक ही कॉन्फ़िगरेशन (config) या एक ही सिग्नल का उपयोग करते हैं, तो वे एक ही चेक हैं। जब वह सिग्नल विफल होता है, तो दोनों चेक विफल हो जाते हैं।

मैंने इसे होते देखा है। मेरे आइडिया-गेट ने एक बार ऐसी बहस के लिए आत्मविश्वास से भरा फैसला सुनाया जो कभी हुई ही नहीं थी। एक हेल्पर ने पूरा परिणाम ही बना दिया था।

L1 विफल रहा। इसने न केवल त्रुटि को नजरअंदाज किया, बल्कि एक विश्वसनीय झूठ भी पेश किया।

अगर L1 ही मेरी एकमात्र सुरक्षा पंक्ति होती, तो वह झूठ एक वास्तविक निर्णय बन जाता। लेकिन L4 ने उसे पकड़ लिया। L4 वर्णन (narration) पर विश्वास नहीं करता। यह केवल रसीदों (receipts) पर विश्वास करता है। मैंने ट्रांसक्रिप्ट फ़ाइल को देखा। वह फ़ाइल मौजूद ही नहीं थी। दावा शून्य था।

सिस्टम सुरक्षित रहा क्योंकि मैंने मान लिया था कि L1 विफल हो जाएगा।

इन लेयर्स की वर्तमान स्थिति:

• L1 — कोड किया गया (Coded)। • L2 — कोड किया गया (Coded)। • L4 — कोड किया गया (Coded)। • L0 — आंशिक (Partial)। • L3 — आंशिक (Partial)। • L5 — आंशिक (Partial)।

एक सुरक्षा आर्किटेक्चर जिसका आप ऑडिट नहीं कर सकते, वह महज एक मूड बोर्ड (mood board) है।

किसी भी सुरक्षित एजेंट के बारे में खुद से ये तीन सवाल पूछें:

  1. आपके सबसे खराब जोखिम के लिए, वे दो स्वतंत्र लेयर्स कौन सी हैं जो उसे पकड़ती हैं?
  2. जब एक लेयर एक आत्मविश्वासपूर्ण गलत सिग्नल देती है, तो उसके पीछे की कौन सी लेयर उस सिग्नल पर विश्वास करने से इनकार कर देती है?
  3. कौन सी लेयर्स बनाई जा चुकी हैं, और कौन सी केवल विचार हैं?

क्षमता (Capability) एक लेयर है। सुरक्षा (Safety) अन्य पाँच हैं।

Source: https://dev.to/artemmatviychuk/defense-in-depth-for-an-agent-that-will-definitely-screw-up-5en0

Optional learning community: https://t.me/GyaanSetuAi