बहु-चरणीय विघटन
हर file पर स्थानीय चरण, फिर सभी files के एकीकरण का चरण।
बहु-चरणीय विघटन, CoddyKit पर Claude Architect का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Claude Architect सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Claude Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
एक चरण पर्याप्त क्यों नहीं है
जब आप Claude से कई फ़ाइलों में फैले चेंजसेट की एक ही चरण में समीक्षा करने को कहते हैं, तो ध्यान बँट जाता है। मॉडल अपना सीमित ध्यान एक साथ हर फ़ाइल पर फैलाता है, इसलिए फ़ाइल-विशिष्ट सूक्ष्म बग छूट जाते हैं और वास्तविक क्रॉस-फ़ाइल समस्याएँ दब जाती हैं।
आर्किटेक्ट का समाधान है बहु-चरणीय विघटन: पहले कार्य को प्रति-फ़ाइल स्थानीय चरण में बाँटें, फिर अलग क्रॉस-फ़ाइल एकीकरण चरण करें। प्रत्येक चरण का एक स्पष्ट कार्य होता है, इसलिए ध्यान केंद्रित रहता है।
दो अलग प्रश्न
दोनों चरण मूल रूप से अलग प्रश्न पूछते हैं, और इसी कारण उन्हें मिलाना नहीं चाहिए:
- स्थानीय चरण: "क्या THIS फ़ाइल आंतरिक रूप से सही है?"—तर्क संबंधी त्रुटियाँ, null हैंडलिंग, नामकरण, निष्क्रिय कोड और फ़ाइल की अपनी सीमा के भीतर की शैली।
- एकीकरण चरण: "क्या ये फ़ाइलें TOGETHER काम करती हैं?"—बेमेल फ़ंक्शन हस्ताक्षर, टूटे हुए अनुबंध और मॉड्यूल सीमाओं के पार असंगत धारणाएँ।
एकल-चरण समीक्षा दोनों प्रश्नों को एक ही बँटे हुए प्रॉम्प्ट में ठूँस देती है। दो चरण प्रत्येक प्रश्न पर ध्यान बनाए रखते हैं।
चरण 1 — फ़ाइलें खोजें
स्थानीय चरण खोज से शुरू होता है। Claude Code के अंतर्निर्मित उपकरणों का क्रमिक रूप से उपयोग करें: पैटर्न के आधार पर फ़ाइलें खोजने के लिए Glob, फिर प्रत्येक फ़ाइल को अलग-अलग पढ़ने के लिए Read।
प्रत्येक अनुरोध में एक फ़ाइल की समीक्षा करने से संदर्भ छोटा और ध्यान केंद्रित रहता है। यह पूरे अंतर को एक ही प्रॉम्प्ट में डालने के ठीक विपरीत है।
# Discover changed source files, review each on its own
glob '**/*.py' | grep -Ff <(git diff --name-only main)
# Then, per file, a focused review request:
claude -p "Review ONLY src/billing/refund.py for local correctness: \
logic errors, null handling, edge cases. Do not assume anything \
about other files." --output-format jsonएक फ़ाइल, एक अनुरोध
स्थानीय चरण में Claude को स्पष्ट और सख्त सीमा दें: केवल इस फ़ाइल की समीक्षा करें और उसे अपने संदर्भ में परखें। "पूरी सावधानी से करें" जैसे अस्पष्ट निर्देश अपेक्षा के अनुसार काम नहीं करते; स्पष्ट मानदंड बेहतर परिणाम देते हैं।
ठीक-ठीक बताएँ कि किसे निष्कर्ष माना जाए, ताकि मॉडल उन फ़ाइलों के बारे में अटकलों में न भटके जिन्हें उसने देखा ही नहीं है।
from anthropic import Anthropic
client = Anthropic()
def local_pass(path, source):
return client.messages.create(
model="claude-sonnet-4-5",
max_tokens=1500,
system=("You review ONE file in isolation. Flag a finding ONLY "
"when the code is internally wrong, never on guesses "
"about unseen files."),
messages=[{"role": "user",
"content": f"File: {path}\n\n{source}"}],
)प्रत्येक फ़ाइल के लिए संरचित निष्कर्ष
प्रत्येक स्थानीय चरण से संरचित आउटपुट निकलवाएँ, ताकि अगले चरण के लिए निष्कर्षों को मशीन द्वारा आसानी से मिलाया जा सके। सही संरचना वाला JSON सुनिश्चित करने के लिए स्कीमा-आधारित टूल के साथ tool_choice का उपयोग करें।
महत्त्वपूर्ण: किसी फ़ील्ड को required केवल तभी चिह्नित करें जब वह हमेशा मौजूद हो। जो फ़ील्ड अनुपस्थित हो सकती है, उसे कभी आवश्यक न बनाएँ—स्कीमा पूरा करने के लिए मॉडल उसका मान गढ़ देगा।
tools = [{
"name": "report_findings",
"description": "Record local-pass findings for a single file.",
"input_schema": {
"type": "object",
"properties": {
"file": {"type": "string"},
"findings": {"type": "array", "items": {"type": "string"}},
},
"required": ["file", "findings"], # always present
},
}]
# force structured output -> no free-text parsing
resp = client.messages.create(model="claude-sonnet-4-5", max_tokens=1500,
tools=tools, tool_choice={"type": "tool", "name": "report_findings"},
messages=[{"role": "user", "content": file_blob}])चरण 2 — क्रॉस-फ़ाइल एकीकरण
जब प्रत्येक फ़ाइल स्थानीय समीक्षा में सफल हो जाए, तब अलग एकीकरण चरण चलाएँ। अब लक्ष्य बदल जाता है: आप जानबूझकर संबंधित फ़ाइलों को साथ लोड करते हैं और पूछते हैं कि क्या उनके अनुबंध मेल खाते हैं।
एकीकरण की सामान्य त्रुटियाँ:
- कॉलर तीन तर्क भेजता है, जबकि कैली अब चार की अपेक्षा करता है।
- एक मॉड्यूल "not found" पर
Noneलौटाता है, जबकि उपभोक्ता उसे खाली सूची मानता है। - किसी सहोदर फ़ाइल में बदला हुआ enum मान अभी भी संदर्भित हो रहा है।
जोड़ों का पता लगाना
एकीकरण चरण क्रमिक जाँच जैसा ही होता है। सीमाओं से शुरू करें और कनेक्शन का अनुसरण करें: बदले हुए फ़ंक्शन का नाम खोजने के लिए Grep से हर कॉल स्थान ढूँढें, फिर उन उपभोक्ताओं को Read से पढ़ें।
इस तरह एकीकरण चरण फ़ाइलों के बीच के जोड़ों पर ध्यान केंद्रित करता है—ठीक वही स्थान जिसे एकल-चरण समीक्षा अक्सर छोड़ देती है।
# Find everyone who calls the changed function, then read them
claude -p "Cross-file pass. process_refund() signature changed in \
refund.py. Grep its call sites, Read each consumer, and report \
ONLY mismatched arguments, return-type assumptions, or broken \
contracts across files." --output-format jsonक्रम क्यों महत्त्वपूर्ण है
स्थानीय चरण को एकीकरण से पहले चलाएँ, उलटे क्रम में नहीं। यदि कोई फ़ाइल आंतरिक रूप से टूटी हुई है, तो उसके बारे में एकीकरण निष्कर्ष शोर मात्र होंगे—आप ऐसे अनुबंध असंगतता को चिह्नित करेंगे जो स्थानीय बग ठीक होते ही समाप्त हो जाती।
पहले प्रत्येक फ़ाइल को अलग-अलग साफ़ करें; फिर एकीकरण चरण यह मान सकता है कि हर फ़ाइल स्थानीय रूप से सही है और केवल इस बात पर ध्यान दे सकता है कि वे एक-दूसरे के साथ कैसे फिट होती हैं।
निश्चित पाइपलाइन, तदर्थ प्रक्रिया नहीं
क्योंकि चरण ज्ञात और क्रमिक हैं—खोज, स्थानीय चरण, एकीकरण चरण, रिपोर्ट—इस कार्य के लिए निश्चित पाइपलाइन (प्रॉम्प्ट चेनिंग) उपयुक्त है, न कि अनुकूली, खुले-छोर वाली खोज।
अनुकूली विघटन का उपयोग वास्तविक रूप से खुली जाँचों के लिए रखें ("यह अस्थिर क्यों है?")। बहु-चरणीय समीक्षा का आकार पहले से परिभाषित है, इसलिए उस आकार को स्पष्ट रूप से लागू करें।
def review_changeset(files):
# Stage 1: local pass, one request per file
local = {f: local_pass(f, read(f)) for f in files}
# Stage 2: integration pass over the seams
integration = cross_file_pass(files, local)
return merge(local, integration)इसे अलग-थलग सत्र में चलाएँ
प्रत्येक समीक्षा चरण को कोड बनाने वाले सत्र से अलग, नए और अलग-थलग सत्र में चलाएँ। उसी सत्र में स्वयं की समीक्षा करने से स्वतंत्र समीक्षा बेहतर होती है: लेखक अपनी तर्क-प्रक्रिया से बँधा रहता है और अपनी धारणाओं को चुनौती नहीं देता।
CI में इसे -p / --print और --output-format json के साथ गैर-संवादात्मक रूप से चलाएँ, ताकि परिणाम पार्स किए जा सकें। दोबारा चलाते समय पिछले परिणाम दें और केवल नई या अभी तक ठीक न की गई समस्याओं की रिपोर्ट करें।
# CI: isolated, non-interactive, machine-readable
claude -p "$LOCAL_PASS_PROMPT" --output-format json > local.json
claude -p "$INTEGRATION_PROMPT" --output-format json > integ.json
# fresh process each pass -> no generation-context biasउप-एजेंटों के साथ विस्तार
बड़े चेंजसेट के लिए स्थानीय चरण को हब-और-स्पोक पैटर्न में उप-एजेंटों के बीच बाँटें: समन्वयक फ़ाइलों को समानांतर कार्यकर्ताओं में बाँटता है, फिर परिणाम लौटने पर स्वयं एकीकरण चरण चलाता है।
नियम याद रखें: उप-एजेंट समन्वयक का इतिहास विरासत में नहीं लेते। प्रत्येक उप-एजेंट के प्रॉम्प्ट में उसकी आवश्यकता वाला पूरा संदर्भ स्पष्ट रूप से होना चाहिए। एक ही उत्तर में कई Task कॉल समानांतर चलती हैं।
# Coordinator: parallel local passes, then one integration pass
# (each Task gets full context — subagents inherit no history)
Task(subagent="reviewer", prompt=local_prompt_for("refund.py"))
Task(subagent="reviewer", prompt=local_prompt_for("ledger.py"))
# ...both run in parallel; coordinator aggregates, then integratesत्वरित जाँच
एक आर्किटेक्ट को 9-फ़ाइल वाले पुल अनुरोध की समीक्षा करनी है और उच्चतम गुणवत्ता वाले निष्कर्ष चाहिए। सबसे उपयुक्त विघटन क्या होगा?
पुनरावलोकन
बहु-चरणीय विघटन का सार:
- दो चरण, दो प्रश्न: स्थानीय = क्या प्रत्येक फ़ाइल आंतरिक रूप से सही है; एकीकरण = क्या फ़ाइलें एक साथ काम करती हैं।
- पहले स्थानीय, फिर एकीकरण—टूटी हुई फ़ाइल एकीकरण निष्कर्षों को शोर बना देती है।
- ध्यान केंद्रित रखने के लिए प्रत्येक स्थानीय अनुरोध में एक फ़ाइल; आसानी से मिलाने के लिए संरचित आउटपुट निकालें।
- निश्चित पाइपलाइन (खोज → स्थानीय → एकीकरण → रिपोर्ट), अनुकूली तदर्थ प्रक्रिया नहीं।
- अलग-थलग/नए सत्र उसी सत्र की स्वयं-समीक्षा से बेहतर हैं; CI में
-pऔर--output-format jsonका उपयोग करें। - स्थानीय चरण को समानांतर उप-एजेंटों में विस्तारित करें—प्रत्येक को संदर्भ स्पष्ट रूप से देना आवश्यक है।
एकल-चरण बहु-फ़ाइल समीक्षा एक गलत प्रतिरूप है। विघटन करें, और आपकी समीक्षाएँ केवल लंबी नहीं, बल्कि अधिक सटीक भी होंगी।
एआई शिक्षक के साथ Python सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 26
- पाठ
- 104
अक्सर पूछे जाने वाले प्रश्न
क्या “बहु-चरणीय विघटन” पाठ निःशुल्क है?
हाँ — Claude Architect अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “बहु-चरणीय विघटन” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Claude Architect पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“बहु-चरणीय विघटन” में मैं क्या सीखूँगा?
हर file पर स्थानीय चरण, फिर सभी files के एकीकरण का चरण। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Claude Architect का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Claude Architect शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Claude Architect शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“बहु-चरणीय विघटन” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Claude Architect पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Claude Architect पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- निश्चित पाइपलाइन बनाम अनुकूली विघटन
- बहु-चरणीय विघटन
- सत्र प्रबंधन
- पुराना कॉन्टेक्स्ट और नए सिरे से शुरुआत