00:00:00Claude Code को पिछले साल 22 मई को Claude 3.5 Sonnet के साथ लॉन्च किया गया था।
00:00:06लेकिन इससे पहले एक रिसर्च प्रिव्यू भी था, और मैं इस टूल का उपयोग
00:00:11पिछले एक साल से थोड़ा ज़्यादा समय से कर रहा हूँ, और मैंने असल में हिसाब लगाया है।
00:00:15अगर आप प्रॉम्प्ट देने, कोड रिव्यू करने और मॉनिटर करने के समय को जोड़ें, तो मैंने इसे
00:00:212000 घंटों से ज़्यादा इस्तेमाल किया है। तो हाँ, मेरे पास आपको सिखाने के लिए बहुत कुछ है।
00:00:27तो अभी, मैं आपके साथ अपनी वे सारी जांची-परखी रणनीतियाँ साझा करना चाहता हूँ जो आपको
00:00:31एक बेसिक यूजर से पावर यूजर बना देंगी। मैंने इन सबको एक साथ
00:00:37WISC फ्रेमवर्क में बांधा है। और ये रणनीतियाँ वाकई काम करती हैं।
00:00:43मैं उन AI कंटेंट क्रिएटर्स में से नहीं हूँ जो पिछले कुछ महीनों से बहती गंगा में हाथ धो रहे हैं।
00:00:48मैं इसे एक साल से रोज़ाना इस्तेमाल कर रहा हूँ। इसलिए ये रणनीतियाँ
00:00:54किसी भी कोडबेस पर काम करेंगी, चाहे वो कितना भी बड़ा या जटिल क्यों न हो।
00:01:00मैंने इसे एंटरप्राइज लेवल पर भी लागू होते देखा है, इसलिए ये आपके काम भी आएगा।
00:01:05यह किसी भी AI कोडिंग असिस्टेंट के लिए काम करेगा, बस मैं Claude Code पर ध्यान दे रहा हूँ क्योंकि अभी यही सबसे अच्छा है।
00:01:10मैं मान कर चल रहा हूँ कि आपको Claude Code की बेसिक समझ है, और
00:01:15अब आप इसे अगले स्तर पर ले जाना चाहते हैं। अगर आपको AI कोडिंग के बेसिक्स सीखने हैं,
00:01:21तो मैं उस वीडियो का लिंक यहाँ दे दूँगा। ये रणनीतियाँ तब काम आती हैं
00:01:25जब हम असली कोडबेस पर काम करते हैं जो उलझे हुए होते हैं, क्योंकि हमारे पास यहाँ कई
00:01:32कॉन्टेक्स्ट मैनेजमेंट रणनीतियाँ हैं। यह महत्वपूर्ण है क्योंकि कॉन्टेक्स्ट का खराब होना ही सबसे बड़ी समस्या है।
00:01:38इससे फर्क नहीं पड़ता कि हमारे पास 10 लाख टोकन की लिमिट है, हमें फिर भी
00:01:43अपने कॉन्टेक्स्ट को एक कीमती संसाधन की तरह मानना होगा जिसे बहुत सावधानी से तैयार करना होगा।
00:01:49तो W, I, S, और C, ये सभी रणनीतियाँ इसी पर लागू होती हैं, और
00:01:56इन्हें आप अपने प्रोजेक्ट्स पर तुरंत इस्तेमाल करना शुरू कर सकते हैं।
00:02:00तो मैं इसे आपके लिए बहुत सरल तरीके से समझाऊँगा। अब आप सोच रहे होंगे कि,
00:02:05कोल, हम कॉन्टेक्स्ट मैनेजमेंट पर इतना ध्यान क्यों दे रहे हैं? 2,000 घंटों के अनुभव के बाद
00:02:11यही वो चीज़ है जिस पर आप फोकस करना चाहते हैं? और मेरा जवाब है, हाँ।
00:02:17मैं कहूँगा कि जब भी आपका कोडिंग एजेंट आपके कोडबेस में गलती करता है,
00:02:23तो 80% बार ऐसा इसलिए होता है क्योंकि आप अपने कॉन्टेक्स्ट को ठीक से मैनेज नहीं कर रहे हैं।
00:02:28इसलिए मैं पहले कॉन्टेक्स्ट की समस्या से शुरू करूँगा, और फिर
00:02:33जल्दी ही WISC फ्रेमवर्क के हर हिस्से की बारीकियों में जाऊँगा। लेकिन मैं
00:02:38इसे एक भूमिका के तौर पर शुरू करना चाहता हूँ ताकि आप समझ सकें कि क्यों।
00:02:45WISC फ्रेमवर्क लागू करने के बाद, आप अपनी AI कोडिंग की विश्वसनीयता में तुरंत उछाल देखेंगे।
00:02:50मैं बड़े और उलझे हुए कोडबेसों पर ज़ोर दे रहा हूँ क्योंकि वहीं कॉन्टेक्स्ट की समस्या
00:02:56सबसे ज़्यादा परेशानी पैदा करती है। अब, इस विषय पर इंडस्ट्री में काफी रिसर्च हुई है,
00:03:02लेकिन मेरी पसंदीदा और सबसे व्यावहारिक रिपोर्ट "Chroma Technical Report" है।
00:03:07यह कवर करती है कि कैसे ज़्यादा टोकन डालने से LLM के प्रदर्शन पर असर पड़ता है।
00:03:13मुख्य बात यह है कि सिर्फ इसलिए कि आप बहुत सारे टोकन डाल सकते हैं, इसका मतलब यह नहीं है
00:03:18कि आपको ऐसा करना चाहिए। और हाँ, यह Claude की 10 लाख टोकन की लिमिट पर भी लागू होता है।
00:03:24क्योंकि इंसानों की तरह ही AI मॉडल भी ज़रूरत से ज़्यादा जानकारी मिलने पर उलझ जाते हैं।
00:03:30इसे "सूखी घास के ढेर में सुई ढूँढना" (needle in the haystack) वाली समस्या कहते हैं।
00:03:35जब आपको किसी खास जानकारी या फाइल की ज़रूरत होती है जिसे एजेंट ने पढ़ा है,
00:03:41तो वो उसे तभी ठीक से याद रख पाएगा जब उसका कॉन्टेक्स्ट बहुत ज़्यादा भरा हुआ न हो।
00:03:47जब बहुत सारा कॉन्टेक्स्ट लोड हो जाता है, तो "डिस्ट्रैक्टर्स" (distractors) आने लगते हैं।
00:03:52ये वो जानकारियाँ होती हैं जो आपकी ज़रूरत की चीज़ के करीब तो होती हैं, पर सही नहीं होतीं।
00:03:58AI कोडिंग में यह अक्सर होता है, खासकर बड़े कोडबेसों में।
00:04:04हम पूरे कोडबेस में एक ही तरह के पैटर्न इस्तेमाल करते हैं, जिससे चीज़ें एक जैसी लगती हैं।
00:04:09ऐसे में AI गलत जानकारी उठा लेता है और बड़े आत्मविश्वास के साथ आपको गलत सुझाव देता है।
00:04:14मुझे यकीन है कि आपने इसे होते हुए कई बार देखा होगा।
00:04:19यह समस्या AI कोडिंग में हर समय आती है। यही कॉन्टेक्स्ट का खराब होना है।
00:04:24विंडो जितनी बड़ी होती जाएगी, मॉडल के लिए बिल्कुल सटीक जानकारी निकालना
00:04:30उतना ही मुश्किल होता जाएगा।
00:04:36तो डायग्राम पर वापस चलते हुए, मैं आपको बिल्कुल साफ बताता हूँ।
00:04:42इन रणनीतियों से हम इस सवाल का हल निकाल रहे हैं कि: हम अपने कॉन्टेक्स्ट को
00:04:48जितना हो सके उतना हल्का कैसे रखें और फिर भी एजेंट को सारी ज़रूरी जानकारी दें?
00:04:53यही वो कॉन्टेक्स्ट इंजीनियरिंग है जो हम यहाँ कर रहे हैं। मैं हर रणनीति के बारे में बताऊँगा।
00:04:57मेरे पास एक जटिल कोडबेस पर हर चीज़ का उदाहरण है जिसे मैं आपको लाइव दिखाऊँगा।
00:05:02सारे कमांड्स, रूल्स और डॉक्यूमेंट्स मैंने एक फोल्डर में डाल दिए हैं जिसका लिंक डिस्क्रिप्शन में है।
00:05:06तो आप इन रणनीतियों को न केवल समझ सकते हैं, बल्कि इन उदाहरणों का
00:05:12इस्तेमाल भी कर सकते हैं। चलिए अब एक-एक करके रणनीतियों को समझते हैं।
00:05:17W का मतलब Write, I का Isolate, S का Select और C का Compress है।
00:05:24ज़ाहिर है, हम W यानी 'लिखने' से शुरू करेंगे, जो एजेंट की मेमोरी को बाहरी रूप देना है।
00:05:30हम चाहते हैं कि एजेंट के मुख्य फैसलों और काम को ज़्यादा से ज़्यादा रिकॉर्ड करें
00:05:34ताकि भविष्य के सेशन्स में हम एजेंट को जल्दी अपडेट कर सकें और
00:05:40एजेंट को समझाने में हमें कम टोकन खर्च करने पड़ें। तो पहली रणनीति है:
00:05:46Git log को लॉन्ग-टर्म मेमोरी की तरह इस्तेमाल करना। मुझे यह बहुत पसंद है क्योंकि
00:05:52बहुत से लोग कोडिंग एजेंट के लिए बहुत ही जटिल मेमोरी सिस्टम बनाने की कोशिश करते हैं,
00:05:56जबकि हर कोई पहले से ही Git और GitHub का इस्तेमाल कर रहा है। तो हम
00:06:01उसी टूल का फायदा उठा सकते हैं जो हमारे पास पहले से है। चलिए मैं आपको दिखाता हूँ।
00:06:07सारे उदाहरणों के लिए मैं जिस कोडबेस का इस्तेमाल करूँगा वो है नया "Archon"।
00:06:12मैं पिछले कुछ महीनों से पर्दे के पीछे इस पर कड़ी मेहनत कर रहा हूँ।
00:06:18यह आपका AI कमांड सेंटर है जहाँ आप लंबे समय तक चलने वाले AI कोडिंग वर्कफ़्लो बना और चला सकते हैं।
00:06:23हम एक वर्कफ़्लो बिल्डर पर भी काम कर रहे हैं जो AI कोडिंग के लिए N8N जैसा होगा।
00:06:28हम वर्कफ़्लो शुरू कर सकते हैं, लॉग्स देख सकते हैं और मिशन कंट्रोल में उन्हें मॉनिटर कर सकते हैं।
00:06:33हम पुराने रन भी देख सकते हैं। जैसे कि यह एक बहुत लंबा वर्कफ़्लो है जो
00:06:39मेरे कोडबेस में पूरी पुल रिक्वेस्ट को वैलिडेट करने के लिए है।
00:06:44इसे देखकर आप समझ सकते हैं कि इसमें बहुत सारी चीज़ें एक साथ काम कर रही हैं।
00:06:47यह एक बहुत ही जटिल कोडबेस है, इसलिए उन रणनीतियों के लिए
00:06:51एक बेहतरीन उदाहरण है जिन्हें हम कवर करने जा रहे हैं।
00:06:57Git को लॉन्ग-टर्म मेमोरी की तरह इस्तेमाल करने के लिए, मैं आपको यहाँ एक उदाहरण दिखाऊँगा
00:07:03मेरे सभी हालिया कमिट मैसेज के लिए। यहाँ गौर करने वाली बात यह है कि
00:07:09हमारे पास इन कमिट मैसेज को बनाने का एक बहुत ही मानक (standard) तरीका है।
00:07:13इसमें मर्ज भी हैं और फीचर इम्प्लीमेंटेशन और फिक्स भी। सब कुछ बहुत व्यवस्थित है
00:07:19ताकि मैं इन मैसेज के ज़रिए एजेंट को बता सकूँ कि मैंने हाल ही में क्या काम किया है,
00:07:24क्योंकि अक्सर वही तय करता है कि आगे क्या करना है। और यह इतना
00:07:29व्यवस्थित इसलिए है क्योंकि मैं एक 'कमिट कमांड' चलाता हूँ।
00:07:36वैसे Git कमिट करना आसान है, लेकिन अगर हम मैसेज को मानक बनाना चाहते हैं
00:07:40और एजेंट की मदद लेना चाहते हैं, तो एक खास कमांड होना बहुत शक्तिशाली होता है।
00:07:46मैंने यहाँ कोडिंग एजेंट के साथ एक ही सेशन में इसे पूरा लागू किया है।
00:07:51अब मैं अपना कमिट चलाने के लिए तैयार हूँ। तो अगर मैं बस slash commit चलाता हूँ,
00:07:55तो यह उस कमांड को रन करता है जो काम को डॉक्यूमेंट करने के तरीके को मानक बनाता है।
00:08:01इसमें यह भी शामिल है कि हमने AI लेयर को बेहतर बनाने के लिए क्या किया।
00:08:06तो यह कमिट कर देगा और मैं आपको दिखाऊँगा कि यह बाद में कैसा दिखता है।
00:08:10अब हमारे कमिट मैसेज को देखें, तो हम देख सकते हैं कि हमने CLI में कुछ टेस्ट सुधार किए हैं।
00:08:14एक अच्छा प्रीफिक्स और फिर विस्तार से जानकारी। और साथ ही, ताकि
00:08:19एजेंट को पता रहे कि उसके अपने नियम समय के साथ कैसे बदल रहे हैं,
00:08:23हम उसे भी कमिट मैसेज में शामिल करते हैं। और ज़ाहिर है,
00:08:29यह कमिट कमांड उन संसाधनों में से एक है जो मैंने आपको रिपॉजिटरी में दिए हैं।
00:08:33आप इसे एक शुरुआती बिंदु की तरह इस्तेमाल कर सकते हैं, पर मैं आपको इसे
00:08:37कस्टमाइज़ करने के लिए प्रोत्साहित करता हूँ। ज़रूरी बात यह है कि मैसेज विस्तृत और मानक हों
00:08:41ताकि उन्हें लॉन्ग-टर्म मेमोरी की तरह इस्तेमाल किया जा सके।
00:08:47अब दूसरी 'Write' रणनीति है: कोई भी नया कोड लिखते समय हमेशा
00:08:53एक बिल्कुल नई कॉन्टेक्स्ट विंडो शुरू करें। मेरा वर्कफ़्लो हमेशा ऐसा होता है: एक बातचीत प्लानिंग के लिए,
00:08:57जिसमें मैं एक मार्कडाउन प्लान बनाता हूँ, और फिर उसे एक नए सेशन में
00:09:03इकलौते कॉन्टेक्स्ट के रूप में भेजता हूँ। यह बहुत ज़रूरी है कि आपके स्पेसिफिकेशन (spec) में
00:09:08कोड लिखने और उसे जांचने के लिए सारी ज़रूरी जानकारी हो। उदाहरण के लिए,
00:09:14इस बातचीत में मैं सिर्फ प्लानिंग कर रहा हूँ। शुरू करने के लिए मैं अपना 'prime' कमांड चलाता हूँ।
00:09:18मैं कॉन्टेक्स्ट लोड करता हूँ और फिर इस कमांड से अपना प्लान बनाता हूँ।
00:09:24यह भी मैंने आपको संसाधन के तौर पर दिया है। यह असल में एजेंट को बताता है कि
00:09:28हमें उस इकलौते मार्कडाउन डॉक्यूमेंट के लिए कैसा स्ट्रक्चर चाहिए। तो हम अपनी शॉर्ट-टर्म मेमोरी को
00:09:33एक डॉक्यूमेंट में बदलते हैं, और सेशन यहीं खत्म करते हैं। फिर हम
00:09:38एक नई विंडो में जाते हैं और इम्प्लीमेंटेशन शुरू करते हैं। वहाँ मैं अपना 'execute' कमांड चलाता हूँ
00:09:42और अपने स्ट्रक्चर्ड प्लान का पाथ देता हूँ। कोई दूसरा कॉन्टेक्स्ट नहीं क्योंकि
00:09:48इसमें सब कुछ होना चाहिए। यह बहुत ज़रूरी है क्योंकि इससे एजेंट का पूरा ध्यान
00:09:53सिर्फ उसी काम पर रहता है। अगर हम प्लानिंग वाली जगह पर ही कोडिंग करेंगे तो कॉन्टेक्स्ट उलझ सकता है।
00:09:57एजेंट की मेमोरी को बाहर रखने की जो आखिरी 'W' रणनीति मेरे पास है, वो है
00:10:03प्रोग्रेस फाइल्स और डिसीजन लॉग्स। आप इसे बड़े AI फ्रेमवर्क्स में अक्सर देखेंगे
00:10:08जहाँ handoff.md या todo.md जैसी फाइल्स अलग-अलग एजेंट्स या
00:10:13अलग-अलग सेशन्स के बीच बात करने के लिए इस्तेमाल होती हैं। जब कॉन्टेक्स्ट कम होने लगता है,
00:10:17तो आप अक्सर जो कुछ भी किया गया है उसका एक सारांश (summary) बनाना चाहते हैं।
00:10:22ताकि आप एक नए सेशन में जा सकें, क्योंकि लंबी बातचीत में
00:10:27एजेंट गलतियाँ करने लगता है। वैसे तो लंबी बातचीत से बचना ही बेहतर है,
00:10:33पर कभी-कभी वो ज़रूरी होती हैं। उदाहरण के लिए, Archon के साथ मैं अक्सर
00:10:38ब्राउज़र के अंदर एंड-टू-एंड टेस्टिंग करने के लिए Vercel के एजेंट का इस्तेमाल करता हूँ।
00:10:44इसमें एजेंट कई अलग-अलग रास्तों और टेस्ट केसेस से होकर गुज़रता है।
00:10:49इसमें बहुत कॉन्टेक्स्ट लगता है। नीचे देखें, मैंने slash context चलाया और हम पहले ही
00:10:5610 लाख की लिमिट में से 2 लाख तक पहुँच गए हैं। यह बहुत जल्दी भर जाता है।
00:11:01और जब एक बार कॉन्टेक्स्ट में कुछ लाख टोकन हो जाते हैं, तो एजेंट का प्रदर्शन गिरने लगता है।
00:11:05तो मैं बस slash handoff चला सकता हूँ। यह कमांड एक सारांश बनाएगा जिसे
00:11:11दूसरे सेशन में भेजा जा सकता है ताकि दूसरा एजेंट काम जारी रख सके। पर अब उसके पास
00:11:16हज़ारों फालतू पुराने टूल कॉल्स का बोझ नहीं होगा। और यह handoff कमांड
00:11:21बस एक प्रक्रिया है कि हमें इस डॉक्यूमेंट में बिल्कुल क्या-क्या डालना है।
00:11:25तो ये थी हमारी 'W' रणनीतियाँ। इनमें से हर एक बहुत महत्वपूर्ण है क्योंकि
00:11:31हम भविष्य के लिए मुख्य फैसलों को रिकॉर्ड कर रहे हैं। मुझे पता है मैं थोड़ा तेज़ चल रहा हूँ,
00:11:36तो कमेंट्स में बताएँ कि क्या आप इनमें से किसी भी रणनीति पर एक पूरा वीडियो चाहते हैं,
00:11:40क्योंकि मैं हर एक पर विस्तार से बात कर सकता हूँ।
00:11:45अब हम आते हैं 'I' यानी Isolate (अलग करना) पर, जिसमें हम सब-एजेंट्स का इस्तेमाल करते हैं।
00:11:52मुझे रिसर्च के लिए सब-एजेंट्स का इस्तेमाल करना बहुत पसंद है, मैं इन्हें हर सेशन में इस्तेमाल करता हूँ।
00:11:56यहाँ ज़रूरी बात है अपने मुख्य कॉन्टेक्स्ट को साफ रखना। हम सब-एजेंट्स से
00:12:03कोडबेस या वेब पर हज़ारों टोकन वाली रिसर्च करवा सकते हैं, और फिर
00:12:10सिर्फ ज़रूरी सारांश को अपने मुख्य Claude Code कॉन्टेक्स्ट में ला सकते हैं।
00:12:16तो हज़ारों टोकन लोड करने के बजाय, अब ये सिर्फ 500 टोकन जैसा कुछ होगा।
00:12:21हमें ज़रूरी जानकारी भी मिल गई और रिसर्च के अनुसार सब-एजेंट्स का इस्तेमाल करने से
00:12:2890.2% तक का सुधार भी देखा गया है, बजाय इसके कि मुख्य एजेंट ही सब कुछ करे।
00:12:33चलिए मैं आपको इसका एक छोटा सा उदाहरण देता हूँ। यह हमेशा बातचीत के शुरू में
00:12:38या उस स्ट्रक्चर्ड प्लान से पहले होता है जो मैंने पहले दिखाया था। मैं अभी प्लानिंग प्रोसेस में हूँ।
00:12:43यहीं पर मैं सब-एजेंट्स का खूब इस्तेमाल करता हूँ। इसे देखिए: मुझे Archon में एक वर्कफ़्लो बिल्डर बनाना है।
00:12:50तो मैं चाहता हूँ कि तुम दो सब-एजेंट्स बनाओ: एक जो कोडबेस में रिसर्च करे
00:12:55कि हम वर्कफ़्लो बिल्डर कैसे बना सकते हैं, और दूसरा सब-एजेंट जो
00:13:01वेब रिसर्च करे कि इस टेक स्टैक के लिए सबसे अच्छे तरीके क्या हैं। जैसे अगर मुझे React इस्तेमाल करना है,
00:13:06तो कौन सी लाइब्रेरी सही रहेगी? और हम N8N जैसे वर्कफ़्लो बिल्डर कैसे बनाते हैं? तो मैं बस
00:13:12अपने स्पीच-टू-टेक्स्ट टूल का इस्तेमाल कर रहा हूँ। प्रॉम्प्ट भेज दिया। अब देखिए।
00:13:16यहाँ हमें सिर्फ आइसोलेशन का ही नहीं, बल्कि स्पीड का भी फायदा मिलता है क्योंकि ये दोनों
00:13:21एक साथ (parallel) काम करेंगे, सारांश लाएंगे और फिर मुख्य एजेंट सब कुछ समझ कर मुझे बताएगा।
00:13:26तो देखिए, दोनों सब-एजेंट्स बैकग्राउंड में एक साथ चल रहे हैं। हम
00:13:31उनके अलग-अलग लॉग्स भी देख सकते हैं। और काम खत्म होने पर वो रिपोर्ट के साथ वापस आएंगे।
00:13:36ठीक है, सब-एजेंट्स का काम पूरा हुआ। और अपनी मुख्य विंडो में लाखों टोकन भरने के बजाय,
00:13:41जितना उन सब-एजेंट्स ने रिसर्च के दौरान इस्तेमाल किया था,
00:13:46हमने सिर्फ 44,000 टोकन इस्तेमाल किए, जो हमारी विंडो का सिर्फ 4% है। यही है सब-एजेंट्स की ताकत।
00:13:53मैं कोडिंग (implementation) के लिए इनकी सलाह नहीं देता क्योंकि तब आपको पूरा कॉन्टेक्स्ट चाहिए होता है,
00:13:57लेकिन रिसर्च के लिए ये बहुत शक्तिशाली हैं।
00:14:04सब-एजेंट्स को इस्तेमाल करने का एक और तरीका है जिसे मैं "स्काउट पैटर्न" (scout pattern) कहता हूँ।
00:14:09हम अपना मुख्य कॉन्टेक्स्ट भरने से पहले 'स्काउट्स' भेजते हैं। आपके कोडबेस या डॉक्यूमेंटेशन
00:14:14के कुछ हिस्से ऐसे हो सकते हैं जिन्हें आप चाहते हैं कि सब-एजेंट पहले जाकर देखे
00:14:21कि क्या उन्हें मुख्य सेशन में लोड करना ज़रूरी है। तो वो पहले ही फैसला ले सकता है कि
00:14:25हाँ, इसे प्लानिंग के लिए लाओ, या नहीं, ये काम का नहीं है, इसे छोड़ दो।
00:14:30जैसे Archon के लिए मेरे पास कुछ मार्कडाउन डॉक्यूमेंट्स हैं जो कोडबेस की गहराई में जाते हैं,
00:14:36इन्हें मैं हर वक्त रूल्स में नहीं रखना चाहता क्योंकि इनकी हमेशा ज़रूरत नहीं होती। पर कभी-कभी
00:14:41आप इन्हें लोड करना चाह सकते हैं, जैसे Google Drive या Confluence में रखी जानकारी।
00:14:45तो वापस इस बातचीत पर आते हुए, मैं कह सकता हूँ कि,
00:14:48एक सब-एजेंट बनाओ जो मेरे claude/docs वाले सारे डॉक्यूमेंट्स को पढ़े। क्या
00:14:54यहाँ कोई ऐसी चीज़ है जिसे हमें प्लानिंग के लिए मुख्य कॉन्टेक्स्ट में डालना चाहिए?
00:14:59मैं इसे भेज दूँगा, वो फैसला करेगा और जो ज़रूरी है उसे लोड कर देगा। यहाँ देखिए,
00:15:04हमने एक 'explore' सब-एजेंट शुरू किया। उसने सारे डॉक्यूमेंट्स ढूँढे और एक को लोड करने की सलाह दी।
00:15:09और मैंने कहा, हाँ, इसे लोड कर लो। ये हमारी प्लानिंग के लिए बहुत ज़रूरी है।
00:15:13तो सिर्फ रिसर्च के लिए ही नहीं, कभी-कभी खास डॉक्यूमेंट्स को चुनने के लिए भी
00:15:18हम 'स्काउट पैटर्न' का इस्तेमाल करते हैं। तो ये था आइसोलेशन के बारे में।
00:15:23याद रखें, रिसर्च और प्लानिंग के लिए सब-एजेंट्स का खूब इस्तेमाल करें।
00:15:28अब हम आते हैं 'S' यानी Select (चुनना) पर। कॉन्टेक्स्ट को सिर्फ ज़रूरत पड़ने पर लोड करें,
00:15:34न कि सिर्फ 'हो सकता है काम आ जाए' सोचकर। मेरा मतलब है कि अगर आप
00:15:40100% पक्का नहीं हैं कि कोई जानकारी अभी ज़रूरी है, तो उसे लोड न करें।
00:15:46इसमें मदद के लिए हमारे पास एक लेयर्ड (परत दर परत) तरीका है। हम शुरू करते हैं ग्लोबल रूल्स से।
00:15:51ये वो पाबंदियाँ और तरीके हैं जिनके बारे में हम चाहते हैं कि एजेंट हमेशा जानता रहे।
00:15:57यह फाइल काफी छोटी होनी चाहिए, मैं इसे आमतौर पर 500 से 700 लाइनों के बीच रखता हूँ।
00:16:02कई लोग इससे भी कम की सलाह देते हैं, पर इसमें आपके आर्किटेक्चर, ज़रूरी कमांड्स, और
00:16:08टेस्टिंग जैसी चीज़ें होती हैं। ये Archon का उदाहरण है, पर ये वो चीज़ें हैं
00:16:12जिन्हें आप चाहते हैं कि एजेंट हर वक्त याद रखे। फिर आती है दूसरी लेयर।
00:16:18इसे मैं 'ऑन-डिमांड कॉन्टेक्स्ट' कहता हूँ, ये नियम कोडबेस के खास हिस्सों पर लागू होते हैं।
00:16:23जैसे अगर हम फ्रंट-एंड पर काम कर रहे हैं (जो हम हमेशा नहीं करते), तो
00:16:28सिर्फ तब फ्रंट-एंड के ग्लोबल रूल्स लोड करें, या API बनाने के नियम।
00:16:33तो हम खास कामों के लिए इन रूल्स को ग्लोबल रूल्स के साथ जोड़ देते हैं,
00:16:38क्योंकि हम हर वक्त एक ही चीज़ पर काम नहीं कर रहे होते। एक उदाहरण के तौर पर,
00:16:43वर्कफ़्लो YAML रेफरेंस है जिसे मैंने अभी Explorer सब-एजेंट के ज़रिए निकाला था।
00:16:48जब हम वर्कफ़्लो पर काम कर रहे होते हैं, तब हमें इसकी ज़रूरत होती है, पर इसे ग्लोबल रूल्स में नहीं रखना चाहिए
00:16:52क्योंकि ज़्यादातर समय हम Archon के इस खास हिस्से पर काम नहीं कर रहे होते।
00:16:57तो यह ऑन-डिमांड कॉन्टेक्स्ट है। इसके बाद तीसरी लेयर आती है: स्किल्स (Skills)।
00:17:05यह आजकल Claude Code और बाकी जगहों पर बहुत लोकप्रिय है। यहाँ अलग-अलग स्तर होते हैं
00:17:10जहाँ एजेंट किसी स्किल की क्षमता और निर्देश तभी देखता है जब उसे लगता है कि उसे ज़रूरत है।
00:17:15हम एक छोटे से विवरण (description) से शुरू करते हैं जो ग्लोबल रूल्स के साथ लोड होता है।
00:17:20अगर एजेंट उस स्किल को इस्तेमाल करने का फैसला करता है, तो वो पूरी skill.md फाइल लोड करता है,
00:17:25जो आगे चलकर दूसरे स्क्रिप्ट्स या डॉक्यूमेंट्स की तरफ भी इशारा कर सकती है
00:17:29अगर हमें और गहराई में जाना हो। उदाहरण के लिए, मेरे पास एजेंट ब्राउज़र स्किल है।
00:17:35इसे मैं अपनी ब्राउज़र ऑटोमेशन और एंड-टू-एंड टेस्टिंग के लिए इस्तेमाल करता हूँ।
00:17:40मैं इसे रोज़ इस्तेमाल करता हूँ। तो जब भी मैं एंड-टू-एंड टेस्टिंग कर रहा होता हूँ,
00:17:46तब मैं चाहता हूँ कि एजेंट इसे लोड करे ताकि वो समझ सके कि ब्राउज़र का इस्तेमाल कैसे करना है।
00:17:52और आखिर में चौथी लेयर है: प्राइम कमांड्स (Prime Commands)।
00:17:57अभी तक मैंने जो कुछ बताया वो स्थिर (static) डॉक्यूमेंटेशन था जिसे हम कभी-कभी अपडेट करते हैं।
00:18:02पर कभी-कभी हमें चाहिए कि एजेंट हमारे लाइव कोडबेस को खुद जाकर देखे।
00:18:07हमें पक्का करना होता है कि उसके पास ताज़ा जानकारी हो, और इसके लिए हम थोड़े टोकन खर्च करने को तैयार रहते हैं।
00:18:11प्राइम कमांड यही करता है, यह प्लानिंग प्रोसेस के शुरू में हमारे कोडबेस की जांच करता है
00:18:16ताकि वो समझ सके कि हम आगे क्या बनाने वाले हैं। और जैसा कि आप देख सकते हैं,
00:18:22मेरे कमांड्स फोल्डर में कई अलग-अलग प्राइम कमांड्स हैं क्योंकि
00:18:27मैं चाहता हूँ कि एजेंट अलग-अलग हिस्सों को समझे। मेरा सामान्य प्राइम कमांड
00:18:32यह वाला है। मैं इसे बस Archon कोडबेस की ऊपरी समझ लेने के लिए कहता हूँ।
00:18:36इसमें एक-एक करके बताया गया है कि उसे क्या पढ़ना है, जिसमें git log भी शामिल है
00:18:41क्योंकि वो लॉन्ग-टर्म मेमोरी के लिए ज़रूरी है। मेरे पास एक खास
00:18:47prime-workflows कमांड भी है जब मुझे पता हो कि मैं वर्कफ़्लो इंजन पर काम करने वाला हूँ।
00:18:53तो मैं इसे बातचीत के शुरू में इस्तेमाल करता हूँ ताकि एजेंट सब कुछ जल्दी लोड कर ले।
00:18:58जब वो कन्फर्म कर देता है कि वो समझ गया है, तब मैं प्लानिंग शुरू करता हूँ जैसा मैंने पहले दिखाया था।
00:19:03तो संक्षेप में: ग्लोबल रूल्स हमेशा लोड होते हैं। ऑन-डिमांड कॉन्टेक्स्ट तब,
00:19:09जब आप कोडबेस के किसी ऐसे हिस्से पर काम कर रहे हों जिसके अलग नियम हों।
00:19:13स्किल्स तब, जब आपको खास क्षमताओं की ज़रूरत हो, जैसे ब्राउज़र टेस्टिंग।
00:19:18और प्राइम कमांड्स मैं आमतौर पर बातचीत के बिल्कुल शुरू में चलाता हूँ
00:19:22ताकि आगे की प्लानिंग के लिए ज़मीन तैयार हो सके। तो ये था Select के बारे में।
00:19:28अब हम Compress (छोटा करना) पर आते हैं, और इसे कवर करना सबसे तेज़ होगा
00:19:34क्योंकि अगर आप Write, Isolate और Select ठीक से कर रहे हैं, तो आपको इसकी अक्सर ज़रूरत नहीं पड़ेगी।
00:19:39अगर हम कॉन्टेक्स्ट को हल्का रखने के लिए बाकी रणनीतियों का इस्तेमाल करते हैं, तो हम इससे बच सकते हैं,
00:19:46और यह अच्छा है क्योंकि आपको जितना हो सके कम्प्रेशन से बचना चाहिए। पर अगर करना ही पड़े,
00:19:52तो इसकी दो मुख्य रणनीतियाँ हैं: handoff और focus compaction।
00:19:56चलिए Claude Code में इसे देखते हैं। Handoff के बारे में हम पहले ही बात कर चुके हैं,
00:20:02यह हमारी 'Write' रणनीतियों में से एक है। हम जो कुछ भी किया उसे सारांशित करते हैं ताकि
00:20:06दूसरे एजेंट को या उसी एजेंट को कम्प्रेशन के बाद दे सकें। और फिर
00:20:12Claude Code में एक इन-बिल्ट slash compact कमांड है। यह हमारी बातचीत का सारांश बनाएगा,
00:20:18पूरी बातचीत मिटा देगा और उस सारांश को कॉन्टेक्स्ट विंडो के सबसे ऊपर रख देगा।
00:20:23Handoff बहुत शक्तिशाली है क्योंकि इसमें हम खुद तय करते हैं कि जानकारी कैसे याद रखनी है।
00:20:28लेकिन slash compact भी उपयोगी है, खासकर इसलिए क्योंकि हम इसमें सारांश के लिए
00:20:34खास निर्देश दे सकते हैं। जब मुझे बिल्कुल कम्प्रेशन करना ही होता है, तो मैं इसे ही इस्तेमाल करता हूँ।
00:20:41उदाहरण के लिए: उन 'edge cases' पर ध्यान दो जिन्हें हमने अभी टेस्ट किया है।
00:20:48तो जब वो सारांश बनाएगा, तो वो अपनी शॉर्ट-टर्म मेमोरी के उस हिस्से पर ज़्यादा ध्यान देगा।
00:20:53स्पेलिंग गलत हो गई पर कोई बात नहीं, ये काम कर जाएगा। तो Handoff और slash compact
00:20:58विकल्प की तरह हैं। पर कभी-कभी मैं दोनों का इस्तेमाल करता हूँ।
00:21:03अगर बातचीत दो बार से ज़्यादा कॉम्पैक्ट करनी पड़ रही है, तो समझिये वो बहुत भारी हो गई है,
00:21:09तब Handoff के साथ नया सेशन शुरू करना बेहतर है। पर एक बार के लिए
00:21:14मैं slash compact इस्तेमाल कर लेता हूँ। पर कॉम्पैक्ट करने के बाद भी मैं अक्सर
00:21:19एजेंट से पूछता हूँ कि उसे क्या याद है ताकि मैं पक्का कर सकूँ कि वो सही रास्ते पर है।
00:21:24तो हाँ, ये आदर्श तरीका नहीं है। कम्प्रेशन से जितना हो सके बचें।
00:21:30सबसे अच्छी कम्प्रेशन रणनीति यही है कि आपको इसकी ज़रूरत ही न पड़े। तो ये था WISC फ्रेमवर्क।
00:21:36मुझे पता है ये काफी जानकारी थी, पर उम्मीद है कि आपको ये मददगार लगा होगा।
00:21:41मुझे बताएँ अगर आप किसी भी एक रणनीति को और गहराई से समझना चाहते हैं।
00:21:46उम्मीद है कि आप इसका इस्तेमाल Claude Code या किसी भी AI कोडिंग असिस्टेंट को
00:21:52बेहतर तरीके से चलाने के लिए करेंगे। अगर आपको यह वीडियो पसंद आया है
00:21:59और आप AI कोडिंग और इन फ्रेमवर्क्स के बारे में और जानना चाहते हैं,
00:22:04तो कृपया लाइक और सब्सक्राइब करें। इसके साथ ही, मैं आपको अगले वीडियो में मिलूँगा।
00:22:09अरे रुकिए! मेरे पास आपके लिए एक आखिरी चीज़ है जिसे आप मिस नहीं करना चाहेंगे।
00:22:142 अप्रैल को मैं अपने YouTube चैनल पर एक फ्री 'AI Transformation Workshop' लाइव होस्ट कर रहा हूँ,
00:22:20CTOX के फाउंडर Lior Weinstein के साथ। यह बहुत बड़ी बात है। Lior हमें सिखाएंगे कि
00:22:27पूरे संगठन को AI के लिए कैसे तैयार करें, और मैं आपको अपनी वो AI कोडिंग
00:22:32मेथडोलॉजी सिखाऊँगा जिससे मैं अपने कोडिंग एजेंट्स के लिए भरोसेमंद सिस्टम बनाता हूँ।
00:22:38डिस्क्रिप्शन में इसका लिंक होगा। यह मेरे चैनल पर लाइव होगा, तो आप
00:22:42इस बटन को दबाकर नोटिफिकेशन ऑन कर सकते हैं। मिलते हैं वहीं!