सबएजेंट्स और समानांतर एजेंट
- सबएजेंट क्या है — अपनी संदर्भ विंडो और एक स्कोप किए गए टूलसेट वाला एक अलग Claude
- सौंपने के तीन कारण: संदर्भ की रक्षा करना, विशेषज्ञ बनाना, और समानांतर करना
- अंतर्निहित एजेंट्स जिन्हें Claude पहले से सौंपता है: Explore, Plan, General-purpose
- अपना खुद का सबएजेंट .claude/agents/ में कैसे परिभाषित करें और description + tools दो भार-वहन करने वाली फ़ील्ड्स क्यों हैं
- समानांतर कब न करें, और यह API एजेंट्स और फ़्लीट-स्केल वर्कफ़्लो से कैसे जुड़ता है
एक सबएजेंट एक अलग Claude इंस्टेंस है जिसकी अपनी संदर्भ विंडो और टूल्स का एक स्कोप किया गया सेट होता है, जिसे आपका मुख्य सत्र काम का एक हिस्सा सौंपता है। यह अपना पूरा ट्रांसक्रिप्ट नहीं, बल्कि एक परिणाम वापस रिपोर्ट करता है — ताकि मुख्य सत्र केंद्रित और अव्यवस्था-रहित रहे।
क्यों सौंपें
तीन काम, एक टूल। हर बार जब आप किसी सबएजेंट तक पहुँचें तो इन्हें ध्यान में रखें:
- मुख्य संदर्भ की रक्षा करें। एक शोध गोता या एक बड़ी फ़ाइल स्वीप हज़ारों टोकन जला सकती है; इसे एक सबएजेंट में करें और केवल निष्कर्ष लौटता है।
- विशेषज्ञ बनाएँ। एक सबएजेंट को एक अनुकूलित सिस्टम प्रॉम्प्ट और केवल वे टूल्स दें जिनकी इसे ज़रूरत है (जैसे एक केवल-पठन समीक्षक)।
- समानांतर करें। स्वतंत्र उप-कार्यों को एक साथ चलाएँ — जैसे, तीन मॉड्यूल का एक साथ अन्वेषण।
अंतर्निहित एजेंट्स जो आपके पास पहले से हैं
अपने खुद के परिभाषित करने से पहले, यह जान लें कि Claude Code उन सबएजेंट्स के साथ आता है जिन्हें यह स्वचालित रूप से सौंपता है:
| अंतर्निहित | यह क्या करता है |
|---|---|
| Explore | एक तेज़, केवल-पठन एजेंट (एक सस्ते मॉडल पर चलता है) जो किसी कोडबेस को छुए बिना खोजने और समझने के लिए है। |
| Plan | plan मोड के दौरान संदर्भ इकट्ठा करता है ताकि शोध मुख्य, केवल-पठन वार्तालाप से बाहर रहे। |
| General-purpose | एक पूर्ण-टूल एजेंट जो जटिल, बहु-चरणीय काम के लिए है जो अन्वेषण और परिवर्तनों को मिलाता है। |
आप इन्हें शायद ही कभी नाम से बुलाते हैं; जब कोई कार्य उपयुक्त होता है तो Claude इन तक पहुँचता है। कस्टम सबएजेंट्स उन कर्मियों के लिए हैं जिन्हें आप बार-बार समान निर्देशों के साथ पुनः बनाते रहते हैं।
अपने खुद के परिभाषित करना
एक सबएजेंट YAML frontmatter वाली एक Markdown फ़ाइल है (बॉडी इसका सिस्टम प्रॉम्प्ट बन जाता है)। केवल name और description आवश्यक हैं; बाकी सब वैकल्पिक है। इसे प्रति-प्रोजेक्ट .claude/agents/ में संग्रहीत करें (इसे git में चेक इन करें ताकि टीम इसे साझा करे) या प्रति-उपयोगकर्ता ~/.claude/agents/ में। इसे /agents कमांड से या हाथ से बनाएँ।
- प्रति-प्रोजेक्ट .claude/agents/ में (इसे कमिट करें ताकि टीम इसे साझा करे) या प्रति-उपयोगकर्ता ~/.claude/agents/ में।
- /agents कमांड का उपयोग करें, या हाथ से YAML frontmatter वाली एक Markdown फ़ाइल लिखें।
- केवल name और description आवश्यक हैं। बाकी सब वैकल्पिक है।
- frontmatter के नीचे की Markdown बॉडी सबएजेंट का सिस्टम प्रॉम्प्ट बन जाती है।
- एक tools allowlist जोड़ें ताकि सबएजेंट केवल वही कर सके जो उसका काम माँगता है।
एक शुरुआती code-reviewer सबएजेंट:
code-reviewer सबएजेंट (.claude/agents/code-reviewer.md)
--- name: code-reviewer description: Expert code reviewer. Use proactively after code changes. tools: Read, Glob, Grep model: sonnet --- You are a senior reviewer. Read the changed files, then report only high-confidence issues: correctness bugs, security risks, and missing tests. For each, show the file:line, the problem, and a concrete fix. Do not restate what the code does. Never edit files.
दो चीज़ें एक सबएजेंट को अच्छा बनाती हैं:
descriptionही रूटिंग संकेत है। Claude इसे पढ़कर तय करता है कि कब सौंपना है, इसलिए इसे एक ट्रिगर की तरह लिखें — "Use proactively after code changes" इसे स्वचालित रूप से खींच लेता है; एक अस्पष्ट "helps with code" ऐसा नहीं करेगा। यह फ़ाइल की सबसे अधिक प्रभाव वाली एकमात्र पंक्ति है।- टूल्स का दायरा कसकर रखें।
toolsफ़ील्ड एक allowlist है (या denylist के रूप मेंdisallowedToolsका उपयोग करें)। एक समीक्षक जो केवलRead, Glob, Grepकर सकता है वह गलती से आपके कोड को संपादित नहीं कर सकता — यह प्रतिबंध एक गारंटी है, संकेत नहीं।toolsको छोड़ दें और सबएजेंट को वह सब कुछ विरासत में मिलता है जो मुख्य सत्र के पास है।
व्यावहारिक उदाहरण: एक समानांतर समीक्षा फ़ैन-आउट
आपने तीन मॉड्यूल को छूने वाली एक फ़ीचर पूरी कर ली है और प्रत्येक की एक तेज़, स्वतंत्र जाँच चाहते हैं। अपने मुख्य सत्र में:
एक साथ तीन समीक्षकों को फ़ैन आउट करें
Review the changes in auth/, billing/, and api/ — use the code-reviewer subagent on each, in parallel.
Claude एक साथ तीन code-reviewer इंस्टेंस उत्पन्न करता है। प्रत्येक केवल अपना मॉड्यूल पढ़ता है, फ़ाइल सामग्री पर अपना खुद का संदर्भ जलाता है, और एक छोटी निष्कर्ष सूची लौटाता है। आपका मुख्य सत्र कभी कच्चे diffs नहीं देखता — केवल तीन साफ़-सुथरी रिपोर्ट्स — और पूरी चीज़ तीनों के योग के बजाय लगभग सबसे धीमी एकल समीक्षा के समय में पूरी हो जाती है। चूँकि समीक्षक केवल-पठन है, एक साथ काम करने वाले तीन एजेंट किसी write पर टकरा नहीं सकते।
समानांतर कब न करें
- निर्भर चरण अनुक्रमिक होने चाहिए — वहाँ काम न बाँटें जहाँ चरण B को चरण A के आउटपुट की ज़रूरत है।
- साझा फ़ाइल लेखन टकरा सकते हैं; इन्हें पृथक करें (देखें Git Worktrees) या क्रमबद्ध करें।
- समन्वय का अतिरिक्त भार छोटे कार्यों के लिए लाभ से अधिक हो सकता है। तभी सौंपें जब उप-कार्य पर्याप्त बड़ा और स्वतंत्र हो।
टकराने वाले लेखन को पृथक करने के लिए, देखें Git Worktrees।
सबएजेंट बनाम API/SDK "एजेंट्स"
यह पृष्ठ Claude Code के अंतर्निहित प्रत्यायोजन के बारे में है। प्रोग्रामेटिक रूप से अपने स्वयं के एजेंट बनाना API पर एजेंट बनाना है। मानसिक मॉडल — एक लक्ष्य, एक टूल लूप, पृथक संदर्भ — समान है।
आम गलतियाँ
जब कुछ एजेंट पर्याप्त न हों
प्रति टर्न मुट्ठी भर सबएजेंट्स को सौंपना इस पृष्ठ की रोज़ी-रोटी है। जब किसी कार्य को दर्जनों या सैकड़ों एजेंट्स की ज़रूरत हो — एक कोडबेस-व्यापी स्वीप, एक 500-फ़ाइल माइग्रेशन, कई स्रोतों में क्रॉस-चेक किया गया शोध — तो ऑर्केस्ट्रेशन एक एकल संदर्भ विंडो से बड़ा हो जाता है। यही डायनेमिक वर्कफ़्लो और ultracode के लिए है: Claude एक स्क्रिप्ट लिखता है जो योजना को रखती है, और एक रनटाइम एजेंट्स को पृष्ठभूमि में फ़ैन आउट करता है।
खुद को परखें
0/3- एक सबएजेंट अपनी संदर्भ विंडो और स्कोप किए गए टूल्स वाला एक अलग Claude है; यह एक परिणाम लौटाता है, अपना ट्रांसक्रिप्ट नहीं।
- मुख्य संदर्भ की रक्षा करने, विशेषज्ञ बनाने, या स्वतंत्र काम को समानांतर करने के लिए सौंपें।
- Claude पहले से Explore, Plan, और General-purpose अंतर्निहित एजेंट्स के साथ आता है और उन तक स्वचालित रूप से पहुँचता है।
- name और description एकमात्र आवश्यक frontmatter फ़ील्ड्स हैं — और description वह रूटिंग संकेत है जो तय करता है कि Claude कब सौंपता है।
- एक tools allowlist इरादे को एक गारंटी में बदल देती है; केवल स्वतंत्र उप-कार्यों को फ़ैन आउट करें, और साझा लेखन को पृथक करें।
आगे
- डायनेमिक वर्कफ़्लो और ultracode — फ़्लीट स्केल पर सबएजेंट्स को ऑर्केस्ट्रेट करें
- एक बहु-सबएजेंट वर्कफ़्लो डिज़ाइन करें (वॉकथ्रू)
- संदर्भ प्रबंधन
- Git Worktrees