00:00:00तो ऐसा लगता है कि अपने एजेंट्स को अतिरिक्त कॉन्टेक्स्ट देने के लिए 'स्किल्स' (skills) शायद सबसे अच्छा तरीका नहीं है और शायद agents.md फ़ाइल का इस्तेमाल करना ज़्यादा फ़ायदेमंद हो सकता है।
00:00:08दरअसल यह वह चौंकाने वाला नतीजा था जो Vercel को तब मिला जब वे कोडिंग एजेंट्स को Next.js डॉक्यूमेंटेशन देने का सबसे अच्छा तरीका टेस्ट कर रहे थे।
00:00:15तो चलिए सीधे मुद्दे पर आते हैं और देखते हैं कि क्या हुआ, क्यों हुआ और यह हमें कोडिंग एजेंट्स के प्रभावी इस्तेमाल के बारे में क्या सिखाता है।
00:00:26जैसा कि मैंने कहा, Vercel का लक्ष्य कोडिंग एजेंट को अतिरिक्त कॉन्टेक्स्ट देना था, इस मामले में Next.js डॉक्यूमेंटेशन, ताकि जब आप एजेंट का इस्तेमाल करें और Next.js लिख रहे हों, तो उसे सभी नए APIs के बारे में पता हो, क्योंकि उनमें से कुछ शायद अभी ट्रेनिंग डेटा में न हों।
00:00:41या इसका उल्टा भी हो सकता है—हो सकता है कि वह Next.js का कोई पुराना वर्शन हो और आप यह पक्का करना चाहते हों कि एजेंट सिर्फ उसी वर्शन में उपलब्ध मेथड्स का इस्तेमाल करे।
00:00:47वे एक ऐसा सिस्टम चाहते थे जिसमें वर्शन-मैच्ड डॉक्यूमेंटेशन हो जिसका एजेंट इस्तेमाल कर सके।
00:00:51इसके लिए उन्होंने दो आम तरीकों का परीक्षण किया।
00:00:54पहला तरीका है 'स्किल्स'।
00:00:56ये पिछले कुछ समय में काफी लोकप्रिय हुए हैं और बहुत सारे फ्रेमवर्क्स और टूल्स इन्हें रिलीज़ कर रहे हैं।
00:01:01विडंबना यह है कि Vercel खुद अपनी स्किल्स CLI और रिपॉजिटरी के जरिए इसे लोकप्रिय बनाने में मदद कर रहा है।
00:01:08मैं आपको इन्हें देखने की पुरज़ोर सलाह देता हूँ।
00:01:09अब, अगर आप नहीं जानते कि स्किल्स क्या हैं, तो ये दरअसल एंथ्रोपिक (Anthropic) का एक ओपन स्टैंडर्ड हैं। ये निर्देशों, स्क्रिप्ट्स और कॉन्टेक्स्ट के मॉड्यूलर बंडल हैं जिन्हें एक एजेंट ज़रूरत पड़ने पर टास्क को सही ढंग से पूरा करने के लिए लोड कर सकता है।
00:01:20लेकिन सबसे अहम बात यही है: यह पूरी तरह से एजेंट पर निर्भर करता है कि वह कब इस जानकारी को लोड करे।
00:01:26और यही हिस्सा इसकी सबसे बड़ी कमी लगता है। जब Vercel ने इवैल्यूएशन (evals) चलाए, तो उन्होंने पाया कि 56 प्रतिशत समय 'स्किल' कभी कॉल ही नहीं की गई।
00:01:35एजेंट ने बस उसे इस्तेमाल न करने का फैसला किया।
00:01:37और हैरानी की बात यह है कि एजेंट को स्किल देने से इवैल्यूएशन में कोई सुधार नहीं हुआ, जबकि उस एजेंट के मुकाबले जिसके पास स्किल नहीं थी।
00:01:44इससे भी ज़्यादा चौंकाने वाली बात यह थी कि उन्होंने पाया कि स्किल का नकारात्मक प्रभाव भी पड़ सकता है।
00:01:48कभी-कभी स्किल का इस्तेमाल न होने पर एजेंट ने बेसलाइन से भी खराब प्रदर्शन किया, जिससे पता चलता है कि अनयूज्ड स्किल शोर या ध्यान भटकाने का काम कर सकती है।
00:01:57इसे ठीक करने के लिए, उन्होंने प्रॉम्प्ट में साफ तौर पर यह कहकर कोशिश की, "कृपया इस स्किल का उपयोग करें।"
00:02:02इससे मदद मिली। स्किल ट्रिगर रेट बढ़कर 95 प्रतिशत हो गया और इवैल्यूएशन पास रेट 79 प्रतिशत तक पहुँच गया।
00:02:09लेकिन इसके साथ अपनी ही समस्याएँ आईं। उन्होंने पाया कि शब्दों में मामूली बदलाव से नतीजों में ज़मीन-आसमान का अंतर आ रहा था।
00:02:15उदाहरण के लिए, अगर आपने कहा "आपको इस स्किल का उपयोग करना ही होगा", तो उसने ऐसा किया, लेकिन फिर उसने प्रोजेक्ट कॉन्टेक्स्ट को छोड़ दिया।
00:02:21इसलिए आपको कहना पड़ा "स्किल और प्रोजेक्ट कॉन्टेक्स्ट दोनों का उपयोग करें।"
00:02:24Vercel को इस सिस्टम की कमज़ोरी पसंद नहीं आई। उनका कहना था कि अगर शब्दों के छोटे बदलावों से व्यवहार में इतने बड़े बदलाव आते हैं, तो प्रोडक्शन के लिए यह तरीका बहुत ही नाजुक और अविश्वसनीय है।
00:02:33इसलिए उन्हें एक ज़्यादा भरोसेमंद समाधान की ज़रूरत थी, जिसमें एजेंट को खुद फैसला न लेना पड़े।
00:02:40तभी उन्होंने agents.md फ़ाइल का सहारा लिया।
00:02:42अब, यह एक ओपन फॉर्मेट है जिसका उपयोग कई एजेंट्स करते हैं। और अगर आप Claude के फैन हैं, तो यह बिल्कुल Claude.md जैसा ही है।
00:02:49इसका उपयोग कोडिंग एजेंट्स को ऐसे निर्देश देने के लिए किया जाता है जो सिस्टम प्रॉम्प्ट में हमेशा शामिल रहते हैं।
00:02:53तो स्किल्स के उलट, यहाँ एजेंट को जानकारी जुटाने का फैसला नहीं करना पड़ता।
00:02:58वह उसके सिस्टम प्रॉम्प्ट में पहले से ही मौजूद होती है। लेकिन इससे कॉन्टेक्स्ट की अपनी समस्या पैदा हो सकती है।
00:03:03यानी जब आपका कॉन्टेक्स्ट बढ़ता है, तो आउटपुट की क्वालिटी गिरने लगती है।
00:03:06अब आप पूरी Next.js डॉक्यूमेंटेशन को agents.md फ़ाइल में तो नहीं डाल सकते।
00:03:10तो इसे कैसे किया जाए? इस समस्या से निपटने के लिए Vercel ने agents.md में सिर्फ एक डॉक्यूमेंटेशन इंडेक्स का इस्तेमाल किया।
00:03:17यह आपके फ़ाइल सिस्टम के भीतर व्यक्तिगत डॉक्यूमेंटेशन फ़ाइलों के फ़ाइल पाथ (file paths) की एक साधारण लिस्ट है।
00:03:22फिर एक और महत्वपूर्ण चीज़ थी—यह निर्देश जोड़ना कि "किसी भी Next.js टास्क के लिए प्री-ट्रेनिंग के बजाय रिट्रीवल-बेस्ड रीजनिंग को प्राथमिकता दें।"
00:03:31निजी तौर पर, जब मैंने इसे पढ़ा, तो मुझे लगा कि इसके नतीजे भी स्किल्स जैसे ही होंगे क्योंकि इसे भी डॉक्यूमेंटेशन पढ़ने के लिए फ़ाइल को ढूँढना और फेच करना पड़ेगा।
00:03:38लेकिन जब उन्होंने इसे अपने इवैल्यूएशन पर टेस्ट किया, तो एजेंट्स ने सभी में 100 प्रतिशत स्कोर किया और बिल्ड, लिंट और टेस्ट इवैल्यूएशन में परफेक्ट स्कोर हासिल किया।
00:03:47तो यह स्किल्स की तुलना में कहीं ज़्यादा भरोसेमंद और सटीक है। यह क्लासिक सॉफ्टवेयर इंजीनियरिंग जैसा ही है।
00:03:53जहाँ सबसे सरल और सीधा तरीका ही आखिर में सबसे बेहतर साबित होता है और आपको किसी भी चीज़ को ज़रूरत से ज़्यादा जटिल बनाने की ज़रूरत नहीं पड़ती।
00:03:58पर ऐसा क्यों है? एजेंट्स फ़ाइल, स्किल्स से बेहतर क्यों है? सच तो यह है कि यह बताना काफी मुश्किल है।
00:04:03AI एक तरह का 'ब्लैक बॉक्स' है, लेकिन Vercel का अनुमान है कि यह तीन कारकों की वजह से है और वे सभी निर्णय लेने की प्रक्रिया से जुड़े हैं।
00:04:10जब आपके पास वह एजेंट्स फ़ाइल होती है, तो एजेंट के लिए कोई डिसीजन पॉइंट नहीं होता।
00:04:14हम उसे शुरुआत में ही सिस्टम प्रॉम्प्ट में बता देते हैं कि उसे डॉक्यूमेंटेशन का इस्तेमाल करना है और यह भी कि हर फ़ाइल कहाँ है।
00:04:20तो यह जानकारी 'ऑन-डिमांड' होने और मॉडल के फैसले पर निर्भर रहने के बजाय एक 'परसिस्टेंट कॉन्टेक्स्ट' (स्थायी संदर्भ) बन जाती है।
00:04:27यह रीजनिंग में पहले से मौजूद होता है क्योंकि हमने इसे सिस्टम प्रॉम्प्ट में दे दिया है।
00:04:31लेकिन इसका मतलब यह भी नहीं है कि स्किल्स पूरी तरह बेकार हैं। दरअसल, Vercel ने पाया कि वे एक-दूसरे के पूरक हैं।
00:04:36उन्होंने कहा कि स्किल्स उन कामों के लिए बेहतर हैं जिन्हें यूज़र सीधे तौर पर शुरू करता है, जैसे कि यह कहना "मेरा Next.js वर्शन अपग्रेड करें,"
00:04:41"ऐप राउटर पर माइग्रेट करें" या "कुछ फ्रेमवर्क बेस्ट प्रैक्टिसेस लागू करें।"
00:04:45लेकिन अगर आप अपने कोडिंग एजेंट के भीतर वह सामान्य फ्रेमवर्क नॉलेज चाहते हैं,
00:04:48तो agents.md वाला पैसिव कॉन्टेक्स्ट, स्किल्स से बेहतर प्रदर्शन करेगा, खासकर आज के मॉडल्स के साथ।
00:04:54मुझे यकीन है कि भविष्य में मॉडल्स को स्किल-आधारित रिट्रीवल वर्कफ़्लो के लिए ऑप्टिमाइज़ किया जाएगा, लेकिन हम अभी वहां नहीं पहुँचे हैं।
00:04:59फिलहाल, Vercel की सलाह—खासकर फ्रेमवर्क बनाने वालों या आप में से उन लोगों के लिए जो स्किल्स या agents.md लिखने वाले हैं—यह है:
00:05:06स्किल्स के बेहतर होने का इंतज़ार न करें। अपने कॉन्टेक्स्ट को जितना हो सके कंप्रेस करें।
00:05:10इसे याददाश्त (memory) के लिए नहीं बल्कि रिट्रीवल के लिए डिज़ाइन करें। और सबसे ज़रूरी बात, हमेशा इवैल्यूएशन के साथ हर चीज़ का टेस्ट करें।
00:05:16और अगर आप इन फ़ाइलों के सिर्फ एक यूज़र हैं, तो Vercel आपको डॉक्यूमेंटेशन डाउनलोड करने के लिए एक टूल दे रहा है
00:05:21साथ ही आपके Next.js वर्शन के लिए पहले से बनी agents.md फ़ाइल भी, ताकि आप तुरंत इस नए तरीके का फ़ायदा उठा सकें।
00:05:29मैं यह देखने के लिए काफी उत्सुक हूँ कि क्या दूसरे टूल्स भी इस रास्ते पर चलेंगे। और मैं यह भी जानना चाहता हूँ कि आप इस बारे में क्या सोचते हैं।
00:05:34नीचे कमेंट्स में मुझे बताएं कि आप एजेंट्स और स्किल्स के बारे में क्या सोचते हैं।
00:05:37और वहां हैं ही, तो सब्सक्राइब भी कर लें। हमेशा की तरह, मिलते हैं अगले वीडियो में।