જે બન્યું જ નથી તેને તમારો લોગ રેકોર્ડ કરી શકતો નથી
મોટાભાગના AI સુરક્ષા સાધનો (safety tools) અવશેષો (artifacts) શોધે છે. તેઓ લોગ એન્ટ્રી, સહી (signature), અથવા ટૂલના પરિણામની શોધ કરે છે. જો ટૂલનું પરિણામ નકલી હોય, તો સિસ્ટમ તેને ફ્લેગ કરે છે. જો JSON બ્લોક તૂટેલો હોય, તો સિસ્ટમ તેને પકડી લે છે.
આ નિષ્ફળતાઓ સરળ છે કારણ કે તેઓ કોઈ નિશાની (trace) છોડે છે.
સાચું જોખમ 'ઓમિશન' (omission - કંઈક રહી જવું) છે. ઓમિશન એટલે જ્યારે કંઈ જ થતું નથી.
એપેન્ડ-ઓન્લી (append-only) લોગમાં, ગેરહાજરી ત્રણ રીતે સમાન દેખાય છે:
- તે બન્યું જ નથી.
- તે હજુ સુધી બન્યું નથી.
- તે બન્યું હતું પરંતુ ક્યારેય રેકોર્ડ કરવામાં આવ્યું નથી.
લોગમાં કંઈ દેખાતું નથી. ઓડિટ ક્વેરી (audit query) કંઈ જ રિટર્ન કરતી નથી. મૌન એ સંમતિ બની જાય છે.
તમે આ ત્રણ ડિઝાઇન નિયમો દ્વારા સુધારી શકો છો:
મૌનને એક્સપાયર (expire) કરો જો કોઈ એજન્ટ (agent) કોઈ ક્રિયા કરે છે, તો રિવ્યુઅરે (reviewer) તેના પર સહી કરવી જોઈએ. ખૂટતી સહી તમારી સુરક્ષામાં એક છિદ્ર (hole) છે. "pending" ને કાયમ માટે "pending" રહેવા ન દો. એક ડેડલાઇન નક્કી કરો. જો ડેડલાઇન પૂરી થઈ જાય, તો સિસ્ટમે REVIEW_EXPIRED જેવી ટર્મિનલ સ્ટેટ (terminal state) રેકોર્ડ કરવી જોઈએ. આ રીતે ખાલી જગ્યાને સર્ચેબલ એરર (searchable error) માં બદલી શકાય છે.
દાવાઓ માટે સાઇટેશન (citations) જરૂરી બનાવો એજન્ટો ઘણીવાર દુનિયાનું વર્ણન કરવા માટે ગદ્ય (prose) નો ઉપયોગ કરે છે. એક એજન્ટ કદાચ કહી શકે કે, "ફાઇલ ખાલી હતી." જો તેને સમર્થન આપવા માટે કોઈ ટૂલનું પરિણામ ન હોય, તો તે દાવો જોખમી છે.
જો કોઈ દાવો ભવિષ્યની ક્રિયાને અસર કરતો હોય, તો તેમાં અવલોકન ID (observation ID) હોવું આવશ્યક છે. એજન્ટ સત્ય બોલી રહ્યો છે કે નહીં તેનો અંદાજ લગાવવાનો પ્રયાસ ન કરો. ફક્ત એ તપાસો કે દાવો વાસ્તવિક ડેટા સોર્સ તરફ નિર્દેશ કરે છે કે નહીં. સાઇટેશન વગરનો દાવો એ એક ખોટી રીતે રચાયેલ (malformed) મેસેજ છે.
- ક્રિયાઓ માટે ટુ-ઇવેન્ટ સ્પ્લિટ (two-event split) નો ઉપયોગ કરો જ્યારે કોઈ એજન્ટ કાર્ય શરૂ કરે છે, જેમ કે ઈમેલ મોકલવો, ત્યારે પરિણામ રેકોર્ડ કરતા પહેલા તે બંધ (die) થઈ શકે છે. આનાથી એક અંતર (gap) ઊભું થાય છે. શું ઈમેલ મોકલવામાં આવ્યો? શું તમારે ફરી પ્રયાસ કરવો જોઈએ?
આ ફ્લો (flow) નો ઉપયોગ કરો:
- એક યુનિક કી (unique key) સાથે INTENT ઇવેન્ટ એપેન્ડ કરો.
- ક્રિયા પૂર્ણ કરો.
- એક OUTCOME ઇવેન્ટ એપેન્ડ કરો.
હવે તમે મધ્યવર્તી સ્ટેટ (middle state) જોઈ શકો છો. જો તમારી પાસે INTENT હોય પરંતુ OUTCOME ન હોય, તો તમે ચોક્કસપણે જાણી શકશો કે સિસ્ટમ ક્યાં નિષ્ફળ ગઈ હતી. તમે અંદાજ લગાવવાને બદલે સ્ટેટનું સમાધાન (reconcile) કરી શકો છો.
નિયમ સરળ છે: તમારી સિસ્ટમ જે દરેક સફળતા રેકોર્ડ કરે છે, તેના માટે પૂછો કે જ્યારે તે રેકોર્ડ ગેરહાજર હોય ત્યારે શું થાય છે. જો જવાબ "કંઈ નહીં" હોય, તો તમારી પાસે એક બ્લાઈન્ડ સ્પોટ (blind spot) છે.
તમારા નેગેટિવ સ્ટેટ્સને (negative states) ફર્સ્ટ-ક્લાસ રેકોર્ડ્સ તરીકે ડિઝાઇન કરો. તેમને નામ આપો. તેમને માલિકો (owners) આપો. તેમને તમારા ગેટ્સ (gates) માં નિષ્ફળ બનાવો.
સ્ત્રોત: https://dev.to/anp2network/your-log-cant-record-what-didnt-happen-2ga7
વૈકલ્પિક લર્નિંગ કોમ્યુનિટી: https://t.me/GyaanSetuAi
