Skip to content

Subagents: काम को आउटसोर्स करें, सब कुछ खुद न संभालें

📚 श्रृंखला नेविगेशन: पिछला लेख 22 MCP आपको सिखाता है कि Claude को बाहरी उपकरणों से कैसे जोड़ा जाए ताकि वह डेटाबेस को क्वेरी कर सके और GitHub से जुड़ सके। यह लेख सोच में बदलाव लाता है—यह "उपकरण जोड़ने" के बारे बारे में नहीं है, बल्कि आपको सिखाता है कि काम को आउटसोर्स कैसे करें: एक सब-एजेंट (Subagent), जो एक विशेष सहायक है जिसमें स्वतंत्र संदर्भ, स्वतंत्र अनुमतियां, और एक स्वतंत्र व्यक्तित्व है, और जो काम पूरा होने के बाद केवल निष्कर्ष लौटाता है।

हर कोई कहता है कि subagent शक्तिशाली हैं, Claude Code का "उन्नत गेमप्ले" हैं। जब कई लोगों को पहली बार इस विशेषता के बारे में पता चला, तो वे भी बहुत उत्साहित थे, और वे एक काम को पाँच या छह सब-एजेंट्स में बाँटना चाहते थे ताकि वे एक साथ काम कर सकें, यह सोचकर कि यह "अधिक पेशेवर और अधिक कुशल" है।

लेकिन सच कहूँ तो: ज्यादातर लोगों का शुरुआत से ही चीजों को विभाजित करना गलत है।

इस बात को समझने में कुछ समय लगता है। मैं बाद में विशेष रूप से बताऊंगा कि क्यों—यहाँ पहले निष्कर्ष दिया गया है: सब-एजेंट्स का मतलब यह नहीं है कि "जितने अधिक कार्य होंगे, उतना ही उन्हें विभाजित किया जाना चाहिए", यह एक ऐसा उपकरण है जिसके स्पष्ट अनुप्रयोग परिदृश्य हैं। यदि आप इसका सही उपयोग करते हैं, तो यह चिंता मुक्त है; यदि आप इसे गलत तरीके से उपयोग करते हैं, तो यह धीमा और महंगा दोनों है। "विभाजित करना है या नहीं" इस बारे में सोचना, "कैसे विभाजित करें" सीखने से कहीं अधिक महत्वपूर्ण है।

इस लेख में, मैं आपको न केवल सब-एजेंट्स बनाना और ट्रिगर करना सिखाऊंगा, बल्कि इससे भी महत्वपूर्ण बात यह है कि मैं आपको निर्णय की रेखा स्थापित करने में मदद करूंगा: कब आउटसोर्स करना है, और कब इसे स्वयं करना तेज़ है।

इस लेख को पढ़ने के बाद, आप प्राप्त करेंगे:

  • वास्तव में सब-एजेंट क्या है—स्वतंत्र संदर्भ, स्वतंत्र उपकरण, स्वतंत्र व्यक्तित्व; मुख्य बातचीत से इसके अंतर को एक वाक्य में समझाएं
  • तीन समस्याएं जो यह वास्तव में हल करता है (संदर्भ को अलग करना, कार्यों में विशेषज्ञता, और समानता), और वह प्रति-सहज ज्ञान युक्त जाल: कब विभाजित नहीं करना चाहिए
  • इसे अंतःक्रियात्मक रूप से बनाने के लिए /agents का उपयोग करें, या .claude/agents/name.md कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से लिखें, और प्रत्येक फ़ील्ड का उपयोग किस लिए किया जाता है
  • ट्रिगर करने के दो तरीके: description पर आधारित स्वचालित प्रतिनिधिमंडल बनाम आपका सीधा नामकरण
  • एक व्यावहारिक अभ्यास जिसका पालन किया जा सकता है और अपेक्षित आउटपुट देता है: एक न्यूनतम सब-एजेंट व्यक्तिगत रूप से बनाएं और इसे काम पर लगाएं

01 पहले समझें: वास्तव में सब-एजेंट क्या है

आइए पहले निष्कर्ष दें: सब-एजेंट Claude द्वारा काम पर रखा गया एक अस्थायी विशेष छोटा भाई है—यह अपने कमरे में काम करता है, और पूरा होने पर केवल निष्कर्ष आपको सौंपता है। इस प्रक्रिया के दौरान जो बहुत सारी सामग्री वह खंगालता है, वह आपके डेस्कटॉप पर जगह नहीं लेती है।

सादृश्य: किसी विशेष छोटे भाई को कोई कार्य आउटसोर्स करना। आपके हाथ में बहुत सारे काम हैं, और उनमें से एक है "एक हजार पंक्तियों के लॉग को देखना और त्रुटियों को चुनना"। यह एक गंदा काम है जो बहुत जगह लेता है, और आप इसे अपने मुख्य कार्यक्षेत्र पर फैलाकर खुद नहीं करना चाहते हैं—इससे आपका डेस्कटॉप भर जाएगा। इसलिए आप इसे एक विशेष छोटे भाई को आउटसोर्स करते हैं जो विशेष रूप से यह करता है: वह अपने कमरे में, अपनी डेस्क पर, उन एक हजार पंक्तियों के लॉग को देखता है; जब वह पढ़ लेता है, तो वह आपको एक हजार पंक्तियों के मूल लॉग वापस नहीं लाएगा, बल्कि केवल आपको एक कागज का टुकड़ा सौंपेगा: "केवल तीन त्रुटियां हैं, क्रमशः 207, 589 और 903 पंक्तियों में"। आपका डेस्कटॉप हमेशा साफ-सुथरा रहता है।

इस छोटे भाई के पास तीन चीजें हैं जो "उसकी अपनी" हैं और आपसे (मुख्य बातचीत) पूरी तरह से अलग हैं। आधिकारिक दस्तावेज़ इस वाक्य को बहुत दृढ़ता से बताता है, और यह याद रखने योग्य है:

प्रत्येक subagent अपने स्वयं के context window में चलता है, जिसमें एक कस्टम सिस्टम प्रॉम्प्ट, विशिष्ट टूल एक्सेस और स्वतंत्र अनुमतियां होती हैं।

इसे तोड़ने पर तीन "स्वतंत्र" चीजें सामने आती हैं:

