मार्गदर्शिका - CCA-F Claude Certified Architect - Foundations
अंतिम समीक्षा: मई 2026
CCA-F परीक्षा द्वारा परखे जाने वाले architectural patterns का स्कैन-योग्य संदर्भ। ऊपर से नीचे पढ़ें या किसी section पर जाएं।
एजेंटिक आर्किटेक्चर और ऑर्केस्ट्रेशन
एक जटिल वर्कफ़्लो के लिए एक एजेंट और मल्टी-एजेंट स्वार्म के बीच चयन करना।
एक सिंगल एजेंट + टूल्स के साथ शुरू करें। मल्टीपल एजेंटों में तभी विभाजित करें जब कार्य सीमाएँ स्पष्ट हों, संदर्भ विंडो ओवरफ्लो हो जाएँ, या प्रति उप-कार्य अलग-अलग मॉडल टियर की आवश्यकता हो।
क्यों: मल्टी-एजेंट विलंबता, त्रुटि सतह और ऑर्केस्ट्रेशन लागत बढ़ाता है। अधिकांश प्रोडक्शन वर्कलोड एक अच्छी तरह से सुसज्जित एजेंट के साथ सफल होते हैं।
एजेंट को फिर से कार्य करने से पहले अवलोकनों के बारे में तर्क करना चाहिए।
एक ReAct (रीज़न + एक्ट) लूप लागू करें: मॉडल एक विचार उत्पन्न करता है, एक टूल का चयन करता है, परिणाम प्राप्त करता है, और तब तक दोहराता है जब तक कि एक स्टॉप कंडीशन पूरी नहीं हो जाती।
क्यों: ReAct मध्यवर्ती तर्क को दृश्यमान बनाता है, डीबगेबिलिटी में सुधार करता है और आपको विचार श्रृंखला का ऑडिट करने देता है।
एजेंट को बाहरी सिस्टम (APIs, डेटाबेस, फाइल सिस्टम) के साथ इंटरैक्ट करने की आवश्यकता है।
tool_use API के माध्यम से टूल को परिभाषित करें। मॉडल एक tool_use ब्लॉक उत्सर्जित करता है; आपका कोड इसे निष्पादित करता है और एक tool_result लौटाता है। फिर मॉडल जारी रखता है।
ऑर्केस्ट्रेटर को विषम उप-कार्यों (कोड समीक्षा, वेब खोज, डेटा विश्लेषण) को भेजना चाहिए।
एक सुपरवाइजर एजेंट का उपयोग करें जो लक्ष्य को विघटित करता है, विशेषज्ञ उप-एजेंटों को प्रतिनिधिमंडल करता है, और परिणामों को एकत्रित करता है। प्रत्येक उप-एजेंट का अपना सिस्टम प्रॉम्प्ट और टूल सेट होता है।
कई उप-एजेंटों को सीधे पीयर-टू-पीयर संचार के बिना समन्वय करना चाहिए।
सभी इंटर-एजेंट संदेशों को एक सुपरवाइजर के माध्यम से रूट करें। सुपरवाइजर तय करता है कि अगला उप-एजेंट कौन सा चलेगा, संदर्भ पास करता है, और ऑर्डरिंग बाधाओं को लागू करता है।
क्यों: प्रत्यक्ष पीयर मैसेजिंग चक्र बनाता है और स्थिति को ट्रैक करना मुश्किल बनाता है। एक केंद्रीय सुपरवाइजर निष्पादन DAG को स्पष्ट रखता है।
एजेंट को एक मल्टी-टर्न सत्र में संदर्भ याद रखना चाहिए।
संदेश सरणी में पूरी बातचीत का इतिहास (सिस्टम + पिछले उपयोगकर्ता/सहायक टर्न) पास करें। लंबे सत्रों के लिए, संदर्भ विंडो के भीतर रहने के लिए पुराने टर्न को सारांशित करें।
एजेंट को सत्रों या उपयोगकर्ताओं के बीच निरंतरता की आवश्यकता है।
तथ्यों को एक बाहरी मेमोरी लेयर (वेक्टर DB, की-वैल्यू स्टोर, फाइल) में स्टोर करें। RAG के माध्यम से प्रासंगिक यादें पुनर्प्राप्त करें और प्रत्येक टर्न में सिस्टम प्रॉम्प्ट में इंजेक्ट करें।
टीम हर LLM फीचर के लिए एजेंटिक आर्किटेक्चर को डिफ़ॉल्ट मानती है।
एजेंटों का उपयोग न करें जब एक सिंगल प्रॉम्प्ट + संरचित आउटपुट पर्याप्त हो। एजेंट विलंबता, लागत और विफलता मोड जोड़ते हैं। एजेंटिक लूप्स को उन कार्यों के लिए आरक्षित रखें जिनके लिए पुनरावृति या टूल के उपयोग की आवश्यकता होती है।
जटिल तर्क कार्य के लिए उत्तर से पहले अधिक आंतरिक विचार-विमर्श की आवश्यकता होती है।
budget_tokens पैरामीटर के साथ विस्तारित सोच को सक्षम करें। मॉडल प्रतिक्रिया देने से पहले एक थिंकिंग ब्लॉक का उपयोग करता है, जिससे मल्टी-स्टेप समस्याओं पर सटीकता में सुधार होता है।
क्यों: विस्तारित सोच गुणवत्ता के लिए विलंबता का व्यापार करती है। budget_tokens को कार्य जटिलता के अनुपात में सेट करें; लागत को नियंत्रित करने के लिए इसे सीमित करें।
टूल कॉल एक त्रुटि लौटाता है; एजेंट को शालीनता से ठीक होना चाहिए।
त्रुटि को is_error: true के साथ tool_result के रूप में लौटाएँ। मॉडल विफलता को देखता है और सुधारे गए मापदंडों के साथ फिर से प्रयास कर सकता है, एक वैकल्पिक टूल आज़मा सकता है, या उपयोगकर्ता को विफलता समझा सकता है।
एक एजेंटिक लूप के दौरान क्षणिक API विफलताएँ (429, 529)।
जिटर के साथ एक्सपोनेंशियल बैकऑफ लागू करें। 429 (दर सीमा) पर, retry-after हेडर का सम्मान करें। 529 (ओवरलोड) पर, अधिक देर तक बैक ऑफ करें। 400-क्लास त्रुटियों को कभी भी आँख बंद करके दोबारा प्रयास न करें।
यह मापना कि क्या एक एजेंटिक सिस्टम वास्तव में समय के साथ बेहतर होता है।
एक इवैल सूट बनाएँ: इनपुट-आउटपुट जोड़े को परिभाषित करें, एजेंट चलाएँ, आउटपुट को स्कोर करें (सटीक मिलान, LLM-as-a-judge, मानव समीक्षा)। प्रति रिलीज़ पास दर को ट्रैक करें।
क्यों: इवैल के बिना, प्रॉम्प्ट ट्वीक अनुमान हैं। रिग्रेशन डिटेक्शन के लिए स्वचालित, दोहराने योग्य स्कोरिंग की आवश्यकता होती है।
एजेंट पहले पास में निम्न-गुणवत्ता वाला आउटपुट उत्पन्न करता है।
एक रिफ्लेक्शन स्टेप जोड़ें: उत्तर उत्पन्न करने के बाद, मॉडल को अपने स्वयं के आउटपुट की आलोचना करने और उसे संशोधित करने के लिए प्रॉम्प्ट करें। एक अलग संदेश टर्न या विस्तारित सोच का उपयोग करें।
एजेंटिक वर्कफ़्लो अपरिवर्तनीय क्रियाएँ (संसाधन हटाना, ईमेल भेजना) करता है।
विनाशकारी संचालन से पहले एक चेकपॉइंट डालें। उपयोगकर्ता को नियोजित कार्रवाई प्रस्तुत करें, अनुमोदन की प्रतीक्षा करें, फिर निष्पादित करें। ऑडिट के लिए निर्णय लॉग करें।
Claude कोड कॉन्फ़िगरेशन और वर्कफ़्लो
एक monorepo में कई CLAUDE.md फाइलें; यह स्पष्ट नहीं है कि कौन सी प्राथमिकता लेती है।
तीन टियर: ~/.claude/CLAUDE.md (उपयोगकर्ता), project-root CLAUDE.md (प्रोजेक्ट), workspace-child CLAUDE.md (वर्कस्पेस)। सभी विलय कर दिए जाते हैं; वर्कस्पेस प्रोजेक्ट को ओवरराइड करता है और प्रोजेक्ट उपयोगकर्ता को ओवरराइड करता है।
टीम /my-command के रूप में इनवोक किए गए पुनः प्रयोज्य प्रॉम्प्ट चाहती है।
प्रॉम्प्ट टेम्पलेट वाली एक .claude/commands/<name>.md फाइल बनाएँ। /<name> के साथ इनवोक करें। उपयोगकर्ता इनपुट के लिए $ARGUMENTS का उपयोग करें। प्रोजेक्ट-स्कोप किए गए कमांड रेपो में रहते हैं।
Claude द्वारा किसी फाइल को संपादित करने के बाद स्वचालित रूप से एक linter चलाएँ।
settings.json में एक PostToolUse हुक कॉन्फ़िगर करें जो Write/Edit टूल से मेल खाता हो। टूल पूरा होने के बाद हुक स्क्रिप्ट चलती है; नॉन-जीरो एग्जिट परिवर्तन को ब्लॉक करता है।
Claude Code हर शेल कमांड पर अनुमति के लिए प्रॉम्प्ट करता है; पुनरावृति धीमी हो रही है।
permissions.allow के तहत settings.json में अनुमति सूची पैटर्न का उपयोग करें। तीन मोड: डिफ़ॉल्ट (प्रत्येक के लिए प्रॉम्प्ट), अनुमति सूची (मेल खाने वाले पैटर्न को स्वतः-अनुमोदित करें), और योलो (सभी को स्वतः-अनुमोदित करें - उत्पादन के लिए अनुशंसित नहीं)।
डेवलपर व्यक्तिगत ओवरराइड चाहता है जो रेपो में कमिट न किए गए हों।
settings.json कमिट किया जाता है (टीम डिफ़ॉल्ट)। settings.local.json गिट-इग्नोर किया जाता है (व्यक्तिगत ओवरराइड)। लोकल सेटिंग्स प्रोजेक्ट सेटिंग्स के ऊपर विलय हो जाती हैं।
इंटरैक्टिव टर्मिनल के बिना CI पाइपलाइन में Claude Code चलाना।
हेडलेस मोड में `claude -p "prompt" --output-format json` का उपयोग करें। stdin के माध्यम से इनपुट को पाइप करें, संरचित आउटपुट को पार्स करें। ANTHROPIC_API_KEY को CI सीक्रेट के रूप में सेट करें।
Claude Code को एक कस्टम MCP सर्वर (डेटाबेस, आंतरिक API) तक पहुँच की आवश्यकता है।
कमांड और आर्ग्स के साथ सेटिंग्स.json में mcpServers में सर्वर जोड़ें। Claude Code MCP सर्वर को एक चाइल्ड प्रोसेस के रूप में लॉन्च करता है और स्टार्टअप पर टूल को खोजता है।
Claude Code एक फीचर ब्रांच पर काम कर रहा है जबकि आप मेन पर डेवलप कर रहे हैं।
git वर्कट्री का उपयोग करें। Claude Code वर्कट्री डायरेक्टरी में काम करता है; आपका मेन चेकआउट अछूता रहता है। यह इंडेक्स संघर्षों और स्टैश जगलिंग से बचाता है।
Claude Code परिवर्तन उत्पन्न करता है लेकिन आप स्वच्छ परमाणु कमिट चाहते हैं।
Claude Code फाइल परिवर्तनों को ट्रैक करता है और संदेशों के साथ कमिट बना सकता है। कमिट करने से पहले अंतर की समीक्षा करें। रहस्यों को लीक होने से बचाने के लिए git add -A के बजाय विशिष्ट फाइलों को स्टेजिंग को प्राथमिकता दें।
VS Code या JetBrains से Claude Code का उपयोग करना।
Claude Code एक्सटेंशन इंस्टॉल करें। यह CLI को IDE के अंदर एक पैनल के रूप में एम्बेड करता है, उसी CLAUDE.md, हुक और सेटिंग्स को साझा करता है। टर्मिनल-आधारित और IDE-आधारित सत्र विनिमेय हैं।
कई खंडों वाला लंबा प्रॉम्प्ट; मॉडल निर्देशों को डेटा के साथ भ्रमित करता है।
खंडों को XML टैग्स में लपेटें: <instructions>, <context>, <examples>। Claude को XML सीमाओं को संरचनात्मक सीमांकक के रूप में सम्मान करने के लिए प्रशिक्षित किया जाता है।
सभी टर्न में लगातार व्यवहार (टोन, बाधाएं, पर्सना) को परिभाषित करना।
अपरिवर्तनीय निर्देशों को सिस्टम प्रॉम्प्ट में रखें। इसे संक्षिप्त रखें: भूमिका, बाधाएं, आउटपुट प्रारूप। उपयोगकर्ता संदेश प्रति-टर्न संदर्भ ले जाते हैं; सिस्टम सत्र-व्यापी नियम ले जाता है।
मॉडल को अपने उत्तर को एक विशिष्ट उपसर्ग (जैसे, JSON ओपनिंग ब्रेस) के साथ शुरू करने के लिए बाध्य करें।
संदेश सरणी के अंत में एक आंशिक सहायक संदेश जोड़ें। Claude वहीं से जारी रहता है जहाँ आपने छोड़ा था। आउटपुट प्रारूप को लागू करने के लिए उपयोगी।
विस्तृत निर्देशों के बावजूद मॉडल आउटपुट प्रारूप असंगत है।
वास्तविक क्वेरी से पहले उपयोगकर्ता/सहायक टर्न जोड़े के रूप में 2-3 कुछ-शॉट उदाहरण जोड़ें। उदाहरण गद्य निर्देशों की तुलना में प्रारूप, टोन और तर्क शैली को अधिक विश्वसनीय रूप से एंकर करते हैं।
मॉडल मल्टी-स्टेप लॉजिक समस्याओं पर तर्क चरणों को छोड़ देता है।
"स्टेप बाय स्टेप सोचें" के साथ प्रॉम्प्ट करें या विस्तारित सोच का उपयोग करें। उत्पादन के लिए, आउटपुट को साफ रखने के लिए दृश्यमान चेन-ऑफ-थॉट के लिए प्रॉम्प्ट करने के बजाय विस्तारित सोच (budget_tokens) का उपयोग करें।
नियतात्मक कार्यों (वर्गीकरण, निष्कर्षण) के लिए तापमान=0। रचनात्मक लेखन के लिए तापमान=0.5-0.7। अधिकतम विविधता के लिए तापमान=1.0। ध्यान दें: विस्तारित सोच के लिए तापमान=1 की आवश्यकता होती है।
मॉडल से गारंटीकृत वैध JSON आउटपुट की आवश्यकता है।
input_schema के रूप में वांछित JSON स्कीमा के साथ एक टूल को परिभाषित करें। उस टूल को मजबूर करने के लिए tool_choice सेट करें। मॉडल tool_use ब्लॉक में संरचित JSON लौटाता है, जो स्कीमा के विरुद्ध मान्य होता है।
उपयोगकर्ता-उन्मुख ऐप को लो टाइम-टू-फर्स्ट-टोकन की आवश्यकता है।
Messages API पर stream=true का उपयोग करें। सर्वर-भेजी गई घटनाओं को वृद्धिशील रूप से संसाधित करें: content_block_start, content_block_delta, message_stop। टोकन को उनके आने पर प्रदर्शित करें।
हजारों प्रॉम्प्ट को संसाधित करना जहां विलंबता महत्वपूर्ण नहीं है।
मैसेज बैचेस API का उपयोग करें। प्रति बैच 100k अनुरोध तक सबमिट करें। परिणाम 24 घंटे के भीतर 50% लागत में कमी के साथ आते हैं। पूर्णता के लिए पोल करें या एक वेबहुक का उपयोग करें।
स्कैन किए गए दस्तावेज़ों या छवियों से डेटा निकालना।
उपयोगकर्ता संदेश में छवियों को base64 कंटेंट ब्लॉक (type: image) या PDF पेजों (type: document) के रूप में पास करें। Claude प्रति अनुरोध 20 MB तक संसाधित करता है। टेक्स्ट-हेवी डॉक्स के लिए स्क्रीनशॉट की तुलना में नेटिव PDF को प्राथमिकता दें।
एक वर्कलोड के लिए Opus, Sonnet और Haiku के बीच चयन करना।
Opus: उच्चतम क्षमता, जटिल तर्क, एजेंटिक कार्य। Sonnet: संतुलित प्रदर्शन/लागत, सामान्य उत्पादन उपयोग। Haiku: सबसे तेज़ और सबसे सस्ता, वर्गीकरण, रूटिंग, सरल निष्कर्षण।
बार-बार की गई कॉल एक ही लंबे सिस्टम प्रॉम्प्ट को साझा करती हैं; लागत कम करना चाहते हैं।
कैश करने योग्य सामग्री को cache_control: { type: "ephemeral" } के साथ चिह्नित करें। कैश किए गए उपसर्गों को 5 मिनट तक (हिट पर स्वतः-विस्तारित) कॉल के बीच पुन: उपयोग किया जाता है। लिखने की लागत 25% अधिक है; पढ़ने की लागत 90% कम है।
Claude मैसेजेस API के लिए एक टूल को परिभाषित करना।
प्रत्येक टूल का नाम, विवरण और input_schema (JSON स्कीमा) होता है। विवरण Claude को बताता है कि इसका उपयोग कब करना है; स्कीमा मापदंडों को मान्य करता है। विवरण को एक्शन-उन्मुख और संक्षिप्त रखें।
टूल सफलतापूर्वक निष्पादित हुआ; परिणाम Claude को लौटाने की आवश्यकता है।
role: "user" और एक tool_result कंटेंट ब्लॉक के साथ एक उपयोगकर्ता संदेश भेजें। सहसंबद्ध करने के लिए tool_use_id शामिल करें। डेटा को टेक्स्ट या संरचित सामग्री के रूप में लौटाएँ; पेलोड को 100k टोकन से कम रखें।
एजेंट को एक साथ तीन स्वतंत्र स्रोतों से डेटा प्राप्त करने की आवश्यकता है।
Claude एक ही प्रतिक्रिया में कई tool_use ब्लॉक उत्सर्जित कर सकता है। उन्हें समानांतर में निष्पादित करें, फिर सभी tool_result ब्लॉकों को एक उपयोगकर्ता संदेश में लौटाएँ। राउंड ट्रिप कम करता है।
तीन भूमिकाएँ: होस्ट (Claude Code जैसे एप्लिकेशन), क्लाइंट (प्रति सर्वर प्रोटोकॉल हैंडलर), सर्वर (टूल/संसाधन/प्रॉम्प्ट को उजागर करता है)। क्लाइंट सर्वर के साथ 1:1 कनेक्शन बनाए रखते हैं।
यह चुनना कि एक MCP क्लाइंट सर्वर से कैसे जुड़ता है।
stdio: स्थानीय प्रक्रिया, सबसे सरल सेटअप। SSE: HTTP-आधारित, लेगेसी। स्ट्रीम करने योग्य HTTP: रिमोट सर्वर के लिए वर्तमान मानक, रिज़्यूमेबिलिटी और सर्वर-आरंभिक संदेशों का समर्थन करता है।
संसाधन: केवल-पढ़ने योग्य डेटा (फाइलें, DB पंक्तियाँ) जिसे क्लाइंट खींचता है। टूल: मॉडल द्वारा इनवोक की जाने वाली क्रियाएँ (लिखना, गणना करना, क्वेरी करना)। प्रॉम्प्ट: पुनः प्रयोज्य प्रॉम्प्ट टेम्पलेट जिसे उपयोगकर्ता चुनता है। टूल मॉडल-नियंत्रित होते हैं; संसाधन एप्लिकेशन-नियंत्रित होते हैं।
आंतरिक APIs को उजागर करने के लिए एक कस्टम MCP सर्वर बनाना।
MCP SDK (TypeScript या Python) का उपयोग करें। इनपुट स्कीमा के साथ टूल हैंडलर लागू करें। server.tool() के माध्यम से रजिस्टर करें। ट्रांसपोर्ट: स्थानीय के लिए stdio, रिमोट के लिए स्ट्रीम करने योग्य HTTP।
एजेंट को एक GUI एप्लिकेशन (क्लिक करना, टाइप करना, स्क्रीनशॉट) के साथ इंटरैक्ट करना चाहिए।
कंप्यूटर उपयोग टूल सक्षम करें: computer_20250124 (स्क्रीनशॉट + माउस + कीबोर्ड), text_editor_20250124, bash_20250124। मॉडल स्क्रीनशॉट प्राप्त करता है और समन्वय-आधारित क्रियाएँ उत्सर्जित करता है।
मॉडल को हमेशा एक विशिष्ट टूल को कॉल करना चाहिए बजाय टेक्स्ट के साथ प्रतिक्रिया देने के।
tool_choice को { type: "tool", name: "my_tool" } पर सेट करें। मॉडल को उस टूल को कॉल करने के लिए मजबूर किया जाता है। किसी भी टूल कॉल की आवश्यकता के लिए type: "any" का उपयोग करें, या मॉडल को निर्णय लेने के लिए type: "auto" (डिफ़ॉल्ट) का उपयोग करें।
एप्लिकेशन बातचीत के बीच में संदर्भ सीमा तक पहुँच जाता है।
Claude मॉडल 200k टोकन का समर्थन करते हैं। response.usage के माध्यम से उपयोग की निगरानी करें। जब सीमा के करीब पहुँच रहे हों, तो पुराने टर्न को सारांशित करें या छोटा करें। संदेशों को कभी भी चुपचाप न छोड़ें।
एक 150-पृष्ठ के दस्तावेज़ को संसाधित करना जो अधिकांश संदर्भ विंडो को भरता है।
दस्तावेज़ को प्रॉम्प्ट में जल्दी रखें (सिस्टम के बाद)। प्रश्नों को अंत में रखें। फॉलो-अप पर दोबारा भेजने से बचने के लिए प्रॉम्प्ट कैशिंग का उपयोग करें। मल्टी-डॉक कार्यों के लिए, प्रासंगिक चंक्स का चयन करने के लिए RAG का उपयोग करें।
नॉलेज बेस संदर्भ में फिट होने के लिए बहुत बड़ा है; मॉडल को क्वेरी समय पर पहुँच की आवश्यकता है।
दस्तावेज़ों को एक वेक्टर स्टोर में एम्बेड और अनुक्रमित करें। क्वेरी समय पर, शीर्ष-k चंक्स पुनर्प्राप्त करें, उपयोगकर्ता संदेश में इंजेक्ट करें। पता लगाने की क्षमता के लिए आउटपुट में स्रोत दस्तावेज़ों का हवाला दें।
मॉडल आत्मविश्वास से गलत तथ्य बताता है।
प्रदान किए गए संदर्भ (RAG) में प्रतिक्रियाओं को आधार दें। मॉडल को यह कहने का निर्देश दें कि जब सबूत अपर्याप्त हों तो "मुझे नहीं पता"। उद्धरणों का उपयोग करें। तथ्यात्मक दावों को स्रोत दस्तावेज़ों के विरुद्ध प्रोग्रामेटिक रूप से मान्य करें।
एप्लिकेशन को 429 (दर सीमित) या 529 (ओवरलोड) प्रतिक्रियाएँ प्राप्त होती हैं।
429: आपने अपनी टियर दर सीमा को हिट कर दिया है। पीछे हटें और फिर से प्रयास करें; retry-after का सम्मान करें। 529: Anthropic API ओवरलोड है। अधिक देर तक पीछे हटें। दोनों क्षणिक हैं। 400 या 401 को कभी भी फिर से प्रयास न करें।
मासिक API खर्च अपेक्षित से अधिक है।
बार-बार के उपसर्गों के लिए प्रॉम्प्ट कैशिंग का उपयोग करें (90% रीड डिस्काउंट)। सरल कार्यों को Haiku पर रूट करें। एसिंक वर्कलोड के लिए बैच API का उपयोग करें (50% डिस्काउंट)। प्रति एंडपॉइंट टोकन उपयोग की निगरानी करें। अनावश्यक संदर्भ को ट्रिम करें।
हर मैसेजेस API प्रतिक्रिया में usage.input_tokens, usage.output_tokens, और (यदि कैश किया गया है) usage.cache_read_input_tokens शामिल होते हैं। इन्हें प्रति कॉल लॉग करें, एंडपॉइंट द्वारा एकत्रित करें, बजट अलर्ट सेट करें।