मार्गदर्शिका - NCP-AAI NVIDIA-Certified Professional: Agentic AI
अंतिम समीक्षा: जून 2026
NCP-AAI परीक्षा द्वारा परखे जाने वाले architectural patterns का स्कैन-योग्य संदर्भ। ऊपर से नीचे पढ़ें या किसी section पर जाएं।
एजेंट आर्किटेक्चर और डिज़ाइन
एक जटिल वर्कफ़्लो के लिए एक agent और मल्टी-agent सिस्टम के बीच चयन करना।
टूल के साथ एक सिंगल agent को डिफ़ॉल्ट करें। मल्टीपल agents में तभी विभाजित करें जब टास्क की सीमाएं अलग हों, context ओवरफ्लो हो, या विभिन्न मॉडल टियर विभिन्न सब-टास्क के लिए उपयुक्त हों।
क्यों: प्रत्येक जोड़ा गया agent विलंबता (latency), त्रुटि सतह (error surface), और ऑर्केस्ट्रेशन लागत को कई गुना बढ़ा देता है; अधिकांश वर्कलोड एक अच्छी तरह से तैयार किए गए agent के साथ सफल होते हैं।
ऑर्केस्ट्रेटर को विषम सब-टास्क को विशेषज्ञों को भेजना होगा।
एक पर्यवेक्षक agent का उपयोग करें जो लक्ष्य को विघटित करता है, अपने स्वयं के प्रॉम्प्ट और टूल के साथ कार्यकर्ता agents को रूट करता है, और परिणामों को एकत्रित करता है।
क्यों: केंद्रीकृत नियंत्रण स्थिति को सुसंगत रखता है और निर्णय सीमा को ऑडिट करने योग्य बनाता है, बनाम एक स्वतंत्र झुंड।
agent फ़्लो में सशर्त शाखाएँ, लूप और समानांतर फ़ैन-आउट हैं।
वर्कफ़्लो को एक फ्री-फॉर्म लूप के बजाय नोड्स और किनारों के एक स्पष्ट ग्राफ़ के रूप में मॉडल करें, ताकि नियंत्रण प्रवाह नियतात्मक (deterministic) और फिर से शुरू करने योग्य हो।
क्यों: एक ग्राफ़ शाखाओं को परीक्षण योग्य बनाता है और आपको विफलता के बाद किसी भी नोड से चेकपॉइंट और रीप्ले करने देता है।
आने वाले अनुरोध प्रकार और लागत में व्यापक रूप से भिन्न होते हैं।
सिस्टम को एक हल्के router agent से जोड़ें जो इरादे को वर्गीकृत करता है और सबसे सस्ते सक्षम डाउनस्ट्रीम agent या टूल को भेजता है।
क्यों: रूटिंग तुच्छ अनुरोधों के लिए फ्रंटियर-मॉडल लागत का भुगतान करने से बचाती है और प्रति पथ चिंताओं को अलग करती है।
कई agents को सामान्य वर्कफ़्लो स्थिति को पढ़ना और लिखना चाहिए।
एजेंटों के बीच पूरी प्रतिलेख (transcript) पास करने के बजाय, सत्र द्वारा कुंजीबद्ध एक साझा स्टोर (की-वैल्यू या डॉक्यूमेंट) में स्थिति को बाहरी बनाएं।
क्यों: एक साझा स्टोर context वृद्धि को सीमित करता है और agents में स्थिति की भिन्न प्रतियों को रोकता है।
क्षैतिज स्केल-आउट के लिए agents को डिज़ाइन करना।
agent कंप्यूट को stateless रखें; बातचीत और मेमोरी को बाहरी रूप से बनाए रखें ताकि कोई भी प्रतिकृति (replica) किसी भी अनुरोध को उठा सके।
क्यों: Stateless नोड्स सफाई से स्वतः स्केल करते हैं और इन-फ्लाइट काम खोए बिना पॉड रीस्टार्ट से बचते हैं।
एक सब-agent या टूल वर्कफ़्लो के बीच में विफल हो जाता है।
रीट्राय/बैकऑफ़ के साथ आइडेंपोटेंट (idempotent) चरणों को डिज़ाइन करें, साइड इफेक्ट्स के लिए क्षतिपूर्ति क्रियाएं, और जब रीट्राय समाप्त हो जाएं तो एक फ़ॉलबैक पथ या मानव हस्तक्षेप की सुविधा प्रदान करें।
क्यों: Agentic सिस्टम आंशिक रूप से विफल होते हैं; रिकवरी को एक प्रथम-श्रेणी की डिज़ाइन चिंता होनी चाहिए, न कि एक afterthought।
सब-agents को अलग-अलग टीमों द्वारा विकसित किया जाता है।
प्रत्येक agent के इनपुट/आउटपुट कॉन्ट्रैक्ट को एक टाइप किए गए schema के रूप में परिभाषित करें और agents को स्थिर इंटरफेस के पीछे सेवाओं के रूप में मानें।
क्यों: स्पष्ट अनुबंध agents को स्वतंत्र रूप से विकसित होने और अलगाव में यूनिट-टेस्ट होने देते हैं।
कठिन कार्यों पर agent आउटपुट गुणवत्ता असंगत है।
एक आलोचक/प्रतिबिंब चरण जोड़ें जो मसौदे की समीक्षा मानदंडों के खिलाफ करता है और लौटने से पहले एक सीमित पुनः प्रयास को ट्रिगर करता है।
क्यों: स्व-आलोचना सस्ते में त्रुटियों को पकड़ती है, लेकिन runaway लूप और लागत से बचने के लिए पुनरावृत्तियों को सीमित करें।
एजेंट डेवलपमेंट
agent को बाहरी API, डेटाबेस या फ़ाइलों के साथ इंटरैक्ट करना चाहिए।
क्षमताओं को टाइप किए गए फ़ंक्शन/टूल परिभाषाओं के रूप में उजागर करें; मॉडल एक टूल कॉल उत्सर्जित करता है, आपका कोड उसे निष्पादित करता है और परिणाम लौटाता है, फिर लूप जारी रहता है।
क्यों: संरचित टूल कॉलिंग फ्री-टेक्स्ट निर्देशों को पार्स करने की तुलना में अधिक विश्वसनीय और ऑडिट करने योग्य है।
agent को फिर से कार्य करने से पहले टिप्पणियों के बारे में सोचना चाहिए।
एक ReAct लूप लागू करें: मॉडल एक विचार उत्पन्न करता है, एक टूल का चयन करता है, अवलोकन प्राप्त करता है, और एक स्टॉप शर्त पूरी होने तक दोहराता है।
क्यों: तर्क और कार्रवाई को इंटरलीव करने से डिबगिंग के लिए श्रृंखला उजागर होती है और मल्टी-स्टेप सटीकता में सुधार होता है।
मॉडल टूल आर्गुमेंट का दुरुपयोग करता है या hallucinate करता है।
सटीक टूल विवरण लिखें, आर्गुमेंट प्रकारों और enums को सीमित करें, और प्रति टूल एक या दो उपयोग उदाहरण प्रदान करें।
क्यों: अधिकांश टूल-कॉल त्रुटियाँ अस्पष्ट schemas से उत्पन्न होती हैं; विवरण टूल के लिए प्रॉम्प्ट है।
डाउनस्ट्रीम कोड को agent से विश्वसनीय JSON की आवश्यकता है।
जेनरेशन को JSON schema (संरचित आउटपुट) तक सीमित करें, न कि फ्री टेक्स्ट को पार्स करने तक, और उपयोग से पहले validate करें।
क्यों: Schema-constrained डिकोडिंग नाजुक regex पार्सिंग और साइलेंट फ़ॉर्मेट ड्रिफ्ट को समाप्त करता है।
NVIDIA स्टैक पर एक प्रोडक्शन agent बनाना।
एजेंटों, टूल और वर्कफ़्लो को संयोजित करने के लिए NeMo Agent Toolkit का उपयोग करें, NIM-served बैकएंड को मॉडल कॉल को वायर करें।
क्यों: टूलकिट agent प्लंबिंग को मानकीकृत करता है और NVIDIA सर्विंग के साथ मूल रूप से एकीकृत होता है।
एजेंटों और सर्विंग को कंटेनराइज़ करें, Kubernetes पर चलाएं, और समझदार न्यूनतम/अधिकतम सीमाओं के साथ समवर्तीता या GPU उपयोग पर स्वतः स्केल करें।
क्यों: ऑटोस्केलिंग स्पाइक्स को अवशोषित करता है जबकि न्यूनतम प्रतिकृतियां (min replicas) महत्वपूर्ण पथ पर कोल्ड-स्टार्ट विलंबता से बचती हैं।
लोड के तहत GPU अनुमान लागत बहुत अधिक है।
हार्डवेयर जोड़ने से पहले प्रति-GPU-सेकंड टोकन बढ़ाने के लिए NIM लेयर पर डायनेमिक/कंटीन्यूअस बैचिंग सक्षम करें।
क्यों: बैचिंग GPU उपयोगिता में नाटकीय रूप से सुधार करता है; पहले नोड्स को स्केल करना क्षमता बर्बाद करता है।
एजेंट असीमित समानांतर टूल और मॉडल कॉल लॉन्च करते हैं।
एक क्यू के साथ प्रति-agent और वैश्विक समवर्तीता सीमाएं लागू करें ताकि सिस्टम लोड के तहत gracefully डिग्रेड हो।
क्यों: असीमित फैन-आउट GPU और डाउनस्ट्रीम कोटा को समाप्त कर देता है, जिससे विफलताएं होती हैं।
एक agent अनुमान वर्कलोड के लिए GPU हार्डवेयर का चयन करना।
मॉडल फुटप्रिंट और विलंबता लक्ष्यों के अनुसार आकार दें - स्थापित बड़े मॉडलों के लिए H100, Blackwell जहां मेमोरी बैंडविड्थ और रीजनिंग थ्रूपुट हावी होते हैं।
क्यों: मॉडल से हार्डवेयर का मिलान अंडर-प्रोविजनिंग और निष्क्रिय क्षमता के लिए भुगतान दोनों से बचाता है।
एक नए agent या मॉडल संस्करण को सुरक्षित रूप से शिप करना।
एक छोटे ट्रैफ़िक स्लाइस को canary के माध्यम से रोल आउट करें, लाइव मेट्रिक्स की तुलना baseline से करें, फिर आगे बढ़ें या रोल बैक करें।
क्यों: agent व्यवहार परिवर्तनों की ऑफ़लाइन पूरी तरह से भविष्यवाणी करना मुश्किल है; canary ब्लास्ट रेडियस को सीमित करता है।
लंबी agent श्रृंखलाओं में अनुरोधों के लटकने का जोखिम होता है।
प्रति-चरण और एंड-टू-एंड टाइमआउट बजट निर्धारित करें; अधिक होने पर रद्द करें और फ़ॉलबैक करें।
क्यों: बजट के बिना एक धीमा टूल एक GPU स्लॉट को पिन कर सकता है और अन्य अनुरोधों को भूखा रख सकता है।
संज्ञान, योजना और स्मृति
कार्य के लिए कई परस्पर निर्भर चरणों की आवश्यकता होती है।
एक योजना-और-निष्पादित पैटर्न का उपयोग करें: पहले एक स्पष्ट योजना उत्पन्न करें, फिर चरणों को निष्पादित करें, जब कोई धारणा टूट जाए तो पुनः योजना बनाएं।
क्यों: पहले से योजना बनाने से भटकना कम होता है और टूल कॉल खर्च करने से पहले मान्य करने के लिए एक चेकपॉइंट मिलता है।
विघटन की गुणवत्ता bottleneck है।
Nemotron रीजनिंग मॉडल को योजना चरण पर रूट करें जबकि निष्पादन के लिए सस्ते मॉडल का उपयोग करें।
क्यों: रीजनिंग-ग्रेड कंप्यूट को वहां खर्च करें जहां यह मायने रखता है - योजना पर - न कि हर नियमित सब-स्टेप पर।
agent को एक लंबे सत्र में तथ्यों को याद रखना चाहिए।
हाल के मोड़ को वर्किंग context में रखें; मांग पर पुनः प्राप्त किए गए दीर्घकालिक मेमोरी स्टोर में टिकाऊ तथ्यों को बनाए रखें।
क्यों: सब कुछ context में डालने से लागत और विलंबता बढ़ जाती है और अंततः विंडो ओवरफ्लो हो जाती है।
agent मेमोरी को कैसे स्टोर किया जाए, यह चुनना।
एपिसोडिक इंटरेक्शन हिस्ट्री को semantic तथ्यों से अलग स्टोर करें; समानता से semantic मेमोरी, recency/session से एपिसोडिक मेमोरी को पुनः प्राप्त करें।
क्यों: विभिन्न एक्सेस पैटर्न के लिए विभिन्न स्टोर्स की आवश्यकता होती है; एक ही बकेट दोनों के लिए खराब प्रदर्शन करता है।
एक लंबी चलने वाली बातचीत context सीमा के करीब पहुंचती है।
पुराने मोड़ों को एक संक्षिप्त चल रहे सारांश में सारांशित करें और raw इतिहास को छोड़ दें, केवल हाल के verbatim मोड़ों को रखें।
क्यों: रोलिंग सारांश टोकन लागत को सीमित करते हुए और ट्रंकेशन त्रुटियों से बचते हुए निरंतरता बनाए रखता है।
ज्ञान एकीकरण और डेटा हैंडलिंग
agent को निजी एंटरप्राइज़ डेटा में उत्तरों को आधारित करना चाहिए।
agent को एक vector स्टोर पर एक पुनर्प्राप्ति टूल दें ताकि वह यह तय कर सके कि कब और क्या पुनर्प्राप्त करना है, बजाय हमेशा context को prepend करने के।
क्यों: Agentic पुनर्प्राप्ति केवल तभी fetch करती है जब आवश्यकता हो, टोकन और अप्रासंगिक context को कम करती है।
NVIDIA पर एक उच्च गुणवत्ता वाली पुनर्प्राप्ति पाइपलाइन बनाना।
त्वरित, उत्पादन-ग्रेड RAG के लिए NeMo Retriever एंबेडिंग और रीरैंकिंग NIM माइक्रोसर्विसेज का उपयोग करें।
क्यों: NeMo Retriever GPU पर कुशलता से परोसे गए ट्यून किए गए एंबेडिंग/रीरैंक मॉडल प्रदान करता है।
एक agentic आवश्यकता को सही NVIDIA घटक पर मैप करना।
ऑर्केस्ट्रेशन के लिए NeMo Agent Toolkit, सर्विंग के लिए NIM, RAG के लिए NeMo Retriever, सुरक्षा के लिए NeMo Guardrails, और रीजनिंग के लिए Nemotron का उपयोग करें।
क्यों: यह जानना कि कौन सा घटक किस चिंता का मालिक है, एक आवर्ती परीक्षा और डिज़ाइन निर्णय है।
NVIDIA पर एक एंड-टू-एंड agentic एप्लिकेशन को असेंबल करना।
agent लेयर के पीछे अलग-अलग NIM माइक्रोसर्विसेज (LLM, embedding, rerank, guardrails) को संयोजित करें, प्रत्येक को स्वतंत्र रूप से स्केल करें।
क्यों: माइक्रोसर्विसेज डीकंपोजिशन प्रत्येक क्षमता को अपने आप स्केल और वर्जन करने देता है।
डेटा रेजिडेंसी नियम बाहरी API को डेटा भेजने से रोकते हैं।
अपने स्वयं के GPU इंफ्रास्ट्रक्चर पर NIM माइक्रोसर्विसेज को सेल्फ-होस्ट करें ताकि मॉडल और डेटा सीमा के भीतर रहें।
क्यों: NIM की पोर्टेबल पैकेजिंग ऑन-प्रेम डिप्लॉयमेंट का समर्थन करती है जो रेजिडेंसी आवश्यकताओं को पूरा करती है।
रन करें, मॉनिटर करें और बनाए रखें
एक प्रोडक्शन agent दुर्व्यवहार करता है और आपको इसका निदान करना होगा।
प्रत्येक मॉडल कॉल, टूल कॉल और निर्णय को कैप्चर करते हुए वितरित ट्रेस उत्सर्जित करें, फिर विफल trajectory का एंड-टू-एंड निरीक्षण करें।
क्यों: agent विफलताएं मल्टी-स्टेप होती हैं; पूर्ण ट्रेस के बिना आप यह पता नहीं लगा सकते कि रीजनिंग कहां गलत हुई।
agent टोकन खर्च और विलंबता समय के साथ बढ़ती जाती है।
प्रति agent और प्रति टूल टोकन, लागत और p95 विलंबता को ट्रैक करें, थ्रेशोल्ड उल्लंघन पर अलर्ट के साथ।
क्यों: प्रॉम्प्ट और ट्रैफ़िक के विकसित होने पर लागत और विलंबता चुपचाप बढ़ती जाती है; मेट्रिक्स इसे जल्दी पकड़ लेते हैं।
कोड परिवर्तनों के बिना गुणवत्ता धीरे-धीरे घटती है।
उत्पादन नमूनों के खिलाफ eval सूट को लगातार चलाएं और baseline से मीट्रिक ड्रिफ्ट पर अलर्ट करें।
क्यों: डेटा और अपस्ट्रीम-मॉडल ड्रिफ्ट रिलीज़ के बीच गुणवत्ता को अदृश्य रूप से कम करते हैं।
सुरक्षा, नैतिकता और अनुपालन
agent को विषय पर बने रहना चाहिए और असुरक्षित अनुरोधों को अस्वीकार करना चाहिए।
agent के चारों ओर इनपुट, आउटपुट, सामयिक (topical) और संवाद (dialog) rails के साथ NeMo Guardrails लागू करें।
क्यों: प्रोग्रामेबल rails मॉडल के स्वयं के व्यवहार से स्वतंत्र, और उसके एक बैकस्टॉप के रूप में नीति लागू करते हैं।