आयाममुख्य बातचीत (आप)सब-एजेंट (आउटसोर्स छोटा भाई)
संदर्भआपके और Claude के बीच बातचीत का संपूर्ण इतिहासएक खाली स्लेट, केवल एक "कार्य स्पष्टीकरण" प्राप्त करता है, यह नहीं देख सकता कि आपने पहले क्या बात की थी
सिस्टम प्रॉम्प्ट (व्यक्तित्व)Claude Code की डिफ़ॉल्ट सेटिंग्सआपके द्वारा इसके लिए लिखा गया विशेष व्यक्तित्व, जैसे "आप एक कोड समीक्षक हैं जो केवल गलतियाँ ढूंढते हैं"
उपकरण / अनुमतियाँआपके द्वारा अधिकृत किए गए सभी उपकरणअलग से काटा जा सकता है, जैसे "केवल पढ़ने की अनुमति है, लिखने की नहीं"

सबसे महत्वपूर्ण, और सबसे आसानी से नजरअंदाज की जाने वाली, पहली पंक्ति है: सब-एजेंट एक खाली स्लेट से शुरू होता है। आधिकारिक विवरण बहुत प्रत्यक्ष है—यह "आपके वार्तालाप इतिहास, आपके द्वारा पहले से बुलाए गए कौशल, या Claude द्वारा पहले से पढ़ी गई फ़ाइलों को नहीं देख सकता है"। Claude इसे एक "कार्य स्पष्टीकरण" लिखेगा और इसे दे देगा, और यह इस वाक्य से काम करना शुरू कर देगा।

यह निर्धारित करता है कि सब-एजेंट "क्या अच्छा करता है और क्या नहीं", और हम निर्णय लेने के लिए अगले भाग में इस पर भरोसा करेंगे।

💡 एक वाक्य का सारांश: सब-एजेंट = एक आउटसोर्स छोटा भाई जिसमें स्वतंत्र संदर्भ + स्वतंत्र व्यक्तित्व + स्वतंत्र उपकरण हैं, जो अपने कमरे में काम करता है और केवल निष्कर्ष लौटाता है; याद रखें कि यह एक खाली स्लेट से शुरू होता है और आपकी पिछली बातचीत नहीं देख सकता।


02 यह क्या हल करता है—और वह प्रति-सहज ज्ञान युक्त जाल

"यह क्या है" जानने के बाद, हमें यह पता लगाना होगा कि "यह क्यों होना चाहिए"। सब-एजेंट वास्तव में तीन समस्याओं को हल करता है, जिनके बारे में मैं एक-एक करके बात करूंगा, और तीसरे बिंदु के लिए, मैं शुरुआत में उस प्रति-सहज ज्ञान युक्त जाल को आसानी से खोद दूंगा

समस्या एक: संदर्भ को अलग करना, मुख्य कहानी को प्रदूषित नहीं करना

यह सब-एजेंट्स का सबसे महत्वपूर्ण और मूल्यवान उपयोग है।

संदर्भ—Claude का "कार्यक्षेत्र" सीमित है। आप इसके साथ जितनी लंबी बातचीत करेंगे और जितनी अधिक फ़ाइलें यह पढ़ेगा, डेस्कटॉप उतना ही भीड़भाड़ वाला हो जाएगा। जब यह भर जाता है, तो यह चीजों को भूलना और बेवकूफ बनना शुरू कर देता है। कुछ कार्य बेतहाशा डेस्कटॉप पर कब्जा कर लेंगे, लेकिन आप इसके द्वारा उत्पन्न मध्यवर्ती कचरे पर दूसरी नजर भी नहीं डालेंगे।

उदाहरण के लिए, "संपूर्ण परीक्षण सूट चलाएं और मुझे बताएं कि कौन से विफल हुए"। परीक्षण चलाने से आउटपुट की सैकड़ों या हजारों पंक्तियां उत्पन्न होंगी, लेकिन आप वास्तव में केवल एक वाक्य चाहते हैं: "ये तीन परीक्षण विफल हो गए, और त्रुटि XXX है"। यदि आप इसे सीधे मुख्य वार्तालाप में चलाते हैं, तो सैकड़ों पंक्तियां सीधे आपके डेस्कटॉप पर चिपक जाएंगी।

इस समय, इसे एक सब-एजेंट को आउटसोर्स करें: यह इन सैकड़ों पंक्तियों को अपने कमरे में वहन करेगा, और केवल वाक्य लौटाएगा "कौन से विफल हुए"। आपका मुख्य वार्तालाप डेस्कटॉप पहले की तरह साफ रहेगा। आधिकारिक दस्तावेज़ सब-एजेंट्स के "सबसे प्रभावी उपयोगों में से एक" के रूप में इस उपयोग को सूचीबद्ध करता है:

परीक्षण चलाना, दस्तावेज़ प्राप्त करना, या लॉग फ़ाइलों को संसाधित करना बहुत सारे संदर्भों का उपभोग कर सकता है। इन्हें एक subagent को सौंपकर, विस्तृत आउटपुट subagent के संदर्भ में रहता है, जबकि केवल प्रासंगिक सारांश आपके मुख्य वार्तालाप में लौटाए जाते हैं।

वास्तविक परिदृश्य: तृतीय-पक्ष SDK को कॉल करते समय, आपको वापसी देखने के लिए इसके API को बार-बार curl करना होगा, हर बार JSON की एक स्क्रीन को ब्रश करना होगा। बातचीत के दसवें या उसके बाद के दौर तक, मुख्य बातचीत JSON से इतनी भर गई है कि यह प्रारंभिक आवश्यकताओं को भूलने लगी है। एक अलग तरीका अपनाएं—एक सब-एजेंट को विशेष रूप से "इस इंटरफ़ेस को डिबग करने और मुझे केवल यह बताने दें कि फ़ील्ड कैसी दिखती हैं" पर जाने दें। मुख्य बातचीत तुरंत ताज़ा हो जाती है, और आपकी अपनी विचार प्रक्रिया बाधित नहीं होती है।

समस्या दो: एक निश्चित प्रकार के कार्य में विशेषज्ञता

दूसरा उपयोग: एक "व्यक्ति जो विशेष रूप से यह करता है" को एक प्रकार के कार्य के लिए सेट करना जो बार-बार होता है।

