00:00:00AI में सबसे महत्वपूर्ण चीजों में से एक MCP प्रोटोकॉल रहा है,
00:00:03लेकिन छह महीने बाद यह हमारे लिए एक बड़ी समस्या बन गया है।
00:00:06जब हमने शुरुआत की थी,
00:00:08तब लोग केवल दो से तीन MCP सर्वर स्थानीय रूप से चला रहे थे,
00:00:11लेकिन MCP बहुत कुछ और बन गया है।
00:00:13अब लोगों के पास सचमुच सैकड़ों MCP सर्वर हैं जिनमें एक साथ हजारों टूल्स हैं,
00:00:18और यह एक बड़ी समस्या बन गया है।
00:00:20जैसा कि आप जानते हैं,
00:00:21Cloudflare ने सबसे पहले इसे देखा,
00:00:22और Claude ने इस समस्या पर एक शोध पत्र पोस्ट करके इसका अनुसरण किया।
00:00:26लेकिन Docker ने वास्तव में इसके लिए एक समाधान निकाला और MCPs के लिए सबसे महत्वपूर्ण समस्याओं में से एक को उन्हें उपयोग करने का एक बिल्कुल नया तरीका निकालकर हल किया।
00:00:34एक डायनामिक मोड जो आपको बहुत सारे टोकन बचाने,
00:00:36आपके एजेंट्स को गति देने और पूरी तरह से नए प्रकार के ऑटोमेशन बनाने की अनुमति देता है,
00:00:41जिनकी मैं व्यक्तिगत रूप से बहुत उम्मीद कर रहा हूँ।
00:00:43तो Docker ने वास्तव में इस पर एक लेख जारी किया जिसमें वे मूल रूप से हमसे हमारे एजेंट्स के वातावरण को हार्डकोड करना बंद करने का आग्रह करते हैं।
00:00:50अब उनका इससे क्या मतलब है?
00:00:51सबसे पहले, हम वास्तव में किन MCP सर्वर पर भरोसा करते हैं?
00:00:54दूसरा यह है कि हम अपने संदर्भ को उन टूल परिभाषाओं से भरने से कैसे बचें जिनका हम शायद उपयोग भी न करें?
00:01:00उदाहरण के लिए,
00:01:01यदि आपके पास हज़ार टूल्स हैं,
00:01:03तो आप एक ही चैट में केवल दो या तीन का उपयोग कर सकते हैं।
00:01:05तीसरा यह है कि एजेंट्स इन टूल्स को कुशलतापूर्वक और स्वायत्त रूप से कैसे खोजते,
00:01:09कॉन्फ़िगर करते और फिर उपयोग करते हैं?
00:01:12लेकिन मैं चाहता हूँ कि आप दूसरे पर ध्यान दें,
00:01:14जो है कि हम अपने संदर्भ को उन टूल परिभाषाओं से भरने से कैसे बचें जिनका हम शायद उपयोग भी न करें?
00:01:19उदाहरण के लिए,
00:01:19यदि आपके पास हज़ार टूल्स हैं,
00:01:21तो आप एक ही चैट में केवल दो या तीन का उपयोग कर सकते हैं।
00:01:23Anthropic ने भी इस बारे में एक पोस्ट जारी की,
00:01:25जिसे हमने अपने पिछले वीडियो में से एक में कवर किया था,
00:01:28और हमें उन लोगों से वास्तव में सकारात्मक प्रतिक्रिया मिली जो कार्यान्वयन चाहते थे।
00:01:32और Docker ने वास्तव में आगे बढ़कर इसे लागू किया।
00:01:34अब इससे पहले कि हम आगे बढ़ें,
00:01:35आपको यह जानने की जरूरत है कि Docker ने वास्तव में इसके लिए पूरी बुनियादी ढांचा तैयार किया था इससे बहुत पहले कि यह एक समस्या भी बने।
00:01:41और उसके लिए,
00:01:42आपको उनके MCP कैटलॉग के बारे में जानने की जरूरत है,
00:01:44जिसमें उन्होंने सत्यापित MCP सर्वर सूचीबद्ध किए हैं जिन पर आप वास्तव में भरोसा कर सकते हैं।
00:01:48और इससे जुड़ना वास्तव में आसान है,
00:01:50आप बस उन्हें यहां Docker में कनेक्ट करते हैं।
00:01:52उदाहरण के लिए,
00:01:52मैंने यहां Notion को कनेक्ट किया है,
00:01:54आप देख सकते हैं कि अभी मेरे पास दो सर्वर हैं,
00:01:57और मेरा MCP क्लाइंट,
00:01:58जो ज्यादातर समय Claude कोड होता है,
00:01:59केवल Docker से कनेक्ट होता है,
00:02:01और फिर Docker मूल रूप से मेरे सभी MCP सर्वर को प्रबंधित करता है।
00:02:04तो यह पूरी तरह से पहली समस्या को हल करता है कि हम वास्तव में किन MCP सर्वर पर भरोसा करते हैं।
00:02:09अब वास्तव में हमारे एजेंट्स को इन MCPs का गतिशील रूप से उपयोग करने में सक्षम बनाने के लिए,
00:02:14उन्होंने इस MCP गेटवे को लागू किया है जिसमें कैटलॉग के अंदर MCP सर्वर का उपयोग करने के लिए पहले से निर्मित टूल्स हैं और उन्हें स्वायत्त रूप से उपयोग करने के लिए।
00:02:22तो मूल रूप से,
00:02:23क्या होता है कि आप केवल एक MCP कनेक्ट करते हैं और इस MCP के पास उन सभी टूल्स का संदर्भ होता है जिनसे यह कैटलॉग में जुड़ा हुआ है।
00:02:31मैं दो से जुड़ा हुआ हूँ और यह जानता है कि किन टूल परिभाषाओं को वास्तव में संदर्भ विंडो में लाना है,
00:02:36ताकि आपकी संदर्भ विंडो अनावश्यक रूप से न भरे।
00:02:39अब इसके वास्तव में काम करने के लिए,
00:02:41उन्होंने कुछ नए टूल्स जोड़े हैं जिनमें MCP फाइंड,
00:02:43ऐड और रिमूव शामिल हैं,
00:02:44जो मूल रूप से कैटलॉग में MCP सर्वर को नाम या विवरण से खोजते हैं।
00:02:48और जैसा कि मैं आपको दिखाऊंगा,
00:02:49आपको उन्हें सही ढंग से कैसे जोड़ना है,
00:02:50इसके बारे में मार्गदर्शन करूंगा।
00:02:51तो उदाहरण के लिए,
00:02:52मैं यहां अपने GitHub MCP का उपयोग कर रहा हूँ,
00:02:54और मैं इसे बता रहा हूँ कि मैं कुछ दिलचस्प रिपोस खोजना चाहता हूँ।
00:02:57किस तरह के रिपोस निर्दिष्ट करने के बाद,
00:02:59यह वास्तव में टूल को सीधे कॉल नहीं करता है,
00:03:02बल्कि Docker MCP सर्वर का उपयोग करता है,
00:03:04जो फिर सही जानकारी के साथ टूल को कॉल करता है और स्पष्ट रूप से सभी परिणाम देता है। अब,
00:03:09मैं चाहता हूँ कि आप एक बात पर ध्यान दें,
00:03:11LLM रिपोस के बारे में सब कुछ लौटा रहा है। यह लिंक लौटा रहा है,
00:03:14यह स्टार्स लौटा रहा है,
00:03:16यह विवरण लौटा रहा है,
00:03:17और यह उस तारीख को भी जानता है जिस पर ये रिपोस पोस्ट किए गए थे।
00:03:21मैं चाहता हूँ कि आप इसे याद रखें क्योंकि यह आगे चलकर एक महत्वपूर्ण बात होगी।
00:03:25अब,
00:03:26डायनामिक टूल चयन पर चलते हैं। यह लेख का सबसे महत्वपूर्ण हिस्सा है,
00:03:29और मैं इसी के बारे में बात कर रहा था जब मैंने MCP सर्वर का उपयोग करने के एक नए तरीके का उल्लेख किया था।
00:03:35Claude के लेख का फिर से संदर्भ देते हुए,
00:03:37वे बताते हैं कि Claude या कोई भी AI एजेंट वास्तव में अधिक टोकन का उपयोग कैसे करता है। एक संदर्भ विंडो में टूल परिभाषाएँ हैं,
00:03:43और दूसरा मध्यवर्ती टूल परिणाम हैं। यहीं हम उन कच्चे परिणामों के बारे में बात करते हैं जो वास्तव में MCP टूल कॉल से वापस आते हैं। तो GitHub टूल का उपयोग करके हमने जो भी विवरण खोजा था,
00:03:53वह संदर्भ विंडो में वापस आ गया। इसीलिए Claude को रिपोस के बारे में हर छोटी जानकारी पता है,
00:03:58जबकि मुझे केवल रिपो का विवरण और लिंक चाहिए था। इस तरह,
00:04:01कुछ ही टूल कॉल लगते हैं,
00:04:02जैसे मेरे मामले में,
00:04:03शायद 20 टूल कॉल लगे थे इससे पहले कि पूरी संदर्भ विंडो वास्तव में भर जाए। यह एक ऐसी चीज है जिसे उन्होंने MCP गेटवे प्रोजेक्ट में सुधारा है,
00:04:10जहां वे केवल वही टूल्स देते हैं जो वास्तव में उपयोगी हैं। तो उदाहरण के लिए,
00:04:14मेरे मामले में,
00:04:15संदर्भ को बचाने का एक तरीका यह है कि मुझे केवल सर्च रिपो टूल दिया जाए और अन्य 40 टूल्स नहीं जो इस GitHub MCP के अंदर आते हैं। क्योंकि इस सत्र में,
00:04:23मैं केवल सर्च रिपो टूल का उपयोग करना चाहता हूँ। लेकिन फिर से,
00:04:26एक बार जब आप इस तरह से टूल्स का चयन करना शुरू करते हैं,
00:04:29तो यह संभावनाओं की एक नई श्रृंखला भी खोलता है। और यह हमें कोड मोड में ले जाता है। Cloudflare ने मूल रूप से बताया कि हम MCP का गलत तरीके से उपयोग कैसे कर रहे हैं,
00:04:38और यह वास्तविक तरीका नहीं है। और यहीं Docker वास्तव में इस नए समाधान को लागू करने वाला पहला है। मैंने इसके साथ बहुत खेला है। और मुझे कहना होगा कि मैं वास्तव में आश्चर्यचकित हूँ कि निष्पादन कैसा रहा। तो वे कहते हैं कि एजेंट्स के लिए MCP टूल्स का उपयोग करके सीधे कोड करना संभव बनाकर,
00:04:53जिसका अर्थ है कि वे टूल्स लेते हैं और उन्हें कोड में लागू करते हैं,
00:04:56वे एजेंट्स को ये कोड मोड टूल्स प्रदान कर सकते हैं जो टूल्स का पूरी तरह से नए तरीके से उपयोग करते हैं। तो कोड मोड क्या करता है?
00:05:03यह एक JavaScript सक्षम टूल बनाता है जो अन्य MCP टूल्स को कॉल कर सकता है। यह वास्तव में सरल लग सकता है,
00:05:09लेकिन जो उदाहरण मैं आपको दिखाने जा रहा हूँ,
00:05:11वे उम्मीद है कि इसे स्पष्ट कर देंगे। अब,
00:05:13इससे पहले कि हम एक कार्यान्वयन में उतरें,
00:05:15विचार करने के लिए अन्य बातें हैं। सबसे पहले,
00:05:17चूंकि यह एक एजेंट द्वारा लिखा गया कोड है,
00:05:20स्पष्ट रूप से,
00:05:20यह परीक्षण नहीं किया गया है और सुरक्षित नहीं है। तो Docker ने इसके लिए एक सैंडबॉक्स में चलने की योजना बनाई है। और चूंकि वे पहले से ही Docker कंटेनर प्रदान करते हैं,
00:05:29यह उनके लिए काफी आसान था। यह दृष्टिकोण तीन प्रमुख लाभ प्रदान करता है। सबसे पहले,
00:05:33यह पूरी तरह से सुरक्षित है,
00:05:35क्योंकि यही सैंडबॉक्सिंग का मुख्य लाभ है। यह आपके सिस्टम को कोई वास्तविक नुकसान नहीं पहुंचाता है। फिर वह सभी टोकन और टूल दक्षता है जिसके बारे में हम बात कर रहे थे,
00:05:44जहां वह टूल जिसका यह उपयोग करता है,
00:05:45उसे हर अनुरोध पर मॉडल को भेजने की आवश्यकता नहीं होती है,
00:05:48मॉडल को केवल एक नए कोड मोड टूल के बारे में जानने की आवश्यकता होती है। तो कोड मोड के बिना,
00:05:53यदि आप केवल,
00:05:54मान लीजिए,
00:05:54इन तीन टूल्स का उपयोग कर रहे हैं,
00:05:56और यह इन्हें बार-बार चला रहा है,
00:05:58तो उन 47 अन्य टूल्स का संदर्भ भी उन तीन टूल्स के साथ जा रहा है जिनका हम वास्तव में उपयोग कर रहे हैं। लेकिन कोड मोड के साथ,
00:06:04क्या होता है कि एजेंट केवल उन टूल्स का उपयोग करके कस्टम 'मेरे रिपोस का विश्लेषण करें' टूल लिखता है जिनकी हमें वास्तव में आवश्यकता है। और हर बार यह केवल उस एक कोड मोड टूल को संदर्भित करता है। और इस तरह,
00:06:15यह उन टूल्स को न भेजकर अन्य सभी संदर्भों को बचाता है जिनकी हमें वास्तव में आवश्यकता नहीं है। और फिर हमारे पास स्टेट परसिस्टेंस भी है,
00:06:22जिसमें वॉल्यूम यह प्रबंधित करते हैं कि इन टूल कॉल्स के बीच डेटा कैसे सहेजा जाता है। और वे वास्तव में मॉडल को नहीं भेजे जाते हैं। इसका एक बहुत ही सरल उदाहरण एक डेटा प्रोसेसिंग पाइपलाइन हो सकती है। तो मान लीजिए कि हम एक डेटा सेट डाउनलोड करना चाहते हैं,
00:06:36डेटा सेट डाउनलोड किया जाता है और वापस किया जाता है,
00:06:38लेकिन यह वास्तव में वॉल्यूम में सहेजा जाता है,
00:06:41और मॉडल को केवल यह पता चलता है कि यह सफलतापूर्वक डाउनलोड हो गया था। मॉडल पांच गीगाबाइट डेटा से भर नहीं जाता है। फिर यदि हम पहले 10,
00:06:48000 पंक्तियों को संसाधित करना चाहते हैं,
00:06:50तो मॉडल केवल उस वॉल्यूम से पढ़ सकता है जहां डेटा संग्रहीत है और वास्तविक सारांश लौटा सकता है। इस तरह,
00:06:55केवल वही डेटा जो मॉडल को जाना चाहिए,
00:06:57जैसे अंतिम परिणाम,
00:06:58सारांश,
00:06:59कोई भी त्रुटि संदेश,
00:07:00या प्रश्नों के उत्तर,
00:07:01मॉडल को स्थानांतरित किया जाता है और संदर्भ विंडो साफ रहती है।
00:07:07अब मैं इन GitHub रिपॉजिटरी को इसलिए खोज रहा था ताकि मैं अपने वीडियो में डालने के लिए नए ओपन सोर्स टूल्स खोज सकूं। और मैं आमतौर पर 'फाइंड GitHub रिपो' टूल का उपयोग करके कई कॉल चलाता हूँ। मैं बस टूल्स खोजने के लिए अलग-अलग कीवर्ड लिखता हूँ। तो मैंने इसे Claude कोड को प्रस्तुत किया और इसने उन सभी विभिन्न टूल कॉल्स को एक ही टूल में संयोजित कर दिया जो मेरे द्वारा दिए गए किसी भी कीवर्ड के आधार पर रिपोस को खोजता है। आप देख सकते हैं कि यहां कोड मोड के बिना भी,
00:07:31Docker वास्तव में कई क्वेरी चलाता है। और यही मैं ठीक करना चाहता था। इसने जो टूल बनाया उसे 'मल्टी सर्च रिपोस' कहा गया।
00:07:37और टूल बनाने के बाद,
00:07:38इसने इसे चलाने के लिए MCP exec टूल का उपयोग किया। इसने मूल रूप से मुझे छह अलग-अलग कीवर्ड के साथ खोज करके 29 अद्वितीय रिपोस दिए,
00:07:45लेकिन परिणाम सीधे प्रतिक्रिया और टर्मिनल में वापस आ गए,
00:07:48जिसका अर्थ है कि सभी परिणाम संदर्भ विंडो के अंदर वापस आ रहे थे। इसे ठीक करने के लिए,
00:07:53मैंने इसे बताया कि इसे सब कुछ एक फ़ाइल में लिखना चाहिए और मॉडल को केवल रिपोस का विवरण मिलना चाहिए। उस मामले में कोई स्टार या कुछ और देने की आवश्यकता नहीं है। और इसने टूल को बदल दिया और उन सभी परिणामों को मेरी रिपॉजिटरी में एक टेक्स्ट फ़ाइल में लिख दिया ताकि यदि मैं किसी एक रिपॉजिटरी के बारे में कुछ विशिष्ट देखना चाहता,
00:08:10तो मैं टेक्स्ट फ़ाइल का संदर्भ देकर ऐसा कर सकूं। अब एक चीज है जिसे मैं अभी इस टूल को सहेजने और पुन: उपयोग करने का एक तरीका लागू होते देखना चाहूंगा। एकमात्र विकल्प इसे मैन्युअल रूप से एक फ़ाइल के रूप में सहेजना है। उसके बाद मैंने इसे Notion MCP खोजने के लिए कहा। एक बार कनेक्ट होने के बाद,
00:08:25मैंने पूछा कि क्या यह एक ऐसा टूल बना सकता है जो GitHub खोज परिणामों को टेक्स्ट फ़ाइल का उपयोग करने के बजाय सीधे Notion में आउटपुट करता है। और फिर से,
00:08:33कोड मोड का उपयोग करके,
00:08:34इसने वास्तव में GitHub to Notion टूल बनाया जो मुझे परिणामों को Notion में पेस्ट करने की अनुमति देगा।
00:08:40और इसे चलाने के बाद कुछ छोटी-मोटी समस्याएं थीं जिन्हें मुझे ठीक करना पड़ा। लेकिन मूल रूप से,
00:08:45अब मेरे पास Notion में यह डेटाबेस है। यह मूल रूप से हार्ड कोडेड है। तो मैं जो भी क्वेरी प्रदान करता हूँ,
00:08:51यह बस आगे बढ़ेगा और विभिन्न फ़ील्ड के अनुसार परिणामों को इस डेटाबेस में इनपुट करेगा।
00:08:55और इसमें तारीख भी शामिल होगी ताकि मैं उन्हें आसानी से फ़िल्टर कर सकूं और केवल वही परिणाम खोज सकूं जो मैं वास्तव में चाहता हूँ। मॉडल को एक समय में केवल GitHub रिपॉजिटरी का नाम और विवरण ही पता चलता है। इसे और कुछ नहीं मिलता,
00:09:07लेकिन बाकी सारी जानकारी यहां सहेजी जाती है। ईमानदारी से कहूं तो,
00:09:10यदि आप इस कैटलॉग को देखते हैं,
00:09:12तो आपको उन MCPs का कम से कम एक विचार मिलेगा जिन्हें आप इन अद्भुत वर्कफ़्लो को बनाने के लिए एक साथ जोड़ सकते हैं। और साथ ही,
00:09:18आप टोकन बचा रहे हैं और अपने AI एजेंट के प्रदर्शन को बनाए रख रहे हैं। उनके साथ शुरुआत करना ईमानदारी से काफी आसान है। आपको अपने Docker संस्करण को अपडेट करने की आवश्यकता है। लेकिन यदि आपके पास अभी भी यह नहीं है,
00:09:29तो वे बीटा सुविधाओं में अक्षम हो सकते हैं। तो सुनिश्चित करें कि यह Docker MCP टूलकिट सक्षम है।
00:09:34इसके अलावा,
00:09:35आपके पास अपना कैटलॉग होगा और ये नई सुविधाएँ डिफ़ॉल्ट रूप से सक्षम होती हैं। तो आपको बस अपने क्लाइंट को कनेक्ट करना है और आप उनके साथ काफी हद तक शुरुआत कर सकते हैं। यह हमें इस वीडियो के अंत तक लाता है। यदि आप चैनल का समर्थन करना चाहते हैं और हमें ऐसे वीडियो बनाना जारी रखने में मदद करना चाहते हैं,
00:09:48तो आप नीचे दिए गए सुपर थैंक्स बटन का उपयोग करके ऐसा कर सकते हैं। हमेशा की तरह,
00:09:52देखने के लिए धन्यवाद,
00:09:53और मैं आपसे अगले वीडियो में मिलूंगा।