एक्शन में Agentic AI का भाग 31 आपको कॉर्टेक्स में अस्थायी, सुरक्षित और व्यक्तिगत एजेंटों के साथ अनुभव प्रदान करता है।
स्नोफ्लेक प्रोटोटाइप, शासन, पहुंच और अर्थ-दृश्य परीक्षण को सरल बनाने के लिए अस्थायी, सुरक्षित और व्यक्तिगत Cortex Agents प्लस COPY GRANTS जोड़ता है।
मुख्य जानकारी
- स्नोफ्लेक सत्र-स्कोप प्रोटोटाइपिंग के लिए अस्थायी Cortex Agents पेश करता है, जो केवल उपयोगकर्ता या भूमिका बनाने वाले को दिखाई देता है और सत्र समाप्त होने पर स्वचालित रूप से हटा दिया जाता है, जिससे योजना अव्यवस्था कम हो जाती है।
- अस्थायी एजेंट प्रयोग को सरल बनाते हैं क्योंकि उन्हें स्कीमा-स्तरीय `CREATE AGENT` विशेषाधिकार की आवश्यकता नहीं होती है और मैन्युअल ∀DROP AGENT` सफाई को समाप्त करते हैं।
- ∀DATA_AGENT_RUN` के साथ एक अस्थायी एजेंट चलाने से टूल कॉल, उत्पन्न SQL , क्वेरी परिणाम, मॉडल तर्क, अंतिम उत्तर और अनुवर्ती सुझावों सहित पूर्ण ऑर्केस्ट्रेशन ट्रैक लौटता है।
- सुरक्षित एजेंट गैर-मालिकों से एजेंट विनिर्देशन की रक्षा करते हैं, जो अन्य भूमिकाओं को ऑर्केस्ट्रेशन निर्देश, टूल बाइंडिंग या मालिकाना प्रॉम्प्ट विवरण देखने से रोकते हैं।
- अद्यतन निजी उपयोगकर्ता सैंडबॉक्स के लिए Personal Database एजेंटों का भी समर्थन करता है और ∀ COPY GRANTS` जब एक एजेंट को बदल दिया जाता है, तो शासन और जीवनचक्र प्रबंधन में सुधार करने के लिए पहुंच बनाए रखने के लिए।
मेटा विवरणः स्नोफ्लेक अस्थायी, सुरक्षित और व्यक्तिगत Cortex Agents, प्लस COPY GRANTS, जोड़ता है ताकि टीमें सत्रों में प्रोटोटाइप कर सकें, विनिर्देशों की सुरक्षा कर सकें और पहुंच को नियंत्रित कर सकें।
टैगः Cortex Agents, स्नोफ्लेक, अस्थायी एजेंट, सुरक्षित एजेंट COPY GRANTS
विशेष रुप से प्रदर्शित छवि: (अंग्रेज़ी में) ">"</string> सत्र सैंडबॉक्स और सुरक्षित तिजोरी के अंदर डेटाबेस एजेंटों का अमूर्त चित्रण, मैत्रीपूर्ण गैर-तकनीकी शैली, कोई वास्तविक लोग नहीं, कोई लोगो नहीं, न ही पाठ
स्नोफ्लेक पर निर्माण करने वाली टीमों के लिए, नए ऑब्जेक्ट संवर्द्धन बदलते हैं कि प्रोटोटाइप, शासन और प्रतिस्थापन कैसे काम करते हैं। हाल ही में स्नोफ़्लेक ने एक सेट का रोल आउट किया है Cortex Agents वस्तु संवर्धन जो छोटे लेकिन वास्तविक घर्षण बिंदुओं को हल करता है जो दिन-प्रतिदिन एजेंट विकास के दौरान दिखाई देते हैं। तीन क्षमताएं सबसे अधिक मायने रखती हैंः सत्र-स्कोप परीक्षण के लिए अस्थायी एजेंट, सुरक्षित एजेंट जो गैर-मालिक से एजेंट विनिर्देश छिपाता है, और Personal Database एजेंट्स जो प्रत्येक उपयोगकर्ता को एक निजी सैंडबॉक्स देता है। उनके साथ एक छोटा COPY GRANTS परिवर्तन आता है, जब कोई एजेंट बदला जाता है तो पहुंच बनाए रखता है।
उदाहरणों का सेटअप साझा करें
walkthrough एक सुसंगत स्थान, `my_db.my_schema̅ का उपयोग करता है और एक छोटा गोदाम, ∀my_wh̅, इसलिए उदाहरणों को प्रत्येक अनुभाग में अलग-अलग प्लेसहोल्डर्स की आवश्यकता नहीं होती है। यदि कोई वेयरहाउस पहले से मौजूद है, तो इसे छोड़ दें और हर जगह जो दिखाई देता है उसे बदल दें।
इसके बाद, ∀SALES_FACT` बनाएँ और तीन क्षेत्रों, चार तिमाहियों और दो उत्पादों में एक दर्जन पंक्तियाँ लोड करें। डेटा छोटा है, लेकिन यह पर्याप्त है कि एजेंट खाली के बजाय वास्तविक संचयन प्रश्न का उत्तर दे सके।
फिर एक देशी स्नोफ्लेक सिमेंटिक व्यू बनाएँ जिसे ∀sales_semantic_view` के शीर्ष पर कहा जाता है। यह क्षेत्र और तिमाही आयाम का उपयोग करता है और TOTAL_REVENUE̅ मीट्रिक। उदाहरणों में प्रत्येक टूल-बेयरिंग एजेंट उसी ऑब्जेक्ट के खिलाफ क्वेरी करता है, my_db.my_schema.sales _ semantic _ view`।
अनक्वालिफाइड नाम `my_temp_agent̅ और ≠my_secure_agent∂ मान लेते हैं कि सत्र अभी भी पहले के कथनों से है। एक ही कार्यपत्रक में क्रम में चरण चलाएं, या यदि आप अपने दम पर एक कदम उठा रहे हैं तो स्वयं नाम को अर्हता दें, जैसा कि COPY GRANTS और Personal Database उदाहरण पहले से करते हैं.
एक एजेंट को चलाने से पहले सेंस चेक पूछता हैः किस क्षेत्र में सबसे अधिक कुल राजस्व है? ज्ञात-सही संख्या `503000` है, इसलिए बाद के एजेंट उत्तर की तुलना इसके खिलाफ की जा सकती है।
अस्थायी एजेंट स्कीमा अव्यवस्था को दूर करते हैं
Cortex Agent विकास अक्सर कई प्रयोगात्मक पुनरावृत्तियों के साथ शुरू होता हैः एक सिमेंटिक व्यू बाइंडिंग को बदलना, ऑर्केस्ट्रेशन निर्देशों का परीक्षण करना या यह जांचना कि क्या कोई उपकरण अपेक्षित रूप से व्यवहार करता है। इस रिलीज से पहले, प्रत्येक पुनरावृत्ति स्थायी स्कीमा-स्तर की वस्तु बना सकती थी जिसे किसी को अंततः साफ करना पड़ता था।
अस्थायी एजेंट इसे ठीक करते हैं. वे केवल वर्तमान सत्र के लिए मौजूद होते हैं, केवल उपयोगकर्ता और भूमिका बनाने वाले को दिखाई देते हैं, और सत्र समाप्त होने पर स्वचालित रूप से गायब हो जाते हैं। एक बनाना स्कीमा पर `CREATE AGENT∀ विशेषाधिकार की आवश्यकता नहीं है।
`my_temp_agent̅ बनाने के बाद, ऑब्जेक्ट मौजूद है और सिमेंटिक व्यू बाइंडिंग सही है इसकी पुष्टि करने के लिए my_temp;̅ चलाएँ। सत्र को बंद करने से एजेंट हटा दिया जाता है, इसलिए कोई भी कदम नहीं होता है और किसी अन्य व्यक्ति द्वारा बाद में खोजने के लिए कोई शेष वस्तु नहीं होती है।
टीमों के लिए जो लगातार क्लाइंट सिमेंटिक मॉडल के खिलाफ एजेंट कॉन्फ़िगरेशन का प्रोटोटाइप करते हैं, साझा विकास वातावरण में कुछ भी स्थानांतरित करने से पहले, यह अव्यवस्था के एक वास्तविक स्रोत को हटा देता है। संभावित पैटर्न अन्वेषण और आरक्षित ∀CREATE OR REPLACE AGENT` के लिए अस्थायी एजेंटों का उपयोग करना है जो वास्तव में डेमो या ग्राहक पर्यावरण में जा रहा है।
एक अस्थायी एजेंट चलाने पूर्ण निशान दिखाता है
एजेंट बनाना एक कदम है; इसे प्रश्न पूछना दूसरा। ∀DATA_AGENT_RUN` एकल JSON पेलोड देता है जिसमें संपूर्ण ऑर्केस्ट्रेशन ट्रेस होता हैः टूल कॉल इन Cortex Analyst, सिमेंटिक मॉडल कॉन्टेक्स्ट जिसे यह प्राप्त किया गया था, उत्पन्न SQL , क्वेरी परिणाम, मॉडल का आंतरिक तर्क, अंतिम उत्तर और सुझाए गए अनुवर्ती प्रश्न, सभी एक ゙content̅ सरणी के तत्वों के रूप में।
उदाहरण क्वेरी ∀content` को समतल करती है और एक तत्व निकालती है जिसका प्रकार पाठ होता है, जो कि एजेंट का वास्तविक उत्तर है। इसे नमूना डेटा के खिलाफ चलाने से एक पंक्ति वापस आती है।
यह उत्तर डेटा के खिलाफ चेक आउट करता है। North America125000s चार पंक्तियों का योग `125000 + 138000 + 98000 + 142000 = 503000∀, इसलिए सिमेंटिक व्यू ≠ कुल राजस्व मीट्रिक सही ढंग से एकत्रित हो रहा है। यदि आप वास्तव में उत्पन्न SQL Cortex Analyst का निरीक्षण करना चाहते हैं, तो वही पेलोड इसे कुछ स्तरों में गहराई तक ले जाता है.
कोई `DROP AGENT∀ की आवश्यकता नहीं है. जब सत्र समाप्त होता है तो ऑब्जेक्ट गायब हो जाता है, और यह किसी अन्य उपयोगकर्ता या भूमिका के लिए कभी दिखाई नहीं देता था।
सुरक्षित एजेंट विनिर्देश की रक्षा करते हैं
दूसरा संवर्धन एक शासन अंतर को संबोधित करता है। एजेंट विनिर्देश में ऑर्केस्ट्रेशन निर्देश, टूल बाइंडिंग और कभी-कभी मालिकाना prompt engineering शामिल हो सकते हैं जिन्हें परिष्कृत करने के लिए वास्तविक प्रयास करना पड़ता था। पुराने मॉडल के तहत, एजेंट पर ∀USAGE` वाला कोई भी व्यक्ति ゙DESCRIBE AGENT▽ या △GET_DDL□ चला सकता है और पूरी बात पढ़ सकता है।
सुरक्षा एजेंट इसे बंद कर देते हैं, उसी मॉडल का अनुसरण करते हुए जो स्नोफ्लेक पहले से ही सुरक्षित दृश्यों और सुरक्षित कार्यों के लिए उपयोग करता है।
Running `DESCRIBE AGENT my_secure_agent;∀ मालिक के रूप में सभी आठ स्तंभों को दिखाता है, जिसमें पूर्ण JSON भी शामिल है। उस स्तम्भ में ऑर्केस्ट्रेशन विवरण होते हैं जिन्हें अन्य भूमिकाओं से छिपाने की आवश्यकता हो सकती है।
यह क्लाइंट एंगेजमेंट के लिए विशेष रूप से प्रासंगिक है। जब एक एजेंट को व्यावसायिक उपयोगकर्ताओं को सौंप दिया जाता है, तो टीमें अक्सर नहीं चाहती हैं कि वे ऑर्केस्ट्रेशन निर्देश या सटीक टूल वायरिंग देखें, क्योंकि कॉन्फ़िगरेशन वास्तव में मालिकाना है या इसलिए कि इसे उजागर करने से लोगों को रिवर्स इंजीनियरिंग प्रॉम्प्ट व्यवहार का निमंत्रण मिलता है। ∀SECURE` कस्टम एक्सेस कंट्रोल की दूसरी परत के बिना वह अलगाव देता है।
किसी अन्य भूमिका से विनिर्देश छिपाना
अगला चरण एक भूमिका बनाता है, ∀test_role`, जिसका एजेंट के स्वामित्व से कोई लेना-देना नहीं है, इसे ▽USAGE̅ देता है और वहां से चलाता है।
डिफ़ॉल्ट रूप से, परिणाम अभी भी पूर्ण ∀agent_spec` लौटाता है, क्योंकि भूमिका व्यवहार सभी में पूर्वनिर्धारित होता है। यदि ≠ACCOUNTADMIN̅ पूरे समय उपयोग की जाने वाली भूमिका है, तो माध्यमिक भूमिकाओं को बंद करने से उस सेट से ∂ACCOUNADMIN̅ हटा दिया जाता है और अपने आप ही ∆test_role̅ छोड़ देता है, जो कि संपादन को ट्रिगर करता है।
उस परिवर्तन के बाद, ∀agent_spec` स्तंभ रिक्त लौटता है, विन्यास और ऑर्केस्ट्रेशन निर्देशों को छिपाकर। व्यवहार में बदलाव संकीर्ण हैः एजेंट कैसे चलता है या जवाब देता है इसके बारे में कुछ भी अलग नहीं है। ▽GET_DDL□ उसी तरह से विनिर्देश को छोड़ देता है, स्नोसाइट` का △agent_ Spec゙ फ़ील्ड अपने संसाधन दृश्य में ≠NULL□ लौटाता है और स्टेज उसके माध्यम से पढ़ता है △GET□ या △LS□ अब केवल △USE□ की बजाय △OWNERSHIP∂ की आवश्यकता होती है।
निष्पादन अपने आप में अछूता है। ∀agent:run` अंतबिंदु, ▽DATA_AGENT_RUN` और एजेंट को आमंत्रित करने वाला कोई भी कार्य अभी भी पूर्ण विनिर्देश आंतरिक रूप से लोड करता है, इसलिए अंतिम उपयोगकर्ता यह नहीं देखते हैं कि एजेंट कैसे प्रतिक्रिया देता है। संपादन की पुष्टि करने के बाद, जारी रखने से पहले मूल भूमिका पर वापस स्विच करें.
Personal Database एजेंट एक निजी सैंडबॉक्स प्रदान करते हैं
Every Snowflake उपयोगकर्ता के पास पहले से ही एक Personal Database, ज्यादातर स्क्रैच टेबल और वन-ऑफ नोटबुक के लिए उपयोग किया जाता है। यह रिलीज़ इसे एजेंटों तक फैलाता है. अब आप अपने स्वयं के `PUBLIC∀ योजना में सीधे एक एजेंट बना सकते हैं और चला सकते हैं Personal Database केवल अपने डिफ़ॉल्ट विशेषाधिकारों का उपयोग करके।
Personal Database नामों के बाद ∀USER$<आपका_ username >` प्रारूप, और विशेष वर्ण के कारण नाम को दोहरे उद्धरणों की आवश्यकता होती है. उदाहरण बिंदुओं पर ∀sales_semantic_view○, walkthrough में हर दूसरे एजेंट द्वारा उपयोग किए जाने वाले समान सिमेंटिक दृश्य , इसलिए यह एक ही नमूना डेटा से जवाब देता है। इसे चलाने से पहले अपने स्वयं के username में स्वैप करें।
डेटाबेस और मालिक भूमिका एक ही नाम साझा करते हैं क्योंकि a Personal Database उपयोगकर्ता के स्वामित्व में है। ऑब्जेक्ट वहां रहता है, भले ही सिमेंटिक व्यू जो यह क्वेरी करता है वह `my_db.my_schema` में रहता है।
व्यावहारिक लाभ यह है कि यह सेटअप घर्षण के एक विशिष्ट टुकड़े को हटा देता है। एक डेवलपर जो कुछ लगातार चाहता है, कुछ पिछले एक सत्र में रखा गया है लेकिन अभी तक साझा स्कीमा के लिए तैयार नहीं है, अब किसी को पहले विकास डेटाबेस पर ∀ CREATE AGENT` प्रदान करने की आवश्यकता नहीं है।
व्यक्तिगत डेटाबेस एजेंट चलाना
रन एक ही पूरी तरह से योग्य एजेंट नाम का उपयोग करता है, वही ∀FLATTEN` निष्कर्षण पैटर्न और अंतिम पाठ तत्व के लिए समान ▽QUALIFY□ संकीर्णन। उत्तर वापस आता है जमीनीकरण में △Widget A̅ और △ Widget B̅ from △SALES_FACT∂ , क्योंकि आपके स्वयं Personal Database में बैठे एजेंट अस्थायी और सुरक्षित एजेंटों के रूप में बिल्कुल उसी सिमेंटिक दृश्य की क्वेरी कर रहे हैं।
COPY GRANTS प्रतिस्थापन के माध्यम से पहुंच बनाए रखता है
एक छोटा चौथा परिवर्तन तीन मुख्य क्षमताओं के साथ सवार होता है। `CREATE OR REPLACE AGENT` अब समर्थन करता है `COPY GRANTS`, जो स्पष्ट विशेषाधिकारों को संरक्षित करता है, अन्य की तुलना में ∀OWNERSHIP□, जब कोई एजेंट बदल दिया जाता है.
यह देखने के लिए, पहले एक एजेंट बनाएँ ताकि प्रतिस्थापित करने के लिए कुछ हो, फिर `USAGE⌒ को ∀test_role゙ प्रदान करें, जो भूमिका पहले से ही सुरक्षित एजेंट उदाहरण में उपयोग की जाती है। अब एजेंट का स्थान लें `COPY GRANTS`.
`COPY GRANTS` के बिना, प्रतिस्थापन के बाद पुनः जारी करने की आवश्यकता होगी क्योंकि प्रतिस्थापित ऑब्जेक्ट अन्यथा एक स्वच्छ अनुदान स्लेट के साथ शुरू होगा। यह किसी ऐसे व्यक्ति के लिए मायने रखता है जिसे पुनरावर्ती विकास के दौरान प्रत्येक ∀CREATE OR REPLACE AGENT` के बाद फिर से चलाने वाले बयानों का बैच करना पड़ता था।
अंतिम जांच पुष्टि करती है कि दी गई भूमिका एजेंट को कॉल कर सकती है। ∀test_role` अस्थायी एजेंट रन के रूप में एक ही North America उत्तर प्राप्त करता है, और बिना किसी एकल कथन के पुनः चलाए जाने वाले प्रतिस्थापन से बच गया।
एजेंट टीमों के लिए यह क्या बदलता है
एक साथ लिया गया, ये चार परिवर्तन स्नोफ्लेक से स्पष्ट इरादे का वर्णन करते हैं। अस्थायी एजेंट और Personal Database एजेंट निर्माण और पुनरावृत्ति के घर्षण को कम करते हैं. सुरक्षित एजेंटों और ` COPY GRANTS ゙ उत्पादन के लिए तैयार होने पर क्या होता है इसे कसते हैं और इसके एक्सेस इतिहास को खोए बिना साझा करने, नियंत्रित करने और बनाए रखने की आवश्यकता होती है।
कार्यप्रवाह यह सुझाव देता है सीधा हैः सत्र में एक अस्थायी एजेंट के साथ प्रोटोटाइप, या यदि आप इसे बाद में वापस आना चाहते हैं तो अपने Personal Database में एक स्थायी एजेंट का उपयोग करें। एक बार कॉन्फ़िगरेशन ठोस हो जाने पर, इसे साझा स्कीमा में एक सुरक्षित एजेन्ट के रूप में बढ़ावा दें, आवश्यक होने पर `COPY GRANTS∀ का उपयोग करके ताकि एक्सेस कंट्रोल हर बाद के प्रतिस्थापन पर आगे बढ़े।
स्रोत इसे एक्शन सीरीज़ में Agentic AI के भाग 31 के रूप में भी वर्णित करता है, उदाहरणों के लिए कोड फ़ाइलों के लिंक देता है और लेखकों को जेनरेटिव और Agentic AI, LLMs , स्नोफ्लेक और Cortex AI पर व्यावहारिक दृष्टिकोण के लिए लेखक की LinkedIn और मीडियम प्रोफाइल का निर्देश देता है।
से बचने के लिए आम गलतियाँ
- योग्यता वस्तु नामों के बिना एक नए कार्यपत्रक में केवल एक चरण चलाना. उदाहरण मानते हैं कि सत्र अभी भी ∀my_db.my_schema` में है.
- एक सुरक्षित एजेंट की जाँच करना जबकि अभी भी ∀ACCOUNTADMIN` को ゙USE SECONDARY ROLES ALL` के माध्यम से ले जा रहा है। जब गैर-मालिक भूमिका का मूल्यांकन अपने आप किया जाता है तो संपादन दिखाई देता है।
- उत्तर को बदलने के लिए सुरक्षित एजेंटों की अपेक्षा करना। निष्पादन अपरिवर्तित है; केवल विनिर्देश गैर-मालिक से छिपा हुआ है.
- `COPY GRANTS` के बिना एक एजेंट को बदलना और फिर पुनः जारी किया जाना था जो अनुदान खो देना।
- Treating Personal Database एजेंटों के रूप में साझा-स्कीमा विशेषाधिकार की आवश्यकता होती है। बिंदु डिफ़ॉल्ट अधिकारों के साथ उपयोगकर्ता की अपनी ∀PUBLIC` योजना का उपयोग करना है।

Comments (0)