Claude Code : सब-एजेंट्स का प्रयास अब चलते-चलते तय होता है
सोलह। मेरे Claude Code कॉन्फ़िगरेशन में अतिरिक्त एजेंट फ़ाइलों की संख्या यही है: developer-low, developer-medium, reviewer-high, debugger-max, और न जाने क्या क्या। मेरे एजेंटों की लगभग एक जैसी सोलह कॉपियाँ, जिन्हें एक छोटी-सी PowerShell स्क्रिप्ट ने बनाया है, एक ही वजह से: पिछले हफ्ते तक Claude से यह नहीं कह सकते थे कि “इस एजेंट को चलाओ, लेकिन कम सोचो।” सेटिंग फ़ाइल में खुदी हुई थी, बस। तो 2.1.292 संस्करण के बाद से, जो 6 अक्टूबर को जारी हुआ था, यह खत्म हो गया। और यह इस हफ्ते की इकलौती अच्छी खबर नहीं है!
आखिरकार, हर रोबोट के लिए एक समायोजन बटन
सब-एजेंट, effort: आखिर बात किसकी हो रही है?
Claude Code, Anthropic का वह सहायक है जो सीधे तुम्हारे प्रोजेक्ट में, टर्मिनल से, यानी उस विंडो से जहाँ कमांड टाइप की जाती हैं, कोड लिखता है। जब कोई काम बड़ा होता है, तो वह उसे छोटे हिस्सों में बाँटकर सब-एजेंटों को सौंप सकता है: दूसरे Claude, जिन्हें किसी खास मिशन के लिए चलाया जाता है, अपनी अलग मेमरी के साथ, और जो नतीजा लेकर वापस आते हैं। एक कोड में खोजने के लिए, एक लिखने के लिए, एक दोबारा पढ़ने के लिए। कुल मिलाकर, एक छोटी-सी टीम, बस इसमें कोई कॉफी ब्रेक नहीं लेता।
effort वह समय है जो Claude जवाब देने से पहले सोचने में लगाता है, low से, यानी वह धड़ल्ले से आगे बढ़ता है, max तक, यानी वह हर पंक्ति को तौलता है। ज़्यादा effort से अक्सर बेहतर नतीजा मिलता है, लेकिन इसमें ज़्यादा समय लगता है और quota भी ज़्यादा खपता है। अधिकतम effort पर बीस फ़ाइलों के नाम बदलना, बेडसाइड लैंप का बल्ब बदलने के लिए बड़ी सीढ़ी निकालने जैसा है।
effort का बटन, चलते-चलते
अब तक, किसी सब-एजेंट का effort उसकी definition फ़ाइल में हमेशा के लिए तय होता था। मैं चाहता हूँ कि कोई reviewer छोटी-सी correction पर कम सोचे और बड़े काम पर खूब सोचे। इकलौता उपाय था: effort के हर स्तर के लिए एक फ़ाइल। इसी वजह से मेरी सोलह कॉपियाँ थीं, जिन्हें मैं मूल फ़ाइल में बदलाव करने पर हर बार स्क्रिप्ट से दोबारा बनवाता था। यह चलता है, लेकिन यह उसी तरह का जुगाड़ है जिस पर हमें गर्व नहीं होता।
एक ही एजेंट की सोलह कॉपियाँ, effort के हर स्तर के लिए एक
वर्जन 2.1.292 सब-एजेंट चलाने वाले टूल में एक effort पैरामीटर जोड़ता है। व्यावहारिक रूप से, तुम्हें कुछ भी कॉन्फ़िगर करने की ज़रूरत नहीं है: तुम फ़्रेंच में कह देते हो, और Claude उसे आगे भेज देता है।
Lance un sous-agent en effort low pour renommer les fichiers de tests,
puis un autre en effort high pour relire le module de paiement.मैंने अभी तक यह जाँच नहीं की है कि तब किसकी चलती है जब एजेंट की फ़ाइल high कहती है और अनुरोध low कहता है, इसलिए जाँच करने तक मैं अपनी सोलह कॉपियाँ रख रहा हूँ। लेकिन मुझे लग रहा है कि अगले हफ़्ते मेरी कॉन्फ़िगरेशन अचानक दुबली हो जाएगी। और यही वह प्रतिक्रिया है जिसके बारे में मैंने दो दिन पहले Microsoft और Meta द्वारा Claude Code के इस्तेमाल को सीमित करने के बारे में बात की थी: सोचने के लिए बड़ा दिमाग, झंझट वाले कामों के लिए छोटा। अब इसे एक वाक्य में तय किया जा सकता है।
जो चौकीदार सो जाता है, वह अब किसी को अंदर नहीं जाने देता
दूसरी नई चीज़, और इस वाली का तो मुझे और भी ज़्यादा इंतज़ार था। Claude Code में «hooks» हैं: छोटे-छोटे स्क्रिप्ट जिन्हें तुम खुद लिखते हो और जो Claude की कुछ कार्रवाइयों से पहले या बाद में अपने-आप चलती हैं। मेरे पास एक ऐसा है जो उसे मेरी पासवर्ड वाली फ़ाइलें पढ़ने से रोकता है। Claude कोई फ़ाइल खोलना चाहता है, हुक उसका नाम देखता है, और अगर उसे कोई संवेदनशील फ़ाइल दिखती है, तो वह मना कर देता है।
समस्या यह है कि जब हुक खुद ही क्रैश हो जाता था, तब क्या होता था। कोई ऐसी स्क्रिप्ट जो शुरू ही न हो, जिसे बहुत ज़्यादा समय लगे, जो किसी अनपेक्षित गड़बड़ी के साथ बाहर निकल जाए? Claude Code मान लेता था कि उसने कुछ कहा ही नहीं, और कार्रवाई हो जाती थी। अपनी चौकी में सोया हुआ चौकीदार, और खुला हुआ फाटक। सुरक्षा के किसी बचाव-कवच के लिए, हम जो चाहते हैं यह उसका ठीक उलटा है!
क्रैश होने वाला हुक कार्रवाई को आगे जाने देने के बजाय रोक देता है
8 अक्टूबर के वर्जन 2.1.295 से, किसी हुक में "onFailure": "block" जोड़ा जा सकता है। अगर वह ठीक से जवाब नहीं देता, तो कार्रवाई रोक दी जाती है। Claude Code की settings.json फ़ाइल में यह ऐसे दिखता है:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Read",
"hooks": [
{
"type": "command",
"command": "~/.claude/hooks/block-secrets.sh",
"onFailure": "block"
}
]
}
]
}
}और उसी हफ़्ते, Anthropic ने हुक से जुड़े दो ऐसे बग ठीक किए जिनसे रोंगटे खड़े हो जाते हैं। 2.1.294 में, प्राकृतिक भाषा में निर्देश की तरह लिखे गए हुक, जैसे «उन कमांड को रोक दो जो…», जिन चीज़ों को रोकना चाहिए था, उन्हें निकल जाने देते थे। और 2.1.296 में, किसी कार्रवाई को मना करने वाला एंटरप्राइज़ हुक उसे सचमुच मना तो करता था, लेकिन Claude का टर्न खत्म नहीं करता था, जो अपनी रफ़्तार से आगे बढ़ता रहता था। अगर तुम अपनी सुरक्षा के लिए हुक पर निर्भर हो, तो अपडेट करना कोई विकल्प नहीं है।
ऊपर से दो छोटी-छोटी मिठाइयाँ
2.1.295 तुम्हारे टर्मिनल को यह भी बता सकता है कि वह किस स्थिति में है: काम कर रहा है, तुम्हारे जवाब का इंतज़ार कर रहा है, या पूरा हो चुका है। इसके लिए ऐसा टर्मिनल चाहिए जो इस नए प्रोटोकॉल को संभालता हो, लेकिन जब ऐसा होता है, तो टैब उसे दिखाता है। जब तुम्हारी तीन सेशन एक साथ खुली हों, जैसा कि आधे समय मेरे साथ होता है, तो ऐसी छोटी-सी जानकारी से यह भूलने से बच जाते हो कि कोई Claude बीस मिनट से चुपचाप तुम्हारे सवाल का इंतज़ार कर रहा है।
तीन सेशन, तीन बत्तियाँ: अब आखिर पता चल जाता है कि कौन इंतज़ार कर रहा है
और 2.1.296 में तुम एजेंट-दर-एजेंट यह चुन सकते हो कि वह अपनी बातचीत को अपनी मेमरी में जगह बनाने के लिए किस समय संक्षेप में बदलता है, जिसे compaction कहा जाता है। बहुत सारी फ़ाइलें पढ़ने वाला कोई सब-एजेंट इस तरह मुख्य बातचीत से पहले सफाई कर सकता है, बजाय इसके कि रास्ते में ही दम घुटने लगे। इस सेटिंग का नाम autoCompactWindow है और इसे एजेंट की फ़ाइल में रखा जाता है।
व्यवहार में, इससे तुम्हें क्या फायदा होगा
अगर तुम Claude Code को किसी सब्सक्रिप्शन के साथ इस्तेमाल करते हो, तो तुम्हारा कोटा हर पाँच घंटे में फिर भरता है, और किसी झंझट वाले काम के लिए अधिकतम effort पर चलाया गया हर सब-एजेंट उसमें से थोड़ा खर्च कर देता है। छोटे-मोटे कामों के लिए low effort माँगना असली सवालों के लिए उतना ही कोटा बचाकर रखता है: वे सवाल जिनमें तुम चाहते हो कि Claude तुम्हारी जगह किसी प्रोजेक्ट की आर्किटेक्चर या किसी पेचीदा बग के बारे में सोचे। और अगर तुम token के हिसाब से भुगतान करते हो, तो तुम्हारा बिल सीधे कम होता है।
अगर तुमने किसी चीज़ की सुरक्षा के लिए hooks लिखे हैं, पासवर्ड का कोई फ़ोल्डर, प्रोडक्शन डेटाबेस, कोई ऐसी डायरेक्टरी जिसे छूना नहीं है, तो आज ही हर एक में "onFailure": "block" जोड़ दो। इसमें दो मिनट लगते हैं, और जिस दिन तुम्हारी स्क्रिप्ट क्रैश होगी, उस दिन तुम्हारी सुरक्षा-व्यवस्था के टूटने के बजाय Claude बाहर ही रहेगा।
और अगर तुम कई सेशन के बीच लगातार आना-जाना करते हो, तो देख लो कि तुम्हारा टर्मिनल टैब में Claude की स्थिति दिखा सकता है या नहीं। कौन पूरा कर चुका है, यह देखने के लिए एक विंडो से दूसरी विंडो पर क्लिक करने में तुम्हारा कम समय बर्बाद होगा।
इसका फायदा उठाने के लिए
Claude Code को अपडेट करने के लिए एक कमांड काफी है, और यह जाँचने के लिए दूसरी कि तुम्हारे पास कम से कम 2.1.296 है:
claude update
claude --versionसारी जानकारी Claude Code के वर्ज़नों के जर्नल में है, अंग्रेज़ी में, और वह लंबा है: Anthropic लगभग हर दिन एक वर्ज़न जारी करता है।
मेरे लिए, यह हफ्ता लंबे समय में सबसे उपयोगी हफ्तों में से एक है। न कोई बड़ी घोषणा, न कोई नया मॉडल, बस ऐसी चीज़ें जो उन लोगों को हर दिन खलती थीं जो इसे सचमुच इस्तेमाल करते हैं। क्रैश होने पर रोक लगाने वाला hook, सच कहूँ तो, ऐसी सेटिंग है जो पहले ही दिन से होनी चाहिए थी।
तो Claude Code की टीम से: effort बटन के लिए शुक्रिया। मेरे एजेंटों की सोलह कॉपियाँ तुम्हें सलाम कहती हैं, उन्हें अभी तक नहीं पता कि वे कूड़ेदान में जाने वाली हैं!
स्रोत
यह लेख Claude Code की मदद से लिखा गया, मैंने इसे पढ़कर सुधारा है।




बातचीत में शामिल हों
इस लेख पर टिप्पणी करने के लिए आपके पास एक खाता होना चाहिए। खाता बनाना निःशुल्क है और इसमें एक मिनट से भी कम समय लगता है।
अभी तक कोई टिप्पणी नहीं।