यदि आप पाते हैं कि आप हमेशा एक ही तरह के निर्देश दोहरा रहे हैं—हर बार जब आप कोड लिखना समाप्त करते हैं, तो आप Claude को "एक वरिष्ठ समीक्षक के दृष्टिकोण से गलतियाँ खोजने, सुरक्षा और नामकरण पर ध्यान केंद्रित करने" के लिए कहते हैं—तो बेहतर होगा कि निर्देशों के इस सेट को एक सब-एजेंट में ठोस बनाया जाए, इसे code-reviewer कहा जाए, और इसे भविष्य में एक वाक्य के साथ जगाया जाए। आधिकारिक मूल शब्द: "जब आप लगातार एक ही प्रकार के कार्यकर्ता को उत्पन्न कर रहे हों और समान निर्देशों का उपयोग कर रहे हों, तो एक कस्टम subagent परिभाषित करें।"

यह दो स्थानों पर "विशेषज्ञ" है: एक है विशिष्ट व्यक्तित्व (सिस्टम प्रॉम्प्ट में हार्ड-कोडित "आप एक समीक्षक हैं जो केवल गलतियाँ ढूंढता है"), और दूसरा है विशिष्ट उपकरण (समीक्षक को केवल पढ़ना चाहिए और लिखना नहीं चाहिए, इसलिए Write और Edit को काट दें, और यह बदल नहीं सकता है भले ही यह चाहे)।

समस्या तीन: समानता

तीसरा उपयोग: कई असंबंधित कार्यों को एक ही समय में चलने के लिए कई सब-एजेंट्स को फेंका जा सकता है।

उदाहरण के लिए, "प्रमाणीकरण, डेटाबेस और API मॉड्यूल का अलग-अलग शोध करें"—ये तीनों एक-दूसरे पर निर्भर नहीं हैं, इसलिए एक ही समय में अन्वेषण करने के लिए तीन सब-एजेंट खोलें, और अंत में Claude आपके लिए तीन निष्कर्षों को संक्षेप में प्रस्तुत करेगा। क्रमिक को तीन यात्राओं का इंतजार करना पड़ता है, और समानांतर इसे एक यात्रा में पूरा कर सकता है।

प्रति-सहज ज्ञान युक्त जाल: जितना अधिक कार्य, उतना ही विभाजित नहीं किया जाना चाहिए

ठीक है, तीन उपयोगों को पक्का करने के बाद, शुरुआत में उस वाक्य पर वापस जाएं—क्यों "शुरुआत से ही विभाजित करना" गलत है?

क्योंकि नौसिखियों को आम तौर पर गलतफहमी होती है: "जितना बारीक विभाजन = उतना ही अधिक पेशेवर = उतना ही तेज"। बिल्कुल विपरीत। सब-एजेंट्स की तीन छिपी हुई लागतें हैं, और जैसे ही एक साधारण कार्य विभाजित होता है, सभी लागतें सामने आती हैं:

तुलना वस्तुसरल कार्य सीधे मुख्य बातचीत में किया गयासरल कार्य सब-एजेंट को कठिन रूप से विभाजित
स्टार्टअप ओवरहेडकोई नहीं, बस मुंह खोलो और करोसब-एजेंट एक खाली स्लेट से शुरू होता है, और स्थिति का पता लगाने के लिए उसे पहले "संदर्भ इकट्ठा करने" में समय बिताना होगा
आगे-पीछे संचारआप एक वाक्य कहते हैं, वह एक वाक्य कहता है, और आप इसे कभी भी बदल सकते हैंयदि स्पष्टीकरण स्पष्ट नहीं है, तो इसे फिर से काम करने की आवश्यकता है। सब-एजेंट आपकी पिछली बातचीत नहीं देख सकता
लागतएक tokenएक अतिरिक्त संदर्भ खोलें = अधिक token जलाएं, जितना अधिक आप खोलेंगे, उतना ही अधिक आप जलाएंगे
परिणाम बैकफ़िलिंगमौजूद नहीं हैप्रत्येक सब-एजेंट विस्तृत परिणामों को मुख्य वार्तालाप में वापस भर देता है। बहुत अधिक खोलने से डेस्कटॉप वापस ढेर हो जाएगा

आधिकारिक दस्तावेज़ विशेष रूप से निर्णय सूची देता है "मुख्य वार्तालाप या सब-एजेंट का उपयोग करना है या नहीं"। मैंने इसे एक वाक्य में परिष्कृत किया है: कार्य जो अक्सर आगे और पीछे होते हैं, संदर्भ साझा करते हैं, छोटे और तेज़ बदलाव होते हैं, और गति की परवाह करते हैं, उन्हें मुख्य वार्तालाप में छोड़ दिया जाता है; ऐसे कार्य जो मध्यवर्ती कचरे का एक गुच्छा उत्पन्न करते हैं जिसे आप नहीं देखना चाहते हैं, उपकरण अनुमतियों को लॉक करने की आवश्यकता है, स्व-निहित हो सकते हैं और केवल एक निष्कर्ष लौटा सकते हैं, आउटसोर्स किए जाते हैं।

आधिकारिक दस्तावेज़ में एक प्रति-सहज ज्ञान युक्त विवरण भी बताया गया है—सब-एजेंट उन स्थितियों में नुकसान में हैं जहां "देरी" मायने रखती है:

विलंबता मायने रखती है। Subagents खरोंच से शुरू होते हैं और संदर्भ एकत्र करने में समय ले सकते हैं।

वास्तविक परिदृश्य: यदि आप जिद्दी हैं, तो "एक चर का नाम बदलने" के लिए भी एक सब-एजेंट खोलना "पेशेवर लगता है"। नतीजा? इसे पहले फ़ाइल को फिर से पढ़ना होगा (क्योंकि इसमें आपका पिछला संदर्भ नहीं है), इसे धीरे-धीरे बदलना होगा, और फिर परिणामों को वापस भरना होगा। यह मुख्य वार्तालाप में सीधे यह कहने से बहुत धीमा है कि "इस चर का नाम बदलें", और यह अधिक token भी जलाता है। इसलिए एक लौह नियम याद रखने योग्य है: एक कार्य जिसे एक वाक्य में स्पष्ट रूप से समझाया जा सकता है और जिस कार्य के परिवर्तन आपकी आंखों के ठीक सामने हैं, उसे कभी भी आउटसोर्स नहीं किया जाना चाहिए।

💡 एक वाक्य का सारांश: सब-एजेंट "संदर्भ को अलग करने, कार्यों में विशेषज्ञता और समानता" की तीन चीजों को हल करते हैं; लेकिन सरल कार्य सीधे तेजी से और अधिक किफायती किए जाते हैं—अधिक विभाजित करना ≠ पेशेवर, अत्यधिक विभाजन केवल इसे धीमा, अधिक महंगा बना देगा, और डेस्कटॉप को वापस ढेर कर देगा।

