मी एक AI Incident Copilot तयार केला आहे जो तुमचे Logs साठवत नाही
प्रत्येक इंजिनिअर असेच करतो.
प्रोडक्शनमध्ये काहीतरी बिघडते. तुम्ही Logs घेता. ते AI चॅटमध्ये पेस्ट करता. तुम्ही मदत मागता. AI तुम्हाला चांगला उत्तर देते.
बहुतेक लोकांना वाटते की हे सामान्य आहे. पण तसे नाही. हा एक मोठा सुरक्षा धोका (security risk) आहे.
प्रोडक्शन Logs मध्ये संवेदनशील डेटा (sensitive data) असतो. त्यामध्ये कस्टमर IDs, auth errors, stack traces आणि API responses असतात. कधीकधी त्यामध्ये सीक्रेट्स (secrets) देखील असू शकतात.
सध्या डीबग (debug) करण्याची पद्धत म्हणजे खाजगी डेटा चॅट बॉक्समध्ये पेस्ट करणे आणि सर्व काही ठीक होईल अशी आशा करणे. मला डेटा लीक होण्याच्या जोखमीशिवाय AI ची मदत हवी होती.
म्हणून मी एक AI incident copilot तयार केला. मी एक नियम पाळला: जर आम्ही तुमचा डेटा साठवण्यास नकार दिला, तरीही हे ॲप उपयुक्त असले पाहिजे.
हे ॲप एका AI war room प्रमाणे काम करते. तुम्ही logs, traces किंवा errors पेस्ट करता. ते तुम्हाला खालील गोष्टींमध्ये मदत करते:
• बदल सारांशित करणे (Summarize changes) • त्रुटींचे बिंदू शोधणे (Find failure points) • गोंधळात टाकणारे (noisy) logs एकत्रित करणे • stack traces स्पष्ट करणे • प्रतिबंधात्मक उपाय सुचवणे (Suggest mitigation steps) • postmortem timelines तयार करणे
बहुतेक डेव्हलपर्स असे ॲप्स तयार करतात: Input → Backend → Database → LLM → Database → UI.
ही ॲप बनवण्याची एक धोकादायक पद्धत आहे. आता तुमच्या ॲपमध्ये प्रत्येक प्रोडक्शन फेल्युअरचा (production failure) संग्रह असतो. तुम्हाला डेटा ब्रीच (breaches), बॅकअप्स आणि ॲडमिन ॲक्सेसची चिंता करावी लागते.
मला एक खाजगी स्क्रॅचपॅड (private scratchpad) हवा होता, SaaS डॅशबोर्ड नाही.
माझा डिझाइन नियम आहे: डेटा प्रोसेस करा, तो गोळा करू नका.
याचे आर्किटेक्चर वेगळ्या पद्धतीने काम करते:
- चॅट हिस्ट्री तुमच्या ब्राउझरमध्येच राहते.
- Backend प्रॉम्प्ट्स (prompts) सेव्ह करत नाही.
- Backend मॉडेल रिस्पॉन्स (model responses) सेव्ह करत नाही.
- प्रत्येक रिक्वेस्ट तात्पुरती (disposable) असते.
मी Icelake AI API वापरली कारण ती या प्रायव्हसी मॉडेलला साजेसी आहे. सर्व्हर तीन पायऱ्या पूर्ण करतो:
- संवेदनशील व्हॅल्यूज रिडॅक्ट (Redact) करतो.
- API ला कमीत कमी माहिती असलेला प्रॉम्प्ट पाठवतो.
- रिक्वेस्ट साठवल्याशिवाय उत्तर परत करतो.
रिडॅक्शन (Redaction) मदत करते, पण ते कोणतेही जादूचे कवच नाही. ते सर्व काही पकडू शकणार नाही. खरा विजय म्हणजे रिक्वेस्ट संपल्यानंतर तुम्ही किती डेटा साठवून ठेवता हे कमी करणे.
रिडॅक्शन कॉल दरम्यानचा धोका कमी करते. Logs साठवून न ठेवल्यामुळे धोका कायमचा कमी होतो.
बहुतेक AI ॲप्स विचारतात: आम्ही काय गोळा करू शकतो? हे ॲप विचारते: आम्ही काय गोळा करणे टाळू शकतो?
हा दृष्टिकोन उत्पादन अधिक चांगले बनवतो. वापरकर्त्यांना सुरक्षित वाटते. ते खऱ्या घटनांच्या वेळी (real incidents) हे वापरण्यास तयार असतात कारण त्यांना माहित असते की त्यांचे विचार माझ्या डेटाबेसमध्ये साठवले जात नाहीत.
AI ॲप्सच्या पुढच्या लाटेने केवळ ते किती हुशार आहेत यावर स्पर्धा करू नये. त्यांनी संयमावर (restraint) स्पर्धा केली पाहिजे.
स्वतःला विचारा: • तुम्ही काय साठवण्यास नकार देता? • तुम्ही स्वतःसाठी काय ॲक्सेस करणे अशक्य बनवता? • सेशन संपल्यावर काय नाहीसे होते?
AI टूल्स उपयुक्त असायला हवेत कारण त्यांना सर्व काही आठवत नाही.
Optional learning community: https://t.me/GyaanSetuAi
