00:00:00अगर आप इस चैनल को फॉलो कर रहे हैं तो आप विभिन्न प्रकार के कंटेक्स्ट इंजीनियरिंग वर्कफ्लो से परिचित होंगे जिन्हें हमने यहां कवर किया है। खैर,
00:00:06Google ने भी एक और वर्कफ्लो रिलीज़ किया। काश मैं कह पाता कि यह अन्य वर्कफ्लो से बेहतर है। लेकिन सच्चाई यह है कि ऐसा नहीं है। और इसमें कई समस्याएं हैं। भले ही आप तर्क दें कि यह Gemini इकोसिस्टम के लिए बेहतर है,
00:00:16फिर भी यह अच्छा नहीं है। इसमें गोता लगाने से पहले कि इसे रिलीज़ करने की कोई ज़रूरत क्यों नहीं थी,
00:00:20चलिए Automata के बारे में बात करने के लिए थोड़ा ब्रेक लेते हैं। लाखों लोगों को AI के साथ बिल्ड करना सिखाने के बाद,
00:00:26हमने खुद इन वर्कफ्लो को लागू करना शुरू किया। हमने पाया कि हम पहले से कहीं बेहतर प्रोडक्ट्स तेज़ी से बना सकते हैं। हम आपके आइडियाज़ को जीवंत करने में मदद करते हैं,
00:00:33चाहे वह ऐप्स हों या वेबसाइट्स। शायद आपने हमारे वीडियो देखते हुए सोचा होगा कि मेरे पास एक शानदार आइडिया है लेकिन इसे बनाने के लिए मेरे पास टेक टीम नहीं है। यही वह जगह है जहां हम आते हैं।
00:00:42हमें अपना तकनीकी को-पायलट समझें। हम वही वर्कफ्लो आपके प्रोजेक्ट पर सीधे लागू करते हैं जो हमने लाखों लोगों को सिखाए हैं,
00:00:48अवधारणाओं को वास्तविक काम करने वाले समाधानों में बदलते हैं बिना किसी डेव टीम को हायर करने या मैनेज करने की परेशानी के। अपने आइडिया को हकीकत में बदलने के लिए तैयार हैं?
00:00:57hello@automata.dev पर संपर्क करें।.
00:00:59अब इससे पहले कि मैं यह बताऊं कि यह केवल एक कंटेक्स्ट इंजीनियरिंग वर्कफ्लो का एक और खराब प्रयास क्यों है,
00:01:04चलिए पहले देखते हैं कि Conductor वास्तव में कैसे काम करता है। तो यह आर्टिकल है और मेरे पास नीचे विवरण में इसका लिंक होगा। अंत में,
00:01:10आपको वास्तव में इसे Gemini CLI में एक्सटेंशन के रूप में इंस्टॉल करने के लिए एक कमांड मिलेगा। आप में से जो नहीं जानते,
00:01:15एक्सटेंशन कमांड्स,
00:01:16MCPs और अन्य नियमों के सेट होते हैं जिन्हें एक साथ बंडल किया जाता है और एक पैकेज में बनाया जाता है जिसे लोग फिर होस्ट कर सकते हैं और दूसरों के साथ शेयर कर सकते हैं। Claude में भी कुछ इसी तरह का है जिसे प्लगइन्स कहा जाता है। तो वर्कफ्लो को वास्तव में शुरू करने के लिए,
00:01:28आप कमांड का उपयोग करते हैं और यह इंस्टॉल हो जाता है। इंस्टॉलेशन के बाद,
00:01:31आप Conductor में इसके स्लैश कमांड्स का उपयोग कर सकते हैं। आपको ये पांच कमांड्स मिलेंगे जो वास्तव में Conductor और आप वर्कफ्लो का उपयोग कैसे करते हैं उसे नियंत्रित करते हैं। अब पहला कमांड जिसका आप उपयोग करेंगे वह सेटअप कमांड है।
00:01:41यह कमांड सबसे पहले चेक करता है कि मौजूदा Conductor फ़ाइलें जैसे सेटअप स्टेट और अन्य फ़ाइलें जो यह बताती हैं कि क्या कोई प्रोजेक्ट पहले से इनिशियलाइज़ हो चुका है,
00:01:50उपलब्ध हैं या नहीं।
00:01:51स्टोरीज़ के बजाय,
00:01:52यह ट्रैक्स नामक फ़ाइलें बनाता है और उन्हें एक-एक करके पूरा करता है।
00:01:56उसके बाद,
00:01:57इसने एक नया GitHub रेपो इनिशियलाइज़ किया और पूछा कि क्या बनाना है। इसे टेस्ट करने के लिए,
00:02:01मैंने एक सिंपल प्रोजेक्ट बनाया लेकिन मैं यह टेस्ट करना चाहता था कि जो आर्किटेक्चर यह बनाएगा वह वास्तव में अच्छा होगा या नहीं। तो बस यह टेस्ट करने के लिए कि क्या यह उन चीज़ों की सिफारिश करेगा जिनकी मुझे वास्तव में ज़रूरत होगी,
00:02:12मैंने इसे बताया कि यह प्रोडक्शन रेडी और बड़ी संख्या में यूज़र्स के लिए स्केलेबल होना चाहिए। उसके बाद,
00:02:17इसने product.md फ़ाइल बनाई जिसमें वास्तव में वह अवधारणा थी जो मैं बनाना चाहता था। इसे वास्तव में परिष्कृत और तैयार करने के लिए,
00:02:24इसने मुझसे सवाल पूछना शुरू किया और अंत में,
00:02:26क्योंकि सवाल वास्तव में कहीं नहीं जा रहे थे और वे वाकई सरल थे,
00:02:29मैंने बस इसे सब कुछ ऑटो जेनरेट करने दिया। इसने प्रोडक्ट गाइड को अप्रूव और सेव करने के बाद,
00:02:33यह एक और फ़ाइल बनाना चाहता था जो प्रोडक्ट गाइडलाइन्स थी जो मुख्य रूप से प्रोडक्ट की स्टाइलिंग और कुछ डिज़ाइन सिद्धांतों पर केंद्रित थी। इसने उसे भी अप्रूव किया और प्रोडक्ट गाइडलाइन्स को भी सेव किया। उसके बाद,
00:02:44इसने टेक्नोलॉजी स्टैक परिभाषित किया और यह वर्कफ्लो के अच्छा न होने का एक कारण है। यह मुझे जो टेक स्टैक ऑफर कर रहा था उसे गड़बड़ कर दिया क्योंकि यह मेरे पूरे प्रोजेक्ट को जानता था और फिर भी वास्तव में उचित सिफारिश नहीं की। मेरे द्वारा उसे ठीक करने के बाद,
00:02:56इसने टेक स्टैक को भी अप्रूव किया और उस MD फ़ाइल को भी अपडेट किया। इसमें कोड स्टाइल गाइड्स नामक फ़ाइलें भी हैं। अगर मैं वास्तविक फ़ोल्डर में जाऊं,
00:03:03तो ये केवल वे भाषाएं हैं जो इसके पास हैं और अगर यह सोचता है कि हम प्रोजेक्ट में इनमें से किसी का उपयोग करने जा रहे हैं,
00:03:09तो यह इनिशियलाइज़ेशन के दौरान उन्हें हमारे वर्तमान प्रोजेक्ट के कोड स्टाइल गाइड्स में जोड़ता है। डिफ़ॉल्ट वर्कफ्लो जो यह उपयोग कर रहा है वह वास्तव में काफी अच्छा है। डिफ़ॉल्ट रूप से,
00:03:18इसमें 80% कोड टेस्ट कवरेज शामिल है और जब यह सामान सेट कर रहा था और बेस कंपोनेंट्स लिख रहा था,
00:03:23तो यह सुनिश्चित कर रहा था कि टेस्ट भी लिखे जा रहे थे और टास्क पूरा करने के बाद,
00:03:27यह उन्हें टेस्ट भी कर रहा था। साथ ही,
00:03:29यह हर टास्क के बाद परिवर्तन कमिट कर रहा था और git नोट्स का भी उपयोग कर रहा था ताकि हम वास्तव में ट्रैक कर सकें कि कहां या जब भी कुछ गलत हुआ। प्रारंभिक सेटअप पूरा करने के बाद,
00:03:37इसने कुछ हाई लेवल प्रोडक्ト रिक्वायरमेंट्स बनाईं ताकि हम प्रारंभिक ट्रैक पर आ सकें। यह पहला ट्रैक था जिसे यह लागू करने की कोशिश कर रहा था।
00:03:45फिर से,
00:03:45यह बहुत व्यापक था और इसे छोटे ट्रैक्स में तोड़ने की ज़रूरत थी। एक ट्रैक में यह बहुत ज़्यादा था और अगर यह एक साथ इतना कुछ कर रहा था तो गड़बड़ होने की बहुत संभावना थी। तो इसे पूरा करने के बाद,
00:03:55आप implement कमांड चलाकर अपना काम शुरू कर सकते हैं और tracks फ़ोल्डर में,
00:03:58आपके पास अलग-अलग ट्रैक्स हैं जिन्हें यह एक-एक करके लागू करता है। प्रत्येक ट्रैक में दो फ़ाइलें होती हैं,
00:04:04एक plan.md और एक spec.md। spec.md में उद्देश्य और तकनीकी विवरण शामिल होते हैं जो टेक स्टैक और जानकारी से निकाले गए हैं जो हमने शुरुआत में इनपुट की थी। plan.md में वास्तव में वे टास्क शामिल होते हैं जिन्हें इसे एक-एक करके लागू करना होता है। जब आप वास्तव में implement कमांड का उपयोग कर रहे होते हैं,
00:04:18तो यह tracks.md को देखता है और मूल रूप से प्रत्येक ट्रैक को देखता है जहां स्टेटस के आधार पर,
00:04:23यह वास्तव में जानता है कि क्या करना है। तो अगर यह खाली है,
00:04:26तो यह शुरू नहीं हुआ है। इसका मतलब है कि यह प्रगति में है और इसका मतलब है कि ट्रैक पूरा हो गया है। और जैसा कि आप देख सकते हैं,
00:04:32यह वर्तमान ट्रैक प्रगति में है। अन्य कमांड्स के लिए,
00:04:35status कमांड आपको एक स्टेटस रिपोर्ट देता है कि वर्तमान में क्या चल रहा है और कौन से ट्रैक्स फॉलो किए जा रहे हैं और कौन से पूरे नहीं हुए हैं। अगर आप new track कमांड का उपयोग करते हैं,
00:04:44तो यह आपसे नए टास्क के लिए फिर से अलग-अलग सवाल पूछने जा रहा है। मैंने इसे पहले से मौजूद रिपॉजिटरी में भी लागू किया और यह लगभग उसी तरह चला। यह थोड़ा अलग था क्योंकि यह मौजूदा फ़ाइलों को देखेगा और बस मुझसे स्पष्ट करने वाले सवाल पूछेगा और इसने नए ट्रैक के लिए नहीं पूछा।
00:04:57मुझे एक नई सुविधा के रूप में खुद एक नया ट्रैक लागू करना पड़ा। और फिर revert है,
00:05:01एक और वाकई चतुर फीचर जो वास्तव में किसी भी नुकसान को कम करता है और git aware है। तो यह git का उपयोग करता है मदद के लिए अगर एजेंट कहीं भी गड़बड़ करता है। अब,
00:05:08वर्तमान में फ़ाइल मैनेजमेंट और स्ट्रक्चर इतना बुरा नहीं है। जिस तरह से यह नई सुविधाओं या मौजूदा टास्क को ट्रैक्स में लागू करता है और फिर उन्हें ट्रैक करता है वह वास्तव में काफी अच्छा है। लेकिन जिस तरह से निर्देश लिखे गए हैं या ये कमांड फ़ाइलें कैसे लिखी गई हैं,
00:05:21उन्हें काम की ज़रूरत है क्योंकि वे वास्तव में कंटेक्स्ट लूप को ठीक से मैनेज नहीं कर रहे हैं जहां इसे सब कुछ चेक करना होता है। और अगर कोई बदलाव है,
00:05:27तो इसे कैसे बदलने की ज़रूरत है। क्योंकि इस प्रारंभिक प्रक्रिया के दौरान भी,
00:05:31बहुत सारी गलतियां हुईं। पहली गलती यह है कि जब यह प्रत्येक डॉक्युमेंट के निर्माण के लिए पूछ रहा था,
00:05:35तो इसने वास्तव में मेरे आइडिया को ठीक से विच्छेदित नहीं किया। और मुझे इसे बहुत सारी चीज़ों के माध्यम से गाइड करना पड़ा। जब मुझे लगा कि यह पर्याप्त है,
00:05:42तो मैंने बस इसे बाकी सामग्री ऑटो जेनरेट करने दिया। और फिर से,
00:05:45जैसा कि मैंने पहले उल्लेख किया,
00:05:47टेक्नोलॉजी स्टैक को परिभाषित करते समय,
00:05:49इसने बहुत सी चीज़ें भी छोड़ दीं। Option B अच्छा था। लेकिन चूंकि मैंने इसे बताया कि मुझे बड़ी संख्या में यूज़र्स के साथ एक पूरी तरह से स्केलेबल ऐप चाहिए,
00:05:56तो इसने बहुत सी चीज़ें छोड़ दीं जिन्हें मुझे स्पष्ट करना पड़ा और स्पष्ट रूप से इसे बताना पड़ा कि इसे भी ज़रूरत है और फिर इसने योजना को संशोधित किया। जब प्रारंभिक ट्रैक जेनरेट किया गया,
00:06:04तो मैंने वास्तव में जाकर plan और specs को देखा जो इसने जेनरेट किए थे और डेटाबेस स्कीमा पूरी तरह से अधूरा था। इसने बहुत सी चीज़ों को छोड़ दिया था जो ऐप सेट करने के लिए महत्वपूर्ण थीं और मुझे इसे फिर से गाइड करना पड़ा और सही दिशा में स्टीयर करना पड़ा। अब,
00:06:16Gemini वास्तव में एक बहुत अच्छा मॉडल है। तो मुझे संदेह है कि जो कमांड्स लागू किए गए हैं वे ही इसे इस तरह व्यवहार करने पर मजबूर कर रहे हैं।
00:06:23और फिर सबसे बड़ा कारण जो मुझे लगता है कि भले ही सेटअप खुद वास्तव में अच्छा है,
00:06:27मुख्य स्लैश कमांड्स में बहुत सारी समस्याएं हैं और खासकर वर्कफ्लो डॉट एमडी में,
00:06:31क्योंकि इसने एक बहुत बड़े हिस्से को गड़बड़ कर दिया जब मैंने इसे बताया कि मैं एनपीएम बदलना चाहता हूं। और इसके बजाय,
00:06:36मैं पी एनपीएम का उपयोग करना चाहता था क्योंकि मैं इसे पहले बताना भूल गया था। किसी कारण से,
00:06:41इसने पहले एक बैकअप बनाने की कोशिश की।
00:06:43और ऐसा करते समय,
00:06:44इसने कहा कि उसे एनपीएम से बनाई गई फाइलों को हटाने की जरूरत है। लेकिन यह पूरे कंडक्टर फोल्डर को ही हटा दिया,
00:06:50जिसमें सभी प्लानिंग फाइलें थीं। उसे डिलीट करने के बाद यह लगातार फोल्डर को ढूंढ रहा था। और जब यह नहीं मिला,
00:06:56तो इसने कहा कि यह अपने संदर्भ और अपनी मेमोरी में जो कुछ भी था उसका उपयोग करके कंडक्टर फोल्डर को फिर से बनाएगा।
00:07:02तो मूल रूप से,
00:07:03इसे सब कुछ फिर से लिखना पड़ा,
00:07:04जबकि एक सामान्य संदर्भ वर्कफ्लो को ऐसा करना चाहिए जहां परिवर्तन केवल मुख्य संदर्भ फाइलों और उस विशिष्ट कार्य से संबंधित फाइलों को प्रभावित करे,
00:07:10जो कि बी मैड कुशलतापूर्वक काम करने के लिए करता है। अब,
00:07:13अगर मैंने इसे अचानक कुछ बदलने के लिए नहीं कहा होता,
00:07:15तो शायद यह ठीक से हो जाता। लेकिन फिर भी,
00:07:17जब यह सभी कार्यों को इनिशियलाइज़ कर रहा था,
00:07:19और मैंने इसे पहले ट्रैक को लागू करना शुरू करने के लिए कहा तो इसने प्रोजेक्ट और अन्य मुख्य सेवाओं को इनिशियलाइज़ करना शुरू किया जिनकी मुझे जरूरत थी। अब जब सुपरबेस कनेक्शन के लिए एनवायरनमेंट वेरिएबल्स को कॉन्फ़िगर करने की बारी आई,
00:07:29तो किसी कारण से,
00:07:30इसने कार्य को पूर्ण के रूप में चिह्नित कर दिया जबकि स्पष्ट रूप से वहां एक डमी की डाल दी। इसने मुझसे सुपरबेस प्रोजेक्ट सेट अप करने या वास्तविक की प्रदान करने के लिए भी नहीं पूछा। और इसने स्वचालित रूप से डेटाबेस स्कीमा को पुश करने की कोशिश की। चूंकि कोई वास्तविक की नहीं थी,
00:07:43यह विफल हो गया। और फिर इसने मुझसे स्ट्रिंग को दोबारा जांचने के लिए कहा। तो कार्य भी ठीक से अपडेट नहीं हो रहे थे,
00:07:48और यह वास्तव में उनका सही तरीके से पालन नहीं कर रहा था। ईमानदारी से मैं इसे अभी एंड टू एंड स्पेक डेवलपमेंट के लिए उपयोग नहीं करूंगा। बी मैड बहुत बेहतर विकल्प है। और छोटे प्रोजेक्ट्स के लिए,
00:07:56मैं अभी भी अपनी खुद की संदर्भ फाइलें बनाता हूं। इसके साथ ही हम इस वीडियो के अंत तक पहुंच गए हैं। यदि आप चैनल को सपोर्ट करना चाहते हैं और हमें इस तरह के वीडियो बनाते रहने में मदद करना चाहते हैं,
00:08:05तो आप नीचे दिए गए सुपर थैंक्स बटन का उपयोग करके ऐसा कर सकते हैं। हमेशा की तरह,
00:08:09देखने के लिए धन्यवाद और मैं आपको अगले वीडियो में मिलूंगा।