मुख्य वार्तालाप और सब-एजेंट के बीच संदर्भ अलगाव: गंदा काम सब-एजेंट के कमरे में किया जाता है, और केवल निष्कर्ष मुख्य लाइन पर लौटता है

यह चित्र "आउटसोर्सिंग" की बात को स्पष्ट करता है: मुख्य बातचीत आपकी वर्कबेंच है। एक गंदा काम (चल रहे परीक्षण / लॉग के माध्यम से देखना) जो सब-एजेंट को मध्यवर्ती आउटपुट का एक बड़ा हिस्सा ब्रश करेगा; सब-एजेंट अपने स्वतंत्र संदर्भ कक्ष में सभी विवरणों को वहन करता है, और अंत में केवल एक पंक्ति "निष्कर्ष सारांश" मुख्य लाइन पर लौटता है, और आपका डेस्कटॉप हमेशा साफ रहता है।


03 कैसे बनाएं: /agents इंटरैक्टिव निर्माण

"क्या इसका उपयोग करना है" के बारे में बात करने के बाद, आइए एक बनाएं। सबसे आसान तरीका /agents कमांड का उपयोग करना है, जो पूरी तरह से इंटरैक्टिव है, और आपको कॉन्फ़िगरेशन का एक भी शब्द लिखने की आवश्यकता नहीं है।

Claude Code सत्र में टाइप करें:

text
/agents

एक प्रबंधन इंटरफ़ेस पॉप अप होगा। एक नया बनाने के लिए, आधिकारिक अनुशंसित प्रक्रिया ये चरण हैं (मैं आधिकारिक अभ्यास के अनुसार दोहरा रहा हूं, आप बस इसका पालन कर सकते हैं):

  1. एक स्थान चुनें: Library टैब पर जाएँ → Create new agentPersonal चुनें। Personal को चुनने से यह ~/.claude/agents/ में सहेजा जाएगा, और सभी प्रोजेक्ट इसका उपयोग कर सकते हैं; Project को चुनने से इसका उपयोग केवल वर्तमान प्रोजेक्ट में किया जाएगा, और इसे टीम को git के साथ भी प्रस्तुत किया जा सकता है (इन दोनों के बीच का अंतर अगले भाग में विस्तार से बताया जाएगा)।
  2. Claude को इसे आपके लिए उत्पन्न करने दें: Generate with Claude चुनें, और फिर साधारण शब्दों में वर्णन करें कि आप किस तरह का सहायक चाहते हैं। उदाहरण के लिए: "एक कोड समीक्षा सहायक, जो फ़ाइलों को स्कैन करता है, पठनीयता, प्रदर्शन और सर्वोत्तम प्रथाओं के परिप्रेक्ष्य से सुधार के लिए सुझाव प्रदान करता है, प्रत्येक स्पष्ट रूप से समस्या बताता है, वर्तमान कोड पोस्ट करता है, और एक बेहतर संस्करण देता है।" Claude आपको नाम, विवरण और उस व्यक्तित्व सिस्टम प्रॉम्प्ट को स्वचालित रूप से लिखने में मदद करेगा।
  3. उपकरण चुनें: समीक्षक को केवल पढ़ना चाहिए, लिखना नहीं। इसलिए केवल Read-only tools की जांच करें, और अन्य सभी को रद्द करें। आधिकारिक दस्तावेज़ एक महत्वपूर्ण बात की याद दिलाता है: "यदि आप सभी उपकरणों को चयनित रखते हैं, तो subagent मुख्य वार्तालाप में उपलब्ध सभी उपकरणों को प्राप्त करेगा।"—यदि आप उन्हें सक्रिय रूप से नहीं काटते हैं, तो यह सब कुछ कर सकता है।
  4. मॉडल चुनें: इसके लिए अकेले एक मॉडल चुनें। इस प्रकार की समीक्षा कार्य के लिए, आधिकारिक उदाहरण Sonnet (विश्लेषण क्षमता और गति का संतुलन) चुनता है।
  5. सहेजें: कॉन्फ़िगरेशन सारांश पर एक नज़र डालें, इसे सहेजने के लिए s या Enter दबाएं, और आप इसे तुरंत उपयोग कर सकते हैं। (वास्तविक इंटरफ़ेस आपको पृष्ठभूमि रंग और मेमोरी स्कोप memory scope चुनने के लिए भी कहेगा; रंग आप पर निर्भर है, और मेमोरी डिफ़ॉल्ट रूप से None है, नौसिखियों को इसे छोड़ देना चाहिए।)

सादृश्य: "आउटसोर्सिंग कार्य आवेदन पत्र" भरना। आपको यह जानने की ज़रूरत नहीं है कि अनुबंध कैसे लिखना है, फ्रंट डेस्क (/agents इंटरफ़ेस) एक फॉर्म लेता है और आपसे एक-एक करके पूछता है: इस पद का नाम क्या है, यह क्या करता है, यह किन उपकरणों का उपयोग कर सकता है, और लोगों का स्तर क्या है—आप इसे भरते हैं, और यह आपके लिए इस "पद" का निर्माण करेगा। Generate with Claude एक HR होने जैसा है जो आपके लिए फॉर्म को खूबसूरती से भरने में आपकी मदद करता है।

वास्तविक परिदृश्य: एक बहुत ही मूल्यवान निवासी सब-एजेंट इसी तरह बनाया गया है—एक test-runner, जो विशेष रूप से "परीक्षण चलाता है, और केवल रिपोर्ट करता है कि क्या विफल रहा है + त्रुटि संदेश"। जब मैंने इसे बनाया, तो मैंने जानबूझकर इसे केवल Read और Bash दिया, Write नहीं दिया, सिर्फ इसलिए कि मुझे डर था कि यह दौड़ते-दौड़ते खुजली महसूस करेगा और आपके कोड को बदल देगा। इसे एक बार बनाएं और इसे हर दिन उपयोग करें।

💡 एक वाक्य का सारांश: /agents सब-एजेंट बनाने का अनुशंसित तरीका है। पूरी प्रक्रिया इंटरैक्टिव फॉर्म फिलिंग है, और आप Claude को आपके लिए एक व्यक्तित्व उत्पन्न करने दे सकते हैं; उपकरणों को सक्रिय रूप से काटना याद रखें, यदि आप उन्हें नहीं काटते हैं, तो यह मुख्य बातचीत की सभी अनुमतियों को प्राप्त करेगा


