आपका लॉग उस चीज़ को रिकॉर्ड नहीं कर सकता जो हुई ही नहीं
अधिकांश AI सुरक्षा उपकरण आर्टिफैक्ट्स (artifacts) की तलाश करते हैं। वे लॉग एंट्री, सिग्नेचर या टूल रिज़ल्ट देखते हैं। यदि कोई टूल रिज़ल्ट नकली है, तो सिस्टम उसे फ्लैग कर देता है। यदि कोई JSON ब्लॉक टूटा हुआ है, तो सिस्टम उसे पकड़ लेता है।
ये आसान विफलताएं हैं क्योंकि वे एक निशान छोड़ती हैं।
असली खतरा चूक (omission) है। चूक तब होती है जब कुछ भी नहीं होता।
एक append-only लॉग में, अनुपस्थिति तीन तरह से एक जैसी दिखती है:
- यह नहीं हुआ।
- यह अभी तक नहीं हुआ है।
- यह हुआ लेकिन कभी रिकॉर्ड नहीं किया गया।
लॉग कुछ नहीं दिखाता। ऑडिट क्वेरी कुछ नहीं लौटाती। चुप्पी सहमति बन जाती है।
आप इसे तीन डिज़ाइन नियमों के साथ ठीक कर सकते हैं:
चुप्पी की समय सीमा तय करें (Make silence expire) यदि कोई एजेंट कोई कार्य करता है, तो एक समीक्षक (reviewer) को उस पर हस्ताक्षर करने चाहिए। एक गायब सिग्नेचर आपकी सुरक्षा में एक छेद है। 'pending' को हमेशा के लिए लंबित न रहने दें। एक समय सीमा (deadline) निर्धारित करें। यदि समय सीमा समाप्त हो जाती है, तो सिस्टम को
REVIEW_EXPIREDजैसा एक टर्मिनल स्टेट रिकॉर्ड करना चाहिए। यह एक खाली जगह को खोजने योग्य त्रुटि (searchable error) में बदल देता है।दावों के लिए साइटेशन (citations) अनिवार्य करें एजेंट अक्सर दुनिया का वर्णन करने के लिए गद्य (prose) का उपयोग करते हैं। एक एजेंट कह सकता है, "फ़ाइल खाली थी।" यदि इसका समर्थन करने के लिए कोई टूल रिज़ल्ट नहीं है, तो वह दावा खतरनाक है।
यदि कोई दावा भविष्य के कार्य को प्रभावित करता है, तो उसमें एक observation ID शामिल होनी चाहिए। यह अनुमान लगाने की कोशिश न करें कि एजेंट सच बोल रहा है या नहीं। बस यह जाँचें कि क्या दावा किसी वास्तविक डेटा स्रोत की ओर इशारा करता है। बिना साइटेशन वाला दावा एक त्रुटिपूर्ण (malformed) संदेश है।
- कार्यों के लिए टू-इवेंट स्प्लिट (two-event split) का उपयोग करें जब कोई एजेंट कोई कार्य शुरू करता है, जैसे ईमेल भेजना, तो वह परिणाम लॉग करने से पहले ही बंद (die) हो सकता है। इससे एक अंतर (gap) पैदा होता है। क्या ईमेल भेजा गया? क्या आपको पुन: प्रयास करना चाहिए?
इस प्रवाह (flow) का उपयोग करें:
- एक अद्वितीय कुंजी (unique key) के साथ एक
INTENTइवेंट जोड़ें। - कार्य करें।
- एक
OUTCOMEइवेंट जोड़ें।
अब आप बीच की स्थिति (middle state) देख सकते हैं। यदि आपके पास INTENT है लेकिन OUTCOME नहीं है, तो आप जानते हैं कि सिस्टम ठीक कहाँ विफल हुआ। आप अनुमान लगाने के बजाय स्थिति का मिलान (reconcile) कर सकते हैं।
नियम सरल है: आपके सिस्टम द्वारा रिकॉर्ड की गई प्रत्येक सफलता के लिए, पूछें कि क्या होता है जब वह रिकॉर्ड गायब होता है। यदि उत्तर "कुछ नहीं" है, तो आपके पास एक ब्लाइंड स्पॉट (blind spot) है।
अपने नकारात्मक राज्यों (negative states) को प्रथम श्रेणी के रिकॉर्ड के रूप में डिज़ाइन करें। उन्हें नाम दें। उनके मालिक (owners) नियुक्त करें। उन्हें अपने गेट्स (gates) पर विफल होने के लिए बनाएँ।
Source: https://dev.to/anp2network/your-log-cant-record-what-didnt-happen-2ga7
Optional learning community: https://t.me/GyaanSetuAi
