మీ లాగ్‌లను నిల్వ చేయని ఒక AI ఇన్సిడెంట్ కోపైలట్‌ను నేను రూపొందించాను

ప్రతి ఇంజనీర్ ఇది చేస్తారు.

ప్రొడక్షన్‌లో ఏదో ఒకటి విఫలమవుతుంది. మీరు లాగ్‌లను తీసుకుంటారు. వాటిని ఒక AI చాట్‌లో పేస్ట్ చేస్తారు. సహాయం కోరుతారు. AI మంచి సమాధానం ఇస్తుంది.

చాలా మంది ఇది సాధారణమని అనుకుంటారు. కానీ ఇది కాదు. ఇది ఒక భారీ భద్రతా ప్రమాదం.

ప్రొడక్షన్ లాగ్‌లలో సున్నితమైన డేటా ఉంటుంది. వాటిలో కస్టమర్ ఐడిలు, auth ఎర్రర్స్, స్టాక్ ట్రేసెస్ మరియు API రెస్పాన్స్‌లు ఉంటాయి. కొన్నిసార్లు వాటిలో సీక్రెట్స్ కూడా ఉండవచ్చు.

ప్రస్తుతం డీబగ్ (debug) చేసే విధానం ఏమిటంటే, ప్రైవేట్ డేటాను చాట్ బాక్స్‌లో పేస్ట్ చేసి, అంతా బాగుంటుందని ఆశించడం. డేటా లీక్ అయ్యే ప్రమాదం లేకుండానే నేను AI సహాయాన్ని పొందాలనుకున్నాను.

అందుకే నేను ఒక AI ఇన్సిడెంట్ కోపైలట్‌ను రూపొందించాను. నేను ఒకే ఒక నియమాన్ని పాటించాను: మీ డేటాను నిల్వ చేయడానికి మేము నిరాకరించినా కూడా, ఈ యాప్ ఉపయోగకరంగా ఉండాలి.

ఈ యాప్ ఒక AI వార్ రూమ్ (war room) లాగా పనిచేస్తుంది. మీరు లాగ్‌లు, ట్రేస్‌లు లేదా ఎర్రర్‌లను పేస్ట్ చేస్తే, ఇది మీకు సహాయపడుతుంది:

• మార్పులను సంగ్రహించడం (Summarize changes) • వైఫల్య పాయింట్లను కనుగొనడం (Find failure points) • అనవసరమైన (noisy) లాగ్‌లను గ్రూప్ చేయడం • స్టాక్ ట్రేస్‌లను వివరించడం • నివారణ చర్యలను సూచించడం (Suggest mitigation steps) • పోస్ట్‌మార్టం టైమ్‌లైన్‌లను రూపొందించడం (Draft postmortem timelines)

చాలా మంది డెవలపర్లు ఇలాంటి యాప్‌లను నిర్మిస్తారు: Input → Backend → Database → LLM → Database → UI.

ఇది ప్రమాదకరమైన పద్ధతి. ఇప్పుడు మీ యాప్ ప్రతి ప్రొడక్షన్ వైఫల్యానికి సంబంధించిన ఆర్కైవ్‌ను కలిగి ఉంటుంది. మీరు బ్రీచెస్ (breaches), బ్యాకప్‌లు మరియు అడ్మిన్ యాక్సెస్ గురించి ఆందోళన చెందాల్సి ఉంటుంది.

నాకు ఒక ప్రైవేట్ స్క్రాచ్‌ప్యాడ్ కావాలి, SaaS డ్యాష్‌బోర్డ్ కాదు.

నా డిజైన్ నియమం: డేటాను ప్రాసెస్ చేయండి, సేకరించకండి.

దీని ఆర్కిటెక్చర్ భిన్నంగా పనిచేస్తుంది:

  • చాట్ హిస్టరీ మీ బ్రౌజర్‌లోనే ఉంటుంది.
  • బ్యాకెండ్ ప్రాంప్ట్‌లను (prompts) సేవ్ చేయదు.
  • బ్యాకెండ్ మోడల్ రెస్పాన్స్‌లను సేవ్ చేయదు.
  • ప్రతి రిక్వెస్ట్ తాత్కాలికమైనది (disposable).

ఈ ప్రైవసీ మోడల్‌కు సరిపోయేందున నేను Icelake AI APIని ఉపయోగించాను. సర్వర్ మూడు దశలను నిర్వహిస్తుంది:

  1. సున్నితమైన విలువలను తొలగిస్తుంది (Redacts sensitive values).
  2. APIకి కనిష్ట స్థాయి ప్రాంప్ట్‌ను పంపుతుంది.
  3. రిక్వెస్ట్‌ను నిల్వ చేయకుండానే సమాధానాన్ని తిరిగి ఇస్తుంది.

రిడెక్షన్ (Redaction) సహాయపడుతుంది, కానీ అది మంత్రదండం కాదు. అది అన్నింటినీ పట్టుకోలేదు. రిక్వెస్ట్ ముగిసిన తర్వాత మీరు ఎంత తక్కువ డేటాను ఉంచుతారో తగ్గించడమే అసలైన విజయం.

రిడెక్షన్ కాల్ సమయంలో రిస్క్‌ను తగ్గిస్తుంది. లాగ్‌లను నిల్వ చేయకపోవడం రిస్క్‌ను శాశ్వతంగా తగ్గిస్తుంది.

చాలా AI యాప్‌లు ఇలా అడుగుతాయి: మేము ఏమి సేకరించవచ్చు? ఈ యాప్ ఇలా అడుగుతుంది: మేము దేనిని సేకరించకుండా ఉండగలం?

ఈ విధానం ఉత్పత్తిని మెరుగుపరుస్తుంది. వినియోగదారులు సురక్షితంగా భావిస్తారు. వారి ఆలోచనలు నా డేటాబేస్‌లో భద్రపరచబడటం లేదని వారికి తెలుసు కాబట్టి, వారు నిజమైన ఇన్సిడెంట్ల సమయంలో దీనిని ఉపయోగించడానికి సిద్ధంగా ఉంటారు.

AI యాప్‌ల తదుపరి తరపు కేవలం అవి ఎంత తెలివైనవో అనే దానిపై మాత్రమే పోటీ పడకూడదు. అవి ఎంత నియంత్రణ (restraint) కలిగి ఉన్నాయనే దానిపై కూడా పోటీ పడాలి.

మిమ్మల్ని మీరు ప్రశ్నించుకోండి: • మీరు దేనిని నిల్వ చేయడానికి నిరాకరిస్తారు? • మీరు దేనిని స్వయంగా యాక్సెస్ చేయడం అసాధ్యం చేస్తారు? • సెషన్ ముగిసినప్పుడు ఏది మాయమవుతుంది?

AI సాధనాలు అన్నింటినీ గుర్తుంచుకోలేవు కాబట్టే అవి ఉపయోగకరంగా ఉండాలి.

Source: https://dev.to/bart_holden_0d0cf2aaa0424/i-built-an-ai-incident-copilot-that-does-not-store-your-production-logs-3l0p

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