04 कैसे बनाएं: एक कॉन्फ़िगरेशन फ़ाइल मैन्युअल रूप से लिखें

इंटरैक्टिव निर्माण के बाद, जब यह डिस्क पर आता है, तो यह वास्तव में एक Markdown फ़ाइल है। यदि आप इस फ़ाइल को समझते हैं, तो आप इसे सीधे लिख सकते हैं या किसी और की बदल सकते हैं।

सब-एजेंट फ़ाइल इस तरह दिखती है—ऊपर एक YAML हेडर (frontmatter) कॉन्फ़िगरेशन का प्रबंधन करता है, और नीचे का पाठ इसका व्यक्तित्व (सिस्टम प्रॉम्प्ट) है:

markdown
---
name: code-reviewer
description: Reviews code for quality and best practices
tools: Read, Glob, Grep
model: sonnet
---

You are a code reviewer. When invoked, analyze the code and provide
specific, actionable feedback on quality, security, and best practices.

सादृश्य: आउटसोर्स छोटे भाई को एक कार्य बैज + एक नौकरी विवरण। YAML हेडर कार्य बैज पर कठिन जानकारी है—नाम क्या है, यह क्या करता है, किन उपकरणों का उपयोग कर सकता है, और किस स्तर का है (name/description/tools/model); क्षैतिज रेखा के नीचे का पाठ जॉब डिस्क्रिप्शन है जो उसे सौंपा गया है, "आप कौन हैं, आप यहां क्या करने आए हैं, और आप किस मानक के अनुसार काम करते हैं"। वह काम पर जाते समय केवल इन दो चीजों को देखता है, और आपकी कंपनी में अन्य गन्दी चीजों को नहीं देख सकता है।

आधिकारिक दस्तावेज़ स्पष्ट करता है कि केवल name और description आवश्यक हैं, और बाकी को छोड़ा जा सकता है। स्पष्टीकरण के लिए सामान्यतः उपयोग किए जाने वाले फ़ील्ड निकालें:

फ़ील्डआवश्यककिस लिएनौसिखिए मुख्य बिंदु
nameहाँविशिष्ट पहचानकर्ता, लोअरकेस अक्षर प्लस हाइफ़न (जैसे code-reviewer)पूरे प्रोजेक्ट में समान नाम न रखें, यदि वे समान हैं, तो एक को चुपचाप छोड़ दिया जाएगा
descriptionहाँClaude को बताएं कि "इसे कौन सा कार्य सौंपा जाना चाहिए"जितना स्पष्ट लिखा जाएगा, स्वचालित प्रतिनिधिमंडल उतना ही अधिक सटीक होगा, जो ट्रिगर करने की कुंजी है
toolsनहींयह किन उपकरणों का उपयोग कर सकता हैछोड़ें = मुख्य बातचीत के सभी उपकरणों को विरासत में लें; यदि आप अधिकारों को सीमित करना चाहते हैं, तो अनुमति सूची यहां सूचीबद्ध करें
modelनहींकिस मॉडल का उपयोग करना हैsonnet/opus/haiku/inherit, डिफ़ॉल्ट inherit है (मुख्य बातचीत के समान)
permissionModeनहींइसका अनुमति मोडवैकल्पिक: default/acceptEdits/auto/dontAsk/bypassPermissions/plan

फ़ाइल लगाने की जगह का विशेष महत्व है, जगह तय करती है कि "इसका उपयोग कौन कर सकता है"। अधिकारियों ने कई स्तरों को सूचीबद्ध किया है, और नौसिखियों को केवल दो सबसे अधिक उपयोग किए जाने वाले स्तरों को याद रखने की आवश्यकता है:

कहाँ रखेंकौन उपयोग कर सकता हैउपयुक्त
~/.claude/agents/आपके सभी प्रोजेक्टव्यक्तिगत सामान्य सहायक, जैसे कि एक कोड समीक्षक जिसे आप हर जगह उपयोग करना चाहते हैं
.claude/agents/केवल वर्तमान प्रोजेक्टप्रोजेक्ट विशिष्ट सहायक; टीम साझाकरण के लिए git के साथ प्रस्तुत किया जा सकता है

प्रोजेक्ट स्तर के लिए आधिकारिक सलाह बहुत व्यावहारिक है:

प्रोजेक्ट subagents (.claude/agents/) कोडबेस-विशिष्ट subagents के लिए बहुत अच्छे हैं। उन्हें संस्करण नियंत्रण में देखें ताकि आपकी टीम उनके उपयोग और सुधार में सहयोग कर सके।

अंतिम नौसिखिए के लिए जाल, आधिकारिक दस्तावेज़ इसे याद दिलाने के लिए विशेष रूप से Note का उपयोग करता है—डिस्क पर फ़ाइल को मैन्युअल रूप से लिखने या सीधे संशोधित करने के बाद, आपको इसे लोड करने के लिए सत्र को पुनरारंभ करना होगा; लेकिन /agents इंटरफ़ेस के माध्यम से बनाए गए को पुनरारंभ करने की आवश्यकता नहीं है, और यह तुरंत प्रभावी हो जाएगा। पहली बार जब आप मैन्युअल रूप से एक सब-एजेंट लिखते हैं, तो ऐसी स्थिति का सामना करना आसान होता है जहाँ आप इसे लंबे समय तक कॉल करते हैं और यह कोई प्रतिक्रिया नहीं देता है, और आप सोचते हैं कि आपने कुछ गलत लिखा है। वास्तव में, आप बस इसे पुनरारंभ करना भूल गए हैं।

💡 एक वाक्य का सारांश: सब-एजेंट एक Markdown फ़ाइल है। YAML हेडर कॉन्फ़िगरेशन का प्रबंधन करता है (केवल name/description आवश्यक हैं), और पाठ व्यक्तित्व है; इसे वैश्विक उपयोग के लिए ~/.claude/agents/ में रखें, और इसे प्रोजेक्ट के भीतर साझा करने के लिए .claude/agents/ में रखें; यदि आप फ़ाइल को मैन्युअल रूप से बदलते हैं, तो सत्र को पुनरारंभ करना याद रखें।


05 कैसे ट्रिगर करें: स्वचालित प्रतिनिधिमंडल बनाम प्रत्यक्ष नामकरण

