జరగని విషయాన్ని మీ లాగ్ రికార్డ్ చేయలేదు
చాలా AI సేఫ్టీ టూల్స్ ఆర్టిఫాక్ట్స్ (artifacts) కోసం వెతుకుతాయి. అవి ఒక లాగ్ ఎంట్రీ, సంతకం (signature), లేదా టూల్ రిజల్ట్ కోసం చూస్తాయి. ఒకవేళ టూల్ రిజల్ట్ నకిలీదైతే, సిస్టమ్ దానిని గుర్తిస్తుంది. ఒకవేళ JSON బ్లాక్ పాడైపోతే, సిస్టమ్ దానిని పట్టుకుంటుంది.
ఇవి సులభంగా గుర్తించగలిగే వైఫల్యాలు, ఎందుకంటే ఇవి ఒక ఆనవాళ్లను (trace) వదిలివేస్తాయి.
అసలైన ప్రమాదం 'ఓమిషన్' (omission - వదిలివేయడం). ఏమీ జరగనప్పుడు దానిని ఓమిషన్ అంటారు.
ఒక 'అపెండ్-ఓన్లీ' (append-only) లాగ్లో, లోపించడం (absence) మూడు విధాలుగా ఒకేలా కనిపిస్తుంది:
- అది జరగలేదు.
- అది ఇంకా జరగలేదు.
- అది జరిగింది కానీ ఎప్పుడూ రికార్డ్ చేయబడలేదు.
లాగ్ ఏమీ చూపించదు. ఆడిట్ క్వెరీ (audit query) ఏమీ తిరిగి ఇవ్వదు. నిశ్శబ్దమే అంగీకారంగా మారుతుంది.
మీరు ఈ మూడు డిజైన్ నియమాలతో దీనిని సరిదిద్దవచ్చు:
నిశ్శబ్దాన్ని గడువుతో ముగించండి (Make silence expire) ఒక ఏజెంట్ ఏదైనా చర్యను చేపట్టినప్పుడు, రివ్యూయర్ దానిని ధృవీకరించాలి (sign off). సంతకం లేకపోవడం అనేది మీ భద్రతలో ఒక లోపం. "పెండింగ్" (pending) అనేది ఎప్పటికీ పెండింగ్లోనే ఉండనివ్వకండి. ఒక గడువును (deadline) కేటాయించండి. గడువు ముగిసినట్లయితే, సిస్టమ్
REVIEW_EXPIREDవంటి టెర్మినల్ స్టేట్ను రికార్డ్ చేయాలి. ఇది ఖాళీ ప్రదేశాన్ని వెతకగలిగే ఎర్రర్గా మారుస్తుంది.క్లెయిమ్ల కోసం సైటేషన్లను (citations) తప్పనిసరి చేయండి ఏజెంట్లు తరచుగా ప్రపంచాన్ని వివరించడానికి వచనాన్ని (prose) ఉపయోగిస్తారు. ఒక ఏజెంట్, "ఫైల్ ఖాళీగా ఉంది" అని చెప్పవచ్చు. దానిని సమర్థించడానికి ఎటువంటి టూల్ రిజల్ట్ లేకపోతే, ఆ క్లెయిమ్ ప్రమాదకరమైనది.
ఒక క్లెయిమ్ భవిష్యత్తు చర్యను ప్రభావితం చేస్తే, అది తప్పనిసరిగా ఒక observation IDని కలిగి ఉండాలి. ఏజెంట్ నిజం చెబుతున్నాడో లేదో ఊహించడానికి ప్రయత్నించకండి. ఆ క్లెయిమ్ నిజమైన డేటా సోర్స్ వైపు చూపిస్తుందో లేదో తనిఖీ చేయండి. సైటేషన్ లేని క్లెయిమ్ అనేది ఒక మాలఫార్మ్డ్ మెసేజ్ (malformed message).
- చర్యల కోసం రెండు-ఈవెంట్ స్ప్లిట్ను ఉపయోగించండి (Use a two-event split for actions) ఒక ఏజెంట్ ఈమెయిల్ పంపడం వంటి పనిని ప్రారంభించినప్పుడు, ఫలితాన్ని లాగ్ చేసేలోపే అది ఆగిపోవచ్చు. ఇది ఒక గ్యాప్ను సృష్టిస్తుంది. ఈమెయిల్ వెళ్ళిందా? మీరు మళ్ళీ ప్రయత్నించాలా?
ఈ ఫ్లోను ఉపయోగించండి:
- ఒక యూనిక్ కీతో
INTENTఈవెంట్ను అపెండ్ చేయండి. - చర్యను నిర్వహించండి.
- ఒక
OUTCOMEఈవెంట్ను అపెండ్ చేయండి.
ఇప్పుడు మీరు మధ్యస్థ స్థితిని (middle state) చూడవచ్చు. మీ వద్ద INTENT ఉండి, OUTCOME లేకపోతే, సిస్టమ్ ఎక్కడ విఫలమైందో మీకు ఖచ్చితంగా తెలుస్తుంది. ఊహించడానికి బదులుగా మీరు ఆ స్థితిని సరిచేయవచ్చు (reconcile).
నియమం సరళమైనది: మీ సిస్టమ్ రికార్డ్ చేసే ప్రతి విజయానికి, ఆ రికార్డ్ లేనప్పుడు ఏమవుతుందో అడగండి. సమాధానం "ఏమీ కాదు" అని వస్తే, మీకు ఒక బ్లైండ్ స్పాట్ (blind spot) ఉన్నట్లు అర్థం.
మీ నెగటివ్ స్టేట్స్ను (negative states) ఫస్ట్-క్లాస్ రికార్డ్లుగా డిజైన్ చేయండి. వాటికి పేర్లు ఇవ్వండి. వాటికి యజమానులను (owners) కేటాయించండి. అవి మీ గేట్లను ఫెయిల్ చేసేలా చేయండి.
Source: https://dev.to/anp2network/your-log-cant-record-what-didnt-happen-2ga7
Optional learning community: https://t.me/GyaanSetuAi
