જ્યારે કોઈ AI એજન્ટ તેની પોતાની ક્રેડેન્શિયલ્સ (credentials) સાથે સીધું જ બાહ્ય સેવાઓ સાથે સંપર્ક કરે છે, ત્યારે તે કર્મચારી સોફ્ટવેર જેવું ઓછું અને કોઈ સુપરવાઈઝર વગર કોર્પોરેટ કાર્ડ ધરાવતા કોન્ટ્રાક્ટર જેવું વધુ લાગે છે. તે શાની સાથે સંપર્ક કર્યો, કોણે એક્સેસ મંજૂર કર્યો, અથવા એક વાતચીત બીજી વાતચીત કરતા દસ ગણી વધુ ખર્ચાળ કેમ હતી તે તમે જોઈ શકતા નથી. લોગ્સ (logs) ડઝનબંધ સેવાઓમાં વિખરાઈ જાય છે. પ્રશ્નો વધતા જાય છે.
એજન્ટે ખરેખર કયા ટૂલનો ઉપયોગ કર્યો? તેને તે ડેટાબેઝને એક્સેસ કરવાની પરવાનગી કોણે આપી? સોમવારના પાંચ ટોકન્સના ઉપયોગ સામે મંગળવારના રન દરમિયાન ચાલીસ હજાર ટોકન્સ કેમ વપરાઈ ગયા? આપણે ખરેખર કેટલો ખર્ચ કર્યો?
યુઝર્સ, મોડલ્સ અને સેવાઓ વચ્ચે એક સેન્ટ્રલ કંટ્રોલ લેયર (central control layer) વગર, આ પ્રશ્નોના જવાબો મળતા નથી. તમારે એક એવા સિંગલ પ્લેન (single plane) ની જરૂર છે જે દરેક કનેક્શનને એક જ વાર રજિસ્ટર કરે, એજન્ટને ખરેખર જરૂર હોય તેવા મર્યાદિત ફંક્શન્સ જ પ્રદર્શિત કરે, અને દરેક એક્ઝિક્યુશનને સંપૂર્ણ રીતે રેકોર્ડ કરે. આ લેખ deco Studio ને લોકલ કંટ્રોલ પ્લેન તરીકે ઉપયોગ કરીને એક એડવાન્સ્ડ લેબ વિશે જણાવે છે. તમે તેને સેટઅપ કરશો, એક સુરક્ષિત Model Context Protocol સર્વર સાથે કનેક્ટ કરશો, ફક્ત એક જ મંજૂર કરેલ ફંક્શન એક્સપોઝ કરશો, અને જ્યારે એજન્ટ તેની મર્યાદાની બહાર જવાનો પ્રયાસ કરે ત્યારે શું થાય છે તે જોશો.
વિખરાયેલી ક્રેડેન્શિયલ્સ સાથેની સમસ્યા
એક સામાન્ય ટીમ સેટઅપની કલ્પના કરો. એક ડેવલપર પર્સનલ કીનો ઉપયોગ કરીને એજન્ટને સર્ચ API સાથે જોડે છે. બીજો ડેવલપર ડેમો સુરક્ષિત લાગતા હોવાથી તે જ એજન્ટને પ્રોડક્શન ડેટાબેઝ સાથે જોડે છે. ત્રીજો ડેવલપર બિલિંગ લુકઅપ ટૂલ ઉમેરે છે જેથી એજન્ટ "ઇન્વોઇસમાં મદદ" કરી શકે. દરેક કનેક્શન બીજા માટે અદ્રશ્ય છે. હવે એજન્ટ પાસે સર્ચ, પ્રોડક્શન ડેટા અને નાણાકીય રેકોર્ડ્સનો સીધો એક્સેસ છે, પરંતુ ટીમ પાસે શું લાઈવ છે તેની કોઈ એકીકૃત યાદી નથી.
જ્યારે ક્રેડેન્શિયલ્સ એજન્ટની અંદર હોય છે, ત્યારે ગવર્નન્સ (governance) તૂટી જાય છે. તમે સેન્ટ્રલી એક્સેસ રિવોક (revoke) કરી શકતા નથી કારણ કે કી એજન્ટની મેમરી અથવા તેની લોકલ એન્વાયરમેન્ટ ફાઇલમાં હોય છે. તમે વપરાશનું ઓડિટ કરી શકતા નથી કારણ કે બાહ્ય સેવા ફક્ત અનામી ઓટોમેટેડ ક્લાયન્ટ તરફથી API કોલ જુએ છે. ખર્ચમાં વધારો ક્લાઉડ બિલમાં દિવસો પછી દેખાય છે, અને ત્યાં સુધીમાં કોઈને યાદ નથી હોતું કે કયા પ્રોમ્પ્ટને કારણે આ વધારો થયો હતો.
deco Studio માં તમારું કંટ્રોલ પ્લેન બનાવો
deco Studio એક લોકલ હબ તરીકે કામ કરીને આ સમસ્યાનું નિવારણ કરે છે. તમે તેને તમારા પોતાના મશીન પર ચલાવો છો, અને તે એક એવી સિંગલ જગ્યા બની જાય છે જ્યાં તમામ કોન્ફિગરેશન્સ રહે છે. એજન્ટ્સમાં API કી અને ટૂલ ડેફિનેશન વિખેરી દેવાને બદલે, તમે Studio ની અંદર એક જ વાર કનેક્શન રજિસ્ટર કરો છો. પછી તમે નક્કી કરો છો કે કયો એજન્ટ કયા ફંક્શન્સ જોઈ શકે છે.
તેને સ્વિચબોર્ડ ઇન્સ્ટોલ કરવા જેવું સમજો. તમામ વાયરો એક જ રૂમમાં જાય છે. તમે નક્કી કરો છો કે કઈ લાઇન કયા વિભાગ સાથે કનેક્ટ થશે, અને તમે દરેક કોલનો રેકોર્ડ રાખો છો.
deco Studio ને લોકલી ચલાવવાથી શરૂઆત કરો. એકવાર તે ચાલુ થઈ જાય પછી, તમે કોન્ફિગરેશનને સેન્ટ્રલાઈઝ કરો છો. હવે જે પણ એજન્ટ ટૂલનો ઉપયોગ કરવા માંગતા હોય તેમણે સીધી બાહ્ય સેવાને બદલે કંટ્રોલ પ્લેનને પૂછવું પડશે. આ તરત જ એક એવો ચોકપોઈન્ટ (chokepoint) બનાવે છે જ્યાં તમે નિરીક્ષણ કરી શકો છો, ફિલ્ટર કરી શકો છો અને લોગ કરી શકો છો.
સુરક્ષિત MCP સર્વર સાથે કનેક્ટ કરવું
આ લેબમાં, તમે Model Context Protocol સર્વર સાથે કનેક્ટ કરશો. MCP એ મોડલ્સને બાહ્ય ટૂલ્સ સાથે ઇન્ટરેક્ટ કરવા દેવા માટેનું એક ઓપન સ્ટાન્ડર્ડ છે, પરંતુ સ્ટાન્ડર્ડ્સ સુરક્ષાની ખાતરી આપતા નથી. અહીં મહત્વનું પગલું પસંદગીયુક્તતા (selectivity) છે. તમે સર્વર જે દરેક એન્ડપોઈન્ટ ઓફર કરે છે તેને આંધળું એક્સપોઝ નથી કરતા. તમે deco Studio માં સર્વર રજિસ્ટર કરો છો, અને પછી તમારા ટેસ્ટ એજન્ટને ફક્ત એક જ મંજૂર કરેલ ફંક્શન એક્સપોઝ કરો છો.
ઉદાહરણ તરીકે, તમારું MCP સર્વર દસ ફંક્શન્સ ઓફર કરી શકે છે: ફાઇલ રીડ, ફાઇલ રાઇટ, ડેટાબેઝ ક્વેરી, નેટવર્ક ફેચ અને અન્ય. તમે એક નિર્દોષ ઓપરેશન પસંદ કરો છો, કદાચ સેન્ડબોક્સ કેલ્ક્યુલેટર અથવા સિન્થેટિક ડેટા સામે રીડ-ઓન્લી લુકઅપ, અને તમે ફક્ત તેને જ એક્સપોઝ કરો છો. બાકીના નવ એજન્ટ માટે અદ્રશ્ય બની જાય છે. જો એજન્ટ તેની માંગ કરે, તો કંટ્રોલ પ્લેન તેને સ્પષ્ટ રીતે નકારી દે છે.
આ 'પ્રિન્સિપલ ઓફ લીસ્ટ પ્રિવિલેજ' (principle of least privilege) નું મિકેનિકલ સ્વરૂપ છે. એજન્ટને ક્ષમતા કોઈ નમ્ર સૂચના દ્વારા નહીં, પરંતુ સોફ્ટવેર બાઉન્ડ્રી દ્વારા મળે છે.
મર્યાદાનું પરીક્ષણ કરવું
એક ટેસ્ટ એજન્ટ બનાવો અને તેને તમારા deco Studio કંટ્રોલ પ્લેન સાથે જોડો. તેને એવું કાર્ય આપો જેમાં ફક્ત એક જ મંજૂર કરેલ ફંક્શનની જરૂર હોય. તેને સફળ થતું જુઓ. Studio ની અંદરના લોગ્સ મોડલ રિક્વેસ્ટ, કંટ્રોલ પ્લેન દ્વારા ટૂલ કોલ રૂટિંગ, ફંક્શન એક્ઝિક્યુશન અને મોડલ પર પાછા આવતા પરિણામને દર્શાવશે. તમે આખા માર્ગને એક સતત ટ્રેસ (trace) માં વાંચી શકો છો.
હવે એજન્ટને બીજું કાર્ય આપો જેમાં એવા ફંક્શનની જરૂર હોય જે તમે જાણીજોઈને બાકાત રાખ્યું હોય. એજન્ટ કદાચ તે મર્યાદાની આસપાસ રસ્તો શોધવાનો પ્રયાસ કરી શકે છે, અથવા તે એવું ભ્રમ કરી શકે છે કે તે ટૂલ અસ્તિત્વ ધરાવે છે. ગમે તે હોય, કોલ કંટ્રોલ પ્લેન પર પહોંચશે, એલોલિસ્ટ તેને નકારશે, અને એક્ઝિક્યુશન નિષ્ફળ જશે. તે નિષ્ફળતા એ તમારો પુરાવો છે કે સીમા સોફ્ટવેર દ્વારા અમલી છે, માત્ર સૈદ્ધાંતિક નથી.
આ પહેલા સિન્થેટિક કાર્યો સાથે કરો. જનરેટ કરેલા યુઝર પ્રોફાઇલ્સથી ભરેલો એક નકલી ડેટાબેઝ બનાવો. એજન્ટને તેને ક્વેરી કરવા દો. એલોલિસ્ટ અને નકારાત્મક જવાબોને વેરિફાય કરો. જ્યારે તમે સીમા પર વિશ્વાસ કરી લો, ત્યારે જ એજન્ટને પ્રોડક્શન સિસ્ટમ્સ તરફ નિર્દેશિત કરવાનું વિચારો. દીવાલ વેરિફાય કર્યા પહેલા વાસ્તવિક ડેટા તરફ દોડવું એ સિક્રેટ્સ લીક થવાનું કારણ બને છે.
રનનો સંપૂર્ણ પાથ વાંચવો
deco Studio તમને એક્ઝિક્યુશનના દરેક લેયરનું નિરીક્ષણ કરવાની મંજૂરી આપે છે. તમે રો મોડલ રિક્વેસ્ટ જોઈ શકો છો: પ્રોમ્પ્ટ, કોન્ટેક્સ્ટ વિન્ડો, ફોર્મેટિંગ. તમે મોડલે નક્કી કરેલ ટૂલ કોલ જોઈ શકો છો. તમે કંટ્રોલ પ્લેન દ્વારા તે કોલ કેવી રીતે રૂટ થાય છે, ફંક્શન કેવી રીતે એક્ઝિક્યુટ થાય છે અને પેલોડ કેવી રીતે રિટર્ન થાય છે તે જોઈ શકો છો. અંતે, તમે જોઈ શકો છો કે મોડલ તેના જવાબ બનાવવા માટે તે પરિણામનો ઉપયોગ કેવી રીતે કરે છે.
આ વિઝિબિલિટી મૂળભૂત ઓડિટ પ્રશ્નોના જવાબ આપે છે. કયું ટૂલ ફાયર થયું તે તમે જાણો છો કારણ કે કંટ્રોલ પ્લેને તેને લોગ કર્યું છે. કોણે એક્સેસ આપ્યો તે તમે જાણો છો કારણ કે કન્ફિગરેશન રેકોર્ડ્સ એક લોકલ રજિસ્ટ્રીમાં હોય છે. રન શા માટે મોંઘું હતું તે તમે જાણો છો કારણ કે તમે ટોકન્સ ગણી શકો છો.
જે મહત્વનું છે તેનું ગણતરી કરો
દરેક રન માટે, ચાર ચોક્કસ મેટ્રિક્સને ટ્રેક કરો. પ્રથમ, ઇનપુટ અને આઉટપુટ ટોકન્સ. આ મોડલના મોટાભાગના ખર્ચને ચલાવે છે, અને તમારે અંદાજ નહીં પણ ચોક્કસ ગણતરીની જરૂર છે. બીજું, મોડલ લેટન્સીને ટૂલ લેટન્સીથી અલગ કરો. તમારા પ્રોમ્પ્ટ અને મોડલના પ્રતિસાદ વચ્ચેનો સમય એ સમય કરતાં અલગ છે જે બાહ્ય સર્વિસ ટૂલ કોલનો જવાબ આપવામાં લે છે. આ બંનેમાં ભૂલ કરવાથી ખોટી નિદાન થયેલ સ્લોડાઉન થઈ શકે છે. ત્રીજું, વેરિફાઇડ પ્રોવાઇડર રેટ્સના આધારે ખર્ચની ગણતરી કરો. અનુમાન ન લગાવો. તમારા પ્રોવાઇડરની પ્રાઇસિંગ શીટ તપાસો અને તેને માપેલા ટોકન્સ સાથે મેચ કરો. ચોથું, સફળ કોલ્સની સરખામણી અસ્વીકૃત (unauthorized) કોલ્સ સાથે કરો. રિજેક્શન કાઉન્ટ વધારે હોવાનો અર્થ એ છે કે તમારો એજન્ટ સીમાઓ તપાસી રહ્યો છે અથવા તમારી એલોલિસ્ટ કાયદેસરની જરૂરિયાતો સાથે સુસંગત નથી.
આ આંકડા એજન્ટ ઓપરેશન્સને બ્લેક-બોક્સ સબ્સ્ક્રિપ્શનમાંથી એક અવલોકનક્ષમ (observable) સિસ્ટમમાં ફેરવે છે. તમે બજેટ બનાવી શકો છો, ઓપ્ટિમાઇઝ કરી શકો છો અને સમજાવી શકો છો.
લોકલ કંટ્રોલ અને લોકલ એક્ઝિક્યુશન વચ્ચેનો તફાવત
અહીં એક એવો પાઠ છે જે સાવધ બિલ્ડર્સને પણ ભૂલ કરાવી શકે છે. તમારા મશીન પર deco Studio ચલાવવાથી તમને કન્ફિગરેશન પર લોકલ કંટ્રોલ મળે છે, પરંતુ તે મોડલના પોતાના લોકલ એક્ઝિક્યુશનની ખાતરી આપતું નથી. જો તમે એજન્ટને OpenAI, Anthropic અથવા કોઈપણ હોસ્ટેડ API જેવા બાહ્ય પ્રોવાઇડરને કોલ કરવા માટે કન્ફિગર કરો છો, તો તમારા પ્રોમ્પ્ટ તમારા મશીન છોડી દેશે. Studio ગેટ મેનેજ કરે છે, પરંતુ ડેટા હજુ પણ નેટવર્ક દ્વારા પસાર થાય છે.
હંમેશા આ સીમાઓને ટ્રેક કરો. પાઇપલાઇનના કયા ભાગો localhost પર રહે છે અને કયા ભાગો બીજાના સર્વર પર જાય છે તે જાણો. જો તમારો ડેટા સંવેદનશીલ હોય, તો ટૂલ લેયરનું લોકલ કંટ્રોલ પૂરતું નથી. તમારે એ પણ જાણવાની જરૂર છે કે મોડલ ઇન્ફરન્સ ક્યાં થાય છે. લોકલ ડેશબોર્ડની સુવિધાને રિમોટ મોડલની વાસ્તવિકતા સાથે ભૂલશો નહીં.
સૂચનાઓ એ ઓથોરાઈઝેશન નથી
એક જોખમી શોર્ટકટ એ પ્રોમ્પ્ટિંગ દ્વારા એજન્ટને સુરક્ષિત કરવાનો પ્રયાસ કરવાનો છે. મોડલને કહેવું કે, "ક્યારેય ડિલીટ ફંક્શન કોલ કરશો નહીં," એ સિક્યુરિટી કંટ્રોલ નથી. તે માત્ર એક સૂચન છે. મોડલ્સ સૂચનાઓનો ખોટો અર્થ કાઢી શકે છે, જેલબ્રેક પ્રોમ્પ્ટ્સ કરી શકે છે, અથવા ફક્ત તર્કની ભૂલો કરી શકે છે. સાચી સુરક્ષા સોફ્ટવેર બાઉન્ડ્રી પર રહેલી છે.
કયા ફંક્શન કોલ કરી શકાય તે ચોક્કસ રીતે વ્યાખ્યાયિત કરવા માટે deco Studio ની અંદર એલોલિસ્ટનો ઉપયોગ કરો. કંટ્રોલ પ્લેનની અંદર સર્વર-સાઇડ ચેક્સ સાથે તે મર્યાદાઓ લાગુ કરો. એજન્ટ તેની ક્ષમતાઓ એવી રીતે શોધવી જોઈએ જેમ યુઝર ફાઇલ પરમિશન શોધે છે: કડક મર્યાદાનો સામનો કરીને, નમ્ર નોંધ વાંચીને નહીં. સુરક્ષા આર્કિટેક્ચરમાં હોવી જોઈએ, કુદરતી ભાષામાં નહીં.
નાની શરૂઆત કરો, શંકાશીલ રહો
તમારું કંટ્રોલ પ્લેન એક સમયે એક સ્ટેપમાં બનાવો. એક MCP સર્વર. એક એક્સપોઝ્ડ ફંક્શન. એક સિન્થેટિક કાર્ય. વેરિફાય કરો કે એજન્ટ જ્યાં સફળ થવું જોઈએ ત્યાં સફળ થાય છે અને જ્યાં નિષ્ફળ થવું જોઈએ ત્યાં નિષ્ફળ જાય છે. ટ્રેસ વાંચો. ટોકન કાઉન્ટની પુષ્ટિ કરો. પછી આગલું ટૂલ ઉમેરો.
કંટ્રોલ એ કોઈ સ્વિચ નથી જેને તમે ફ્લિપ કરો. તે સીમાઓ પર વિશ્વાસ કરતા પહેલા તેને સાબિત કરવાની આદત છે. deco Studio તમને તે આદતનો અભ્યાસ કરવા માટે લોકલ પ્લેન આપે છે. તેનો ઉપયોગ એજન્ટોના ટોળાને મેનેજ્ડ, ઓબ્ઝર્વેબલ અને બાઉન્ડેડ સિસ્ટમમાં બદલવા માટે કરો.
Source: Controlling AI Agents in deco Studio: Tools, Permissions, and Cost
વૈકલ્પિક લર્નિંગ કમ્યુનિટી: Telegram પર GyaanSetu AI