सब-एजेंट बनाया गया है, मैं इसे काम पर कैसे लगाऊं? दो तरीके: Claude "नौकरी विवरण" को देखता है और स्वचालित रूप से कार्य भेजता है, या आप इसे सीधे नाम से पुकारते हैं।

पथ 1: description द्वारा संचालित स्वचालित प्रतिनिधिमंडल

आप सामान्य रूप से अपनी आवश्यकताओं को पूछते हैं, और Claude आपके वाक्य को प्रत्येक सब-एजेंट के description की तुलना करने के लिए ले जाएगा, और यदि उसे लगता है कि यह मेल खाता है, तो यह स्वचालित रूप से कार्य भेज देगा। आपको यह जानने की भी आवश्यकता नहीं है कि ऐसा सब-एजेंट मौजूद है।

यही कारण है कि पिछले भाग ने बार-बार जोर दिया description को स्पष्ट रूप से लिखा जाना चाहिए—यह Claude के आदेश प्रेषण का एकमात्र आधार है। आधिकारिक दस्तावेज़ "पहल" को बेहतर बनाने के लिए एक छोटी सी युक्ति देता है: विवरण में "use proactively" (सक्रिय रूप से उपयोग करें) जैसे शब्द जोड़ें, और Claude सक्रिय रूप से कार्य सौंपने के लिए अधिक इच्छुक होगा। उदाहरण के लिए, यदि समीक्षक का विवरण इस रूप में लिखा गया है "कोड लिखने या संशोधित करने के तुरंत बाद सक्रिय रूप से समीक्षा करें", तो जैसे ही आप कोड को संशोधित करना समाप्त करते हैं, यह स्वचालित रूप से समीक्षक को जगा सकता है।

सादृश्य: क्या काम का विवरण अच्छी तरह से लिखा गया है या नहीं, यह तय करता है कि मानव संसाधन उसे सही काम सौपेंगे या नहीं। विवरण इस आउटसोर्स नौकरी का "भर्ती विज्ञापन" है। यदि नोटिस अस्पष्ट है ("कुछ कार्य संभालें"), तो HR (Claude) को पता ही नहीं चलेगा कि किस तरह के काम के लिए उसे ढूंढना है; यदि यह सटीक है ("कोड सुरक्षा और नामकरण की समीक्षा करने में माहिर है, और कोड लिखने के बाद कार्यभार संभालने की पहल करता है"), तो जब सही काम आएगा, तो HR स्वाभाविक रूप से उसके बारे में सोचेगा।

पथ 2: आप सीधे नाम से पुकारते हैं

जब स्वचालित प्रतिनिधिमंडल अविश्वसनीय हो, या आप केवल एक विशिष्ट सब-एजेंट निर्दिष्ट करना चाहते हैं, तो इसे स्वयं नाम दें। आधिकारिक दस्तावेज़ प्रकाश से भारी तक कई तरीके देता है, और नौसिखियों के लिए पहले दो को याद रखना पर्याप्त है:

प्राकृतिक भाषा नामकरण—सीधे बातचीत में इसका नाम पुकारें, कोई विशेष सिंटैक्स नहीं:

text
code-reviewer सब-एजेंट का उपयोग करके मेरे हाल के बदलावों को देखें

@ नामकरण—पॉप-अप सूची से चुनने के लिए @ दर्ज करें (चयन के बाद यह @"code-reviewer (agent)" जैसा कुछ सम्मिलित करेगा), या आप सूची से गुजर नहीं सकते हैं और सीधे @agent- प्लस नाम टाइप कर सकते हैं। यह इसके उपयोग की "गारंटी" देता है और Claude को चुनाव नहीं छोड़ता है:

text
@agent-code-reviewer इस प्रमाणीकरण-संबंधित परिवर्तन को देखें

दोनों के बीच का अंतर आधिकारिक दस्तावेज़ में बहुत स्पष्ट रूप से बताया गया है: प्राकृतिक भाषा यह है कि "Claude आमतौर पर प्रतिनिधिमंडल करता है", जबकि @ यह है कि "एक विशिष्ट subagent चलाना सुनिश्चित करें"। एक सुरक्षित आदत—एक नए सब-एजेंट के लिए जिसके स्वभाव का अभी तक पता नहीं चला है, हमेशा नाम पुकारने के लिए @ का उपयोग करें, ऐसा न हो कि Claude अपना खुद का दावा करे और इसे इसे न भेजे, और आपको लगे कि सब-एजेंट टूट गया है।

निष्कर्ष कैसे लौटाए जाते हैं

चाहे इसे ट्रिगर करने का कोई भी तरीका इस्तेमाल किया जाए, जब सब-एजेंट अपना काम पूरा कर लेता है, तो यह केवल "निष्कर्ष" को मुख्य वार्तालाप में लौटाता है, और पूरी प्रक्रिया इसके अपने कमरे में रहती है। यह बिल्कुल धारा 01 में रूपक की पूर्ति है: एक हजार पंक्तियों के लॉग के माध्यम से पढ़ने के बाद, छोटा भाई केवल एक कागज का टुकड़ा लौटाता है जिस पर लिखा होता है "त्रुटि इन तीन पंक्तियों में है"। आधिकारिक मूल शब्द: यह "स्वतंत्र रूप से काम करता है और परिणाम लौटाता है", और "विस्तृत आउटपुट subagent के संदर्भ में रहता है, जबकि केवल प्रासंगिक सारांश आपके मुख्य वार्तालाप में लौटाए जाते हैं"।

⚠️ लेकिन यहाँ मात्रा का एक जाल है, जिसके बारे में आधिकारिक दस्तावेज़ ने विशेष रूप से चेतावनी दी है: बहुत सारे सब-एजेंट खोलें, और उनमें से प्रत्येक विस्तृत परिणामों का एक बड़ा गुच्छा वापस डालता है, जो अभी भी आपके मुख्य वार्तालाप डेस्कटॉप को भर देगा। इसलिए समानता में बहुत लालची मत बनो—धारा 02 में लाइन पर वापस लौटें: केवल ऐसे कार्य जो स्व-निहित हो सकते हैं और केवल एक निष्कर्ष लौटा सकते हैं, आउटसोर्सिंग के लायक हैं।

