મેં એક એવું AI ઇસિડેન્ટ કોપાયલોટ બનાવ્યું છે જે તમારા લોગ્સ સ્ટોર કરતું નથી

દરેક એન્જિનિયર આવું જ કરે છે.

પ્રોડક્શનમાં કંઈક બગડી જાય છે. તમે લોગ્સ મેળવો છો. તમે તેને AI ચેટમાં પેસ્ટ કરો છો. તમે મદદ માંગો છો. AI સારો જવાબ આપે છે.

મોટાભાગના લોકો માને છે કે આ સામાન્ય છે. પણ તે નથી. તે સુરક્ષા માટે મોટું જોખમ છે.

પ્રોડક્શન લોગ્સમાં સંવેદનશીલ ડેટા હોય છે. તેમાં કસ્ટમર આઈડી (customer IDs), ઓથ એરર્સ (auth errors), સ્ટેક ટ્રેસ (stack traces) અને API રિસ્પોન્સ હોય છે. ક્યારેક તેમાં સિક્રેટ્સ (secrets) પણ હોય છે.

ડિબગ કરવાની હાલની રીત એ છે કે ખાનગી ડેટાને ચેટ બોક્સમાં પેસ્ટ કરવો અને સારા પરિણામની આશા રાખવી. મારે ડેટા લીક થવાના જોખમ વગર AI ની મદદ જોઈતી હતી.

તેથી મેં એક AI ઇસિડેન્ટ કોપાયલોટ બનાવ્યું. મેં એક નિયમનું પાલન કર્યું: જો અમે તમારો ડેટા સ્ટોર કરવાનો ઇનકાર કરીએ તો પણ એપ ઉપયોગી હોવી જોઈએ.

આ એપ એક AI વોર રૂમ (war room) તરીકે કામ કરે છે. તમે લોગ્સ, ટ્રેસ અથવા એરર્સ પેસ્ટ કરો છો. તે તમને મદદ કરે છે:

• ફેરફારોનો સારાંશ આપવો • નિષ્ફળતાના બિંદુઓ શોધવા • નોઈઝી (noisy) લોગ્સનું ગ્રુપિંગ કરવું • સ્ટેક ટ્રેસ સમજાવવા • નિવારણના પગલાં સૂચવવા • પોસ્ટમોર્ટમ ટાઈમલાઈન તૈયાર કરવી

મોટાભાગના ડેવલપર્સ આવી રીતે એપ્સ બનાવે છે: Input → Backend → Database → LLM → Database → UI.

તે બનાવવાની જોખમી રીત છે. હવે તમારી એપ પાસે દરેક પ્રોડક્શન નિષ્ફળતાનું આર્કાઇવ (archive) હોય છે. તમારે બ્રીચ (breaches), બેકઅપ અને એડમિન એક્સેસ વિશે ચિંતા કરવી પડે છે.

મારે એક પ્રાઇવેટ સ્ક્રેચપેડ (private scratchpad) જોઈતું હતું, SaaS ડેશબોર્ડ નહીં.

મારો ડિઝાઇન નિયમ છે: ડેટા પ્રોસેસ કરો, તેને કલેક્ટ (collect) કરશો નહીં.

આર્કિટેક્ચર અલગ રીતે કામ કરે છે:

  • ચેટ હિસ્ટ્રી તમારા બ્રાઉઝરમાં રહે છે.
  • બેકએન્ડ પ્રોમ્પ્ટ્સ (prompts) સેવ કરતું નથી.
  • બેકએન્ડ મોડેલ રિસ્પોન્સ સેવ કરતું નથી.
  • દરેક રિક્વેસ્ટ ડિસ્પોઝેબલ (disposable) છે.

મેં Icelake AI API નો ઉપયોગ કર્યો કારણ કે તે આ પ્રાઇવસી મોડેલ સાથે સુસંગત છે. સર્વર ત્રણ સ્ટેપ્સ કરે છે:

  1. સંવેદનશીલ વેલ્યુઝને રિડેક્ટ (Redact) કરે છે.
  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