मैंने Claude Code का 2,000+ घंटों तक उपयोग किया है - जानिए मैं इससे कुछ भी कैसे बनाता हूँ

CCole Medin
Computing/SoftwareAdult EducationInternet Technology

Transcript

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इस बटन को दबाकर नोटिफिकेशन ऑन कर सकते हैं। मिलते हैं वहीं!

Key Takeaway

कुशल AI कोडिंग की कुंजी केवल बड़े टोकन लिमिट में डेटा भरना नहीं है, बल्कि 'WISC' फ्रेमवर्क के माध्यम से कॉन्टेक्स्ट को एक कीमती संसाधन की तरह सावधानीपूर्वक मैनेज करना है।

Highlights

AI कोडिंग में 2,000+ घंटों के अनुभव पर आधारित 'WISC' (Write, Isolate, Select, Compress) फ्रेमवर्क का परिचय।

कॉन्टेक्स्ट मैनेजमेंट की महत्ता: 80% AI गलतियाँ खराब कॉन्टेक्स्ट के कारण होती हैं, न कि मॉडल की अक्षमता के कारण।

Git log को लॉन्ग-टर्म मेमोरी की तरह उपयोग करना और मानकीकृत कमिट संदेशों के माध्यम से एजेंट को अपडेट रखना।

रिसर्च कार्यों के लिए 'सब-एजेंट्स' और 'स्काउट पैटर्न' का उपयोग करके मुख्य कॉन्टेक्स्ट विंडो को हल्का और सटीक रखना।

एक लेयर्ड कॉन्टेक्स्ट दृष्टिकोण जिसमें ग्लोबल रूल्स, ऑन-डिमांड कॉन्टेक्स्ट, स्किल्स और प्राइम कमांड्स शामिल हैं।

लंबी बातचीत के दौरान प्रदर्शन गिरावट से बचने के लिए 'slash compact' और 'handoff' जैसी कम्प्रेशन रणनीतियों का उपयोग।

Timeline

भूमिका और कॉन्टेक्स्ट की समस्या

वीडियो की शुरुआत लेखक के Claude Code के साथ 2,000 घंटों के गहन अनुभव के साथ होती है जहाँ वे 'WISC' फ्रेमवर्क पेश करते हैं। वे बताते हैं कि AI मॉडल अक्सर 'needle in the haystack' समस्या से जूझते हैं जहाँ बहुत अधिक जानकारी उन्हें भ्रमित कर देती है। लेखक 'Chroma Technical Report' का हवाला देते हुए कहते हैं कि 10 लाख टोकन की सीमा के बावजूद कॉन्टेक्स्ट को हल्का रखना अनिवार्य है। यहाँ मुख्य तर्क यह है कि 80% AI त्रुटियाँ खराब कॉन्टेक्स्ट इंजीनियरिंग का परिणाम होती हैं। यह खंड दर्शकों को यह समझने में मदद करता है कि क्यों सावधानीपूर्वक कॉन्टेक्स्ट मैनेजमेंट एक पावर यूजर बनने के लिए सबसे महत्वपूर्ण कौशल है।

W: Write - मेमोरी को बाहरी रूप देना

WISC का पहला अक्षर 'W' यानी 'Write' है, जिसका अर्थ है एजेंट के निर्णयों को रिकॉर्ड करना ताकि भविष्य के सेशन्स में कम टोकन खर्च हों। लेखक Git log को लॉन्ग-टर्म मेमोरी की तरह इस्तेमाल करने की सलाह देते हैं और एक विशेष 'slash commit' कमांड दिखाते हैं जो संदेशों को मानकीकृत करता है। एक अन्य महत्वपूर्ण रणनीति यह है कि हर नए कोड कार्यान्वयन के लिए एक पूरी तरह से नई कॉन्टेक्स्ट विंडो शुरू की जाए। वे 'handoff.md' जैसी प्रोग्रेस फाइलों के उपयोग पर भी चर्चा करते हैं जो एक सेशन के सारांश को दूसरे में स्थानांतरित करने में मदद करती हैं। यह रणनीति एजेंट की शॉर्ट-टर्म मेमोरी को स्थायी और खोजने योग्य दस्तावेज़ों में बदल देती है।

I: Isolate - सब-एजेंट्स और स्काउट पैटर्न

Isolate रणनीति के तहत लेखक रिसर्च और डेटा इकट्ठा करने के लिए 'सब-एजेंट्स' के उपयोग पर जोर देते हैं। मुख्य विंडो में हज़ारों टोकन लोड करने के बजाय सब-एजेंट्स बैकग्राउंड में रिसर्च करते हैं और केवल आवश्यक सारांश वापस लाते हैं। लेखक 'स्काउट पैटर्न' (Scout Pattern) का परिचय देते हैं जहाँ छोटे एजेंट पहले यह जांचते हैं कि कौन से दस्तावेज़ मुख्य कार्य के लिए प्रासंगिक हैं। उदाहरण के तौर पर Archon प्रोजेक्ट में सब-एजेंट्स का उपयोग करके 90% तक प्रदर्शन सुधार और टोकन की बचत दिखाई गई है। यह खंड स्पष्ट करता है कि जटिल कार्यों को विभाजित करने से मुख्य एजेंट का ध्यान और सटीकता कैसे बनी रहती है।

S: Select - लेयर्ड कॉन्टेक्स्ट दृष्टिकोण

Select का अर्थ है जानकारी को केवल तभी लोड करना जब उसकी वास्तविक आवश्यकता हो, जिसके लिए लेखक चार परतों का सुझाव देते हैं। पहली परत 'ग्लोबल रूल्स' है जो हमेशा सक्रिय रहते हैं, जबकि दूसरी परत 'ऑन-डिमांड कॉन्टेक्स्ट' है जो केवल विशिष्ट कार्य क्षेत्रों (जैसे API या UI) के लिए लोड होती है। तीसरी परत 'स्किल्स' (Skills) है जहाँ एजेंट को ब्राउज़र टेस्टिंग जैसे विशेष कार्यों के निर्देश तभी मिलते हैं जब वह उन्हें चुनता है। अंत में 'प्राइम कमांड्स' का उपयोग लाइव कोडबेस की वर्तमान स्थिति को समझने और योजना बनाने के लिए किया जाता है। यह व्यवस्थित दृष्टिकोण सुनिश्चित करता है कि AI मॉडल केवल वही जानकारी देखे जो वर्तमान समस्या को हल करने के लिए प्रासंगिक है।

C: Compress और समापन

WISC फ्रेमवर्क का अंतिम हिस्सा 'Compress' है, जिसे लेखक अंतिम विकल्प के रूप में उपयोग करने की सलाह देते हैं। वे Claude Code के इन-बिल्ट 'slash compact' कमांड का प्रदर्शन करते हैं जो बातचीत को छोटा करता है लेकिन अक्सर महत्वपूर्ण विवरण खो देता है। लेखक के अनुसार सबसे अच्छी कम्प्रेशन रणनीति वह है जिसकी आपको आवश्यकता ही न पड़े, यदि आप पहले के तीन चरणों का पालन करते हैं। वीडियो के अंत में वे 2 अप्रैल को होने वाली 'AI Transformation Workshop' के बारे में जानकारी साझा करते हैं। यह पूरा खंड दर्शकों को फ्रेमवर्क को लागू करने के व्यावहारिक तरीकों और भविष्य की सीखने की संभावनाओं के साथ छोड़ता है।

Community Posts

View all posts