💡 एक वाक्य का सारांश: ट्रिगरिंग को दो रास्तों में बांटा गया है—description पर भरोसा करना Claude को स्वचालित रूप से आदेश भेजने के लिए (विवरण सटीक होना चाहिए), या सीधे प्राकृतिक भाषा का उपयोग करना / नाम पुकारने के लिए @ (@ इसके उपयोग की गारंटी है); सब-एजेंट केवल निष्कर्ष को मुख्य लाइन पर लौटाता है, लेकिन बहुत अधिक बैकफ़िलिंग अभी भी डेस्कटॉप को ढेर कर देगी


06 करो: 5 मिनट में एक न्यूनतम सब-एजेंट बनाएं और इसे काम पर लगाएं

सिर्फ देखना और अभ्यास न करना बकवास है। नीचे मैं आपको न्यूनतम सब-एजेंट को मैन्युअल रूप से लिखना, और फिर इसे वास्तव में चलाना दिखाऊंगा, ताकि आप अपनी आँखों से "आउटसोर्सिंग → केवल लौटते हुए निष्कर्ष" के इस लिंक को देख सकें। पूरी प्रक्रिया किसी जटिल वातावरण पर निर्भर नहीं करती है।

हम सबसे सरल एक का निर्माण करेंगे: एक केवल-पढ़ने वाला "कोड समीक्षक" जो विशेष रूप से फ़ाइलों को पढ़ता है और सुधार के लिए सुझाव देता है, लेकिन एक भी शब्द बदलने की अनुमति नहीं है (केवल Read दिया जाता है, Write/Edit नहीं)।

चरण 1: एक खिलौना परियोजना और एक सब-एजेंट निर्देशिका बनाएं (Mac / Linux)

bash
mkdir sub-demo
cd sub-demo
mkdir -p .claude/agents

अपेक्षा: sub-demo फ़ोल्डर में .claude/agents/ की एक परत है। ls .claude टाइप करें और आप देख सकते हैं कि agents वहां है।

चरण 2: सब-एजेंट कॉन्फ़िगरेशन फ़ाइल को मैन्युअल रूप से लिखें

अपने पसंदीदा संपादक का उपयोग करके, sub-demo/.claude/agents/code-reviewer.md बनाएं, और पेस्ट करें:

markdown
---
name: code-reviewer
description: केवल-पढ़ने वाला कोड समीक्षक, जो निर्दिष्ट फ़ाइलों को पढ़ता है और पठनीयता, नामकरण और संभावित बग के दृष्टिकोण से सुधार के लिए सुझाव देता है। किसी भी कोड की समीक्षा करते समय सक्रिय रूप से उपयोग करें।
tools: Read, Grep, Glob
---

आप एक वरिष्ठ कोड समीक्षक हैं जो केवल गलतियाँ ढूँढते हैं और कोड को संशोधित नहीं करते हैं।
कॉल किए जाने पर:
1. उपयोगकर्ता द्वारा निर्दिष्ट फ़ाइल पढ़ें
2. पठनीयता, नामकरण और संभावित बग की तीन श्रेणियों के अनुसार समस्याओं की सूची बनाएं
3. प्रत्येक समस्या के लिए विशिष्ट सुधार सुझाव दें, लेकिन फ़ाइल को सीधे संशोधित न करें

गंभीरता के आधार पर समूहीकृत करें: बदलना चाहिए, बदलने का सुझाव दिया गया है, विचार कर सकते हैं।

ध्यान दें कि यहाँ कोई model फ़ील्ड नहीं दिया गया है—आधिकारिक डिफ़ॉल्ट के अनुसार, यह inherit करेगा (आपके मुख्य वार्तालाप के समान मॉडल का उपयोग करें)। tools केवल तीन केवल-पढ़ने वाले उपकरणों को सूचीबद्ध करता है, यह लिख नहीं सकता है भले ही यह चाहे

चरण 3: इसके लिए टिप्पणी करने के लिए "सुधार के लिए जगह" के साथ कोड का एक टुकड़ा बनाएं

bash
echo 'def f(a, b):
    return a / b' > calc.py

यह फ़ंक्शन नाम f और पैरामीटर नाम a/b भयानक हैं, और इसने 0 से विभाजन को नहीं संभाला है—समीक्षक को इसे पकड़ने दें।

अपेक्षा: sub-demo में calc.py है, और सामग्री ऊपर की दो पंक्तियाँ हैं।

चरण 4: Claude प्रारंभ करें, सब-एजेंट को नाम से काम करने के लिए कहें

bash
claude

अंदर जाने के बाद, सीधे नाम पुकारने के लिए @ का उपयोग करें (यह सुनिश्चित करने के लिए कि आप इसका उपयोग करते हैं, Claude को अपना दावा न करने दें)। मैन्युअल रूप से @agent-code-reviewer टाइप करें, या @ टाइप करें और पॉप-अप सूची से code-reviewer चुनें:

text
@agent-code-reviewer calc.py पर टिप्पणी करें

अपेक्षा: आप देखेंगे कि Claude code-reviewer सब-एजेंट को प्रतिनिधिमंडल करता है (इंटरफ़ेस इंगित करेगा कि यह सब-एजेंट चल रहा है, शायद रंग ब्लॉक के साथ)। यह अपने स्वयं के संदर्भ में calc.py को पढ़ता है, और फिर केवल एक "समीक्षा निष्कर्ष" को मुख्य वार्तालाप में लौटाता है—यह मोटे तौर पर इंगित करेगा कि: फ़ंक्शन नाम f और पैरामीटर a/b का अर्थ व्यक्त नहीं करते हैं, 0 के विभाजक के लिए कोई हैंडलिंग नहीं है, और इसे स्पष्ट नामकरण में बदलने और सीमा निर्णय जोड़ने का सुझाव दिया जाता है। ध्यान दें कि यह केवल सुझाव देता है और आपकी फ़ाइल को नहीं छूता है (क्योंकि आपने इसे Write उपकरण नहीं दिया था)।

चरण 5: सत्यापित करें कि इसने वास्तव में फ़ाइल को संशोधित नहीं किया है

Claude से बाहर निकलें (exit टाइप करें या Ctrl+D दबाएं), और टर्मिनल पर वापस जाएं:

bash
cat calc.py

(Windows PowerShell type calc.py का उपयोग करता है)

अपेक्षा: calc.py बरकरार है, अभी भी वे दो लाइनें हैं—यह "सीमित अधिकारों" की शक्ति है: आपने इसे केवल पढ़ने के लिए टूल दिए हैं, भले ही यह आपकी मदद करना चाहता हो, यह शक्तिहीन है और केवल अपनी उंगलियों को हिला सकता है।

