एजेंट निर्णय की समझ बिना पावर यूज़र हैं
AI एजेंट हर वह टूल इस्तेमाल करेंगे जो आप उन्हें देंगे, यदि उन्हें लगे कि यह कार्य पूरा करने में मदद करेगा। यह उनकी ताक़त और जोखिम दोनों है। आपके प्रोडक्शन डेटाबेस पर राइट एक्सेस वाला एजेंट प्रोडक्शन डेटा को निश्चित रूप से बदलेगा यदि वह तय कर ले कि यह वही है जो आपने माँगा है। वह रुककर नहीं सोचेगा "रुको, शायद मुझे पहले किसी से पूछना चाहिए।"
इसका मतलब है कि आपका अनुमति आर्किटेक्चर ही गार्डरेल होना चाहिए। आप एजेंट पर ख़ुद को सीमित करने का भरोसा नहीं कर सकते। यदि उसे कुछ नहीं करना चाहिए, तो उसके पास उसे करने की क्षमता ही नहीं होनी चाहिए।
न्यूनतम विशेषाधिकार, एजेंट्स पर लागू
न्यूनतम-विशेषाधिकार सिद्धांत नया नहीं है, पर एजेंट्स के साथ यह अलग तरह से लगता है। प्रोडक्शन डेटाबेस एक्सेस वाला मानव डेवलपर निर्णय का उपयोग करता है कि क्वेरी कब चलाए। एजेंट के पास वह छलनी नहीं है। इसलिए एजेंट्स के लिए न्यूनतम विशेषाधिकार उससे अधिक कठोर होना चाहिए जो आप उसी भूमिका के मानव को देंगे।
व्यावहारिक रूप से, इसका अर्थ है: केवल डेटा क्वेरी करने वाले एजेंट्स के लिए रीड-ओनली डेटाबेस क्रेडेंशियल। स्कोप किए गए API टोकन जो केवल उन एंडपॉइंट्स तक पहुँचें जिनकी एजेंट को वास्तव में ज़रूरत है। फ़ाइल सिस्टम एक्सेस विशिष्ट डायरेक्ट्रीज़ तक सीमित, पूरी डिस्क तक नहीं। हर अनुमति किसी विशिष्ट क्षमता से मेल खाए जिसके लिए एजेंट डिज़ाइन किया गया है।
परतदार अनुमति मॉडल
एक अच्छा तरीक़ा अपनी अनुमतियों की परतें बनाना है। पहली परत यह है कि एजेंट किन MCP सर्वरों तक पहुँच सकता है। दूसरी परत यह है कि वे सर्वर किन क्रेडेंशियल का उपयोग करते हैं। तीसरी परत यह है कि बैकिंग सेवा उन क्रेडेंशियल के साथ क्या अनुमति देती है। हर परत स्वतंत्र रूप से सीमित कर सकती है।
उदाहरण के लिए, आप एजेंट को डेटाबेस MCP सर्वर तक पहुँच दे सकते हैं (परत एक), उस सर्वर को रीड-ओनली डेटाबेस यूज़र के साथ कॉन्फ़िगर कर सकते हैं (परत दो), और उस डेटाबेस यूज़र को विशिष्ट टेबलों पर केवल SELECT अनुमति हो (परत तीन)। यदि एजेंट किसी तरह परत एक को पार भी कर ले, तो परत दो और तीन अब भी आपको सुरक्षित रखती हैं।
एनवायरनमेंट का अलगाव
प्रोडक्शन और डेवलपमेंट एनवायरनमेंट को एजेंट्स के लिए पूरी तरह अलग क्रेडेंशियल का उपयोग करना चाहिए। यह स्पष्ट लगता है, पर तेज़ी से इटरेट करते समय आसानी से चूक हो जाती है। "क्विक टेस्ट" के दौरान प्रोडक्शन क्रेडेंशियल के साथ कॉन्फ़िगर किया गया एजेंट जो कभी वापस नहीं हटाया जाता—सामान्य और ख़तरनाक पैटर्न है।
डेवलपमेंट और प्रोडक्शन के लिए अलग MCP कॉन्फ़िग सेट करें। उन्हें स्पष्ट रूप से लेबल करें। प्रोडक्शन क्रेडेंशियल के साथ ग़लती से डेवलपमेंट एजेंट चलाना कठिन बनाएँ। एरर रोकथाम का प्रयास पहली बार ग़लती रोकने पर ही अपना मूल्य चुका देता है।
एजेंट कार्यों का ऑडिट
लॉगिंग के बिना अनुमतियाँ अधूरी हैं। आपको पता होना चाहिए कि आपके एजेंट्स ने अपनी पहुँच के साथ वास्तव में क्या किया। हर टूल कॉल, हर API रिक्वेस्ट, हर डेटाबेस क्वेरी लॉग करें। जब कुछ ग़लत होगा (और अंततः होगा), ये लॉग ही बताएँगे कि क्या हुआ और तदनुसार अनुमतियाँ कैसे कसें।