इन पांच चरणों को चलाने के बाद, आपने व्यक्तिगत रूप से "कॉन्फ़िगरेशन लिखना → लोड करना → नाम ट्रिगरिंग → स्वतंत्र संदर्भ में सब-एजेंट काम करना → केवल निष्कर्ष लौटाना, अधिकार से अधिक नहीं" के पूरे लिंक को सत्यापित किया है। भविष्य में कोई भी सब-एजेंट, संक्षेप में, इस तंत्र पर अपना व्यक्तित्व बदलता है और अपने उपकरणों को समायोजित करता है।

⚠️ यदि @agent-code-reviewer टाइप करते समय यह सूची में नहीं है, तो यह संभवतः इसलिए है क्योंकि सब-एजेंट फ़ाइल लोडिंग प्रभावी नहीं हुई—मैन्युअल रूप से लिखी गई फ़ाइल को सत्र को पुनरारंभ करने की आवश्यकता है (धारा 04 में जाल)। बाहर निकलें और फिर से दर्ज करें, या सीधे बनाने के लिए /agents इंटरफ़ेस का उपयोग करें (कोई पुनरारंभ की आवश्यकता नहीं है)।

💡 एक वाक्य का सारांश: एक समीक्षक को मैन्युअल रूप से लिखें जो केवल Read देता है, इसे चलाने के लिए नाम देने के लिए @ का उपयोग करें, और फिर फ़ाइल को छुआ नहीं गया है इसकी पुष्टि करने के लिए cat का उपयोग करें—व्यक्तिगत रूप से "स्वतंत्र कार्य + सीमित शक्ति और कोई ओवरस्टेपिंग नहीं" के लिंक को चलाएं, जो दस फ़ील्ड याद रखने से अधिक उपयोगी है


07 सारांश

इस लेख में, हम "क्या इसका उपयोग किया जाना चाहिए" से लेकर "इसे कैसे बनाएं, इसे कैसे ट्रिगर करें, इसे कैसे सत्यापित करें" तक "सब-एजेंट" के बारे में सब कुछ बात करते हैं—मूल यह नहीं है कि आपको यह सिखाया जाए कि इसे कितनी अच्छी तरह से अलग करना है, बल्कि "आउटसोर्स करना है या इसे स्वयं करना है" के निर्णय रेखा को स्थापित करने में आपकी मदद करना है

मुख्य बातों की समीक्षा करने के लिए उन्हें एक साथ बांधें:

आप क्या पता लगाना चाहते हैंउत्तरमुख्य बिंदु
सब-एजेंट क्या हैस्वतंत्र संदर्भ + व्यक्तित्व + उपकरणों के साथ एक आउटसोर्स छोटा भाईएक खाली स्लेट से शुरू होकर, मैं नहीं देख सकता कि आपने पहले क्या बात की थी
यह क्या हल करता हैसंदर्भों को अलग करना, कार्यों में विशेषज्ञता, और समानांतरकरणसबसे मूल्यवान चीज है "गंदा काम इसके कमरे में छोड़ दो और केवल निष्कर्ष वापस करो"
न करें कब उपयोग करेंसरल कार्य, बार-बार आगे-पीछे, गति की परवाहअधिक विभाजन ≠ पेशेवर, अत्यधिक विभाजन धीमा और महंगा है
इसे कैसे बनाएं/agents इंटरैक्टिव, या .claude/agents/name.md को मैन्युअल रूप से लिखेंकेवल name/description आवश्यक हैं; मैन्युअल परिवर्तन को पुनरारंभ करने की आवश्यकता है
ट्रिगर कैसे करेंdescription स्वचालित प्रेषण / प्राकृतिक भाषा / @ नामकरण@ इसके उपयोग की गारंटी देता है; प्रेषण सटीक होने के लिए description स्पष्ट रूप से लिखा जाना चाहिए

अब आपको सक्षम होना चाहिए: यह तय करें कि किसी कार्य को किसी सब-एजेंट को आउटसोर्स किया जाना चाहिए या नहीं (विभाजित करने के लिए उत्साहित होने के बजाय), एक विशेष व्यक्तित्व और सीमित उपकरणों के साथ एक सब-एजेंट बनाने के लिए /agents का उपयोग करें या मैन्युअल रूप से एक फ़ाइल लिखें, और स्वचालित प्रतिनिधिमंडल का उपयोग करें या इसे काम करने देने के लिए नाम देने के लिए @ का उपयोग करें, और निष्कर्ष को मुख्य लाइन पर साफ-सुथरा सौंप दें। अनुपात की यह भावना "जब आउटसोर्स करना हो तो आउटसोर्स करें, और जब आपको यह खुद करना हो तो खुद करें" सब-एजेंट की वास्तविक सीमा है—फ़ंक्शन को दस मिनट में सीखा जा सकता है, और अनुपात की भावना का उपयोग किया जाना चाहिए।

शुरुआत में प्रति-सहज ज्ञान युक्त वाक्य को याद रखें: सब-एजेंट मजबूत है, लेकिन यह "सही परिदृश्य का उपयोग करने" में मजबूत है, "अधिक विभाजित करने" में नहीं।

💡 एक वाक्य का सारांश: सब-एजेंट की सीमा "जानना कि कैसे बनाना है" नहीं है, यह "जानना है कि कब बनाना है"—गंदा काम, आत्म-निहित, लॉक-इन अधिकारों की आवश्यकता है, आउटसोर्स; सरल, तेज, अक्सर आगे और पीछे, इसे स्वयं करें।


अगला लेख 24 "प्लगइन्स (Plugins)"—यहाँ आपके हाथ में "सहायक उपकरण" अधिकाधिक होते जा रहे हैं: CLAUDE.md, स्लैश कमांड, Skill, और अब Subagent जोड़ा गया है। क्या उन्हें एक-एक करके अलग से कॉन्फ़िगर करना थोड़ा खंडित नहीं है? अगला लेख आपको सिखाएगा कि कैसे उन्हें एक प्लगइन में पैकेज किया जाए, जिसे एक क्लिक से इंस्टॉल किया जा सकता है, एक क्लिक से साझा किया जा सकता है, और यहां तक कि सीधे "प्लगइन मार्केट" से उपयोग किया जा सकता है। इसके बारे में सोचें: क्या दूसरों द्वारा ट्यून किए गए सब-एजेंट और कमांड एक क्लिक के साथ आपके पास ले जाए जा सकते हैं?


अनुशंसित पठन