OpenAI ने Symphony क्यों बनाया और इसे मुफ्त में क्यों उपलब्ध कराया
BBetter Stack
Computing/SoftwareManagementInternet Technology
Transcript
00:00:00यह OpenAI का Symphony है, जो लंबे समय तक चलने वाले एजेंटों को व्यवस्थित करने के लिए एक ओपन-सोर्स टूल है
00:00:05जो आपके एजेंट को बिना किसी मानवीय निगरानी के कार्यों को स्वायत्त रूप से पूरा करने में मदद करने के लिए
00:00:10Linear जैसे मौजूदा इश्यू ट्रैकर का उपयोग करता है। लेकिन आप इसे इस्तेमाल करें, उससे पहले एजेंट को इसे शून्य से क्यों नहीं बनाना पड़ता?
00:00:14क्या यह केवल Codex CLI को सपोर्ट करता है? और क्या यह OpenAI की ओर से और अधिक
00:00:18ओपन-सोर्स टूल्स की शुरुआत है? सब्सक्राइब बटन दबाएं और आइए जानें।
00:00:25Symphony केवल इसलिए अस्तित्व में है क्योंकि OpenAI को मानवीय-ध्यान की कमी का सामना करना पड़ा, जिसका अर्थ है कि इंजीनियर
00:00:30कॉन्टेक्स्ट स्विचिंग के उत्पादकता को प्रभावित करने से पहले एक साथ केवल 3-5 Codex सत्रों की निगरानी कर सकते थे।
00:00:35जाहिर है, यह बड़े पैमाने पर काम नहीं करने वाला था। तो अनुमान लगाइए कि OpenAI ने
00:00:41फास्ट-एजेंट-स्लो-ह्यूमन-मैनेजर समस्या को कैसे ठीक किया? उन्होंने मानवीय प्रबंधकों को हटा दिया। एक तरह से।
00:00:47क्योंकि Symphony के साथ, मनुष्य बोर्ड पर कार्य डालते हैं, उस कार्य को पूरा करने के लिए एक नया एजेंट तैयार किया जाएगा,
00:00:52और एजेंट मनुष्य को तभी शामिल करेगा जब समीक्षा के लिए कुछ होगा।
00:00:55लेकिन Symphony की तुलना Multica और Conductor जैसे समान टूल्स से कैसे की जाती है? खैर,
00:00:58डेमो देखें और यह बिल्कुल साफ हो जाएगा। शुरू करने से पहले, मैं बस यह कहना चाहता हूँ कि
00:01:03Symphony की इंस्टॉलेशन प्रक्रिया सबसे अजीब है जो मैंने अपनी ज़िंदगी में देखी है। या फिर यह
00:01:07किसी चीज़ को इंस्टॉल करने का सबसे जीनियस तरीका हो सकता है। हम इस पर बाद में आएंगे।
00:01:10सबसे पहले, आइए एक बुनियादी उदाहरण देखें। तो मेरे पास Symphony चल रहा है,
00:01:14जो काम करने के लिए Linear में टास्क खोज रहा है। और Linear में, मैं एक नया इश्यू बनाने जा रहा हूँ,
00:01:18जो TypeScript और BUN का उपयोग करके एक Hello World ऐप बनाने के लिए होगा।
00:01:22अभी, Symphony को बैकलॉग टास्क पर काम करने के लिए कॉन्फ़िगर नहीं किया गया है। इसलिए मैं स्टेटस को To-Do में बदल दूँगा
00:01:27और Create Issue पर क्लिक करूँगा। टास्क की ID याद रखें, जो SYN7 है।
00:01:31तो कुछ समय बाद, Symphony उस टास्क की ID को पकड़ लेता है। और कुछ सेकंड बाद,
00:01:36हमें एक GraphQL वैलिडेशन एरर मिलता है, जो कोई बड़ी बात नहीं है और Codex के लिए इसे ठीक करना बहुत आसान है।
00:01:41लेकिन उसके बाद, हम देख सकते हैं कि Codex ने काम पूरा कर लिया है, इश्यू को
00:01:45To-Do से Done में बदल दिया है, और Symphony से यहाँ एक कमेंट छोड़ दिया है। जिसका मतलब है कि अगर हम
00:01:49अपने Symphony वर्कस्पेस डायरेक्टरी में जाएँ, हम इसके बारे में बाद में बात करेंगे, तो हम देख सकते हैं कि हमारे पास एक नया
00:01:53वर्कस्पेस है जिसकी ID हमारे इश्यू के समान है। और अगर हम उस वर्कस्पेस में जाते हैं, तो हमारे पास
00:01:58Hello World TypeScript BUN ऐप के लिए बनाई गई फाइलों की लिस्ट है। और अगर हम सोर्स डायरेक्टरी में जाते हैं,
00:02:04तो हम देख सकते हैं कि ऐप का कोड यहाँ है। और संक्षेप में यही Symphony है।
00:02:08अब आइए देखें कि इसे सेटअप कैसे करना है। तो इस रेपो के अनुसार Symphony को इंस्टॉल करने के
00:02:12दो तरीके हैं। विकल्प दो, जिसके हम आदी हैं, हम Elixir सेटअप करते हैं,
00:02:16रेपो को क्लोन करते हैं, फिर कोड बनाते हैं और मौजूदा वर्कफ़्लो फ़ाइल का उपयोग करके इसे चलाते हैं।
00:02:20हालाँकि विकल्प एक संभवतः किसी चीज़ को इंस्टॉल करने का सबसे अजीब या भविष्यवादी तरीका है।
00:02:25आप मूल रूप से अपने कोडिंग एजेंट को यह प्रॉम्प्ट देते हैं, और यह स्पेक फ़ाइल को पढ़ेगा,
00:02:30जो 2000 से अधिक लाइनों वाली है। लेकिन यह मूल रूप से आपके एजेंट को
00:02:34Symphony बनाने के तरीके पर विस्तृत निर्देश देता है, जो कि अद्भुत है क्योंकि अगर हर कोई इस रास्ते पर चलता,
00:02:39तो Symphony के कोई भी दो वर्ज़न एक जैसे नहीं दिखते। कुछ लोगों के पास अलग-अलग भाषाओं में
00:02:43अलग-अलग फीचर्स होते, जो OpenAI के लिए मेंटेन और सपोर्ट करना मुश्किल हो जाता।
00:02:47लेकिन यह एक तरह से जीनियस भी है क्योंकि अगर आपने Symphony का अपना वर्ज़न बनाया है,
00:02:51तो आप इसके लिए ज़िम्मेदार महसूस करेंगे। आप बग्स को ठीक करेंगे, फीचर्स जोड़ेंगे,
00:02:55और अनिवार्य रूप से इसे मेंटेन करेंगे। और अगर आप नहीं चाहते कि Symphony Linear या
00:02:59Codex का उपयोग करे, तो यह आप पर निर्भर है। किसी ने Symphony का Go वर्ज़न बनाया है जो Charm CLI पर चलता है,
00:03:04और किसी और ने एक ऐसा वर्ज़न बनाया जो Claude SDK द्वारा संचालित था। मैं इतना रचनात्मक नहीं था,
00:03:09इसलिए मैंने GPT 5.5 Low Effort का उपयोग करके डिफ़ॉल्ट प्रॉम्प्ट Codex में डाल दिया, और इसने मुझे Symphony का
00:03:15Python वर्ज़न दिया, जो समझ में आता है क्योंकि LLMs Python में बहुत अच्छे हैं। लेकिन एक बार यह हो जाने के बाद,
00:03:19आपको एक Linear पर्सनल API की आवश्यकता होगी, जिसे आप Security और Access से प्राप्त कर सकते हैं,
00:03:23और आप यहाँ क्लिक करके एक बना सकते हैं। फिर आपको उस की (key) को अपने वर्क प्रोफ़ाइल में जोड़ना होगा,
00:03:28जो एक फ़ाइल है जो Symphony को बताती है कि उसे अपना काम कैसे करना है, जिसमें कुछ YAML फ्रंट मैटर होता है,
00:03:32जिसमें ज़ाहिर है कि API की, एजेंट के लिए एक्टिव स्टेट्स होते हैं ताकि उसे पता चले कि वह कब किसी कार्य पर काम कर सकता है,
00:03:37साथ ही वर्कस्पेस रूट और Codex कमांड होता है, जो वह शेल कमांड है जिसका उपयोग Symphony
00:03:42कोडिंग एजेंट को लॉन्च करने के लिए करता है। और उसके नीचे प्रत्येक इश्यू के लिए कोडिंग एजेंट को
00:03:46भेजा गया मार्कडाउन प्रॉम्प्ट है। यदि आप रुचि रखते हैं तो आप उनके रेपो से OpenAI के वर्कफ़्लो को फ़ाइल में एक्सेस कर सकते हैं।
00:03:51लेकिन अभी के लिए, यह वर्कफ़्लो वास्तविक प्रोजेक्ट के लिए उपयुक्त नहीं है। मान लीजिए मैं अपने फिल्म
00:03:56एमुलेशन ऐप में बदलाव करना चाहता हूँ जिस पर मैं काम कर रहा हूँ। मुझे एक create-after हुक जोड़ना होगा, जो तब चलता है
00:04:01जब Symphony किसी इश्यू के लिए वर्कस्पेस बनाता है, और यह हुक सबसे पहले रेपो को वर्कस्पेस
00:04:06डायरेक्टरी में क्लोन करेगा, और फिर उस रेपो में एक नई ब्रांच चेक आउट करेगा। मैंने एक run-after
00:04:10हुक भी जोड़ा है, जो Codex द्वारा इश्यू पर काम खत्म करने के बाद चलता है। तो यह फाइलों को स्टेज करता है, फिर
00:04:15इन वैल्युज़ के साथ ब्रांच को पुश करने और एक नया पुल रिक्वेस्ट (PR) बनाने से पहले एक नया कमिट बनाता है।
00:04:20तो अब अगर मैं UV का उपयोग करके Symphony चलाता हूँ, जिसे OpenAI द्वारा ही अधिग्रहित किया गया था, लेकिन वह किसी और
00:04:25वीडियो का विषय है, तो यह नए इश्यूज़ की तलाश कर रहा है। तो अब अगर मैं रीडमी को अपडेट करने के लिए एक नया इश्यू बनाता हूँ, बस
00:04:30उस सेक्शन में जो बैच प्रोसेसिंग दिखाता है, कई फाइलें दिखाने के बजाय वाइल्डकार्ड का उपयोग करने के लिए, फिर से,
00:04:35मैं इसे बैकलॉग से To-Do में बदल दूँगा, फिर Create Issue पर क्लिक करूँगा। अब Symphony ने उस
00:04:40इश्यू को पकड़ लिया है। और अगर मैं Symphony वर्कस्पेस डायरेक्टरी को देखूँ, तो हम देख सकते हैं कि वहाँ एक नया फोल्डर है
00:04:45जो हमारी इश्यू ID से मेल खाता है, जिसमें क्लोन किया गया प्रोजेक्ट है। और अब जब Symphony ने इश्यू पर काम करना
00:04:49खत्म कर दिया है, तो उसने स्टेटस को Done में बदल दिया है और Linear टिकट के लिंक के साथ एक नया PR बना दिया है
00:04:54जिसमें वही बदलाव है जो मैंने माँगा था। अब, ज़ाहिर है, मैं बेहतर PR डिस्क्रिप्शन जोड़ने के लिए और कमेंट्स में
00:04:59PR का लिंक डालने के लिए अपने Symphony कोड को बदल सकता हूँ, लेकिन मुझे यकीन है कि Codex के लिए यह करना बहुत आसान है।
00:05:04तो यह Symphony का एक त्वरित ओवरव्यू है। यदि आप पहले से ही Linear का उपयोग करने वाली कंपनी में काम करते हैं या सहज हैं,
00:05:08तो आप इसके इंटरफ़ेस के साथ बिल्कुल घर जैसा महसूस करेंगे। और यदि आप एक Codex उपयोगकर्ता हैं,
00:05:13तो आप अपने कौशल, MCP टूल्स और प्लगइन्स का उपयोग कर सकते हैं जो आपके पास पहले से ही इंस्टॉल हैं। मैं व्यक्तिगत रूप से
00:05:18Codex का उपयोग नहीं करता हूँ, लेकिन मैं निश्चित रूप से Symphony के साथ OpenAI के विज़न को देख सकता हूँ। कल्पना कीजिए
00:05:22कि आपके पास डेवलपर्स की एक टीम है जो सभी AI के साथ एक ही प्रोजेक्ट पर काम कर रहे हैं। अपने स्वयं के वर्कफ़्लो के साथ
00:05:28अपना व्यक्तिगत हार्नेस रखने के बजाय, केंद्रीय कौशल, केंद्रीय टूल्स,
00:05:33केंद्रीय वर्कफ़्लो और प्लगइन्स के साथ एक केंद्रीय एजेंट हो सकता है। और प्रत्येक डेवलपर उसे एक कार्य देकर
00:05:37उसके साथ संवाद कर सकता है और वे देख सकते हैं कि अन्य डेवलपर्स क्या काम कर रहे हैं, उन्होंने कौन से प्रॉम्प्ट्स इस्तेमाल किए हैं
00:05:41और एक नज़र में देख सकते हैं कि कौन से अन्य फीचर्स उनके द्वारा किए जा रहे काम को प्रभावित कर सकते हैं। हालाँकि
00:05:46ऐसा फीचर लेकर आना बहुत मुश्किल है जो कोड के किसी दूसरे हिस्से को न छुए जिस पर कोई
00:05:49और काम कर रहा है। लेकिन Symphony जितना शानदार है, मेरी राय में, Multica बेहतर काम करता है क्योंकि इसे
00:05:54सेटअप करना, अलग-अलग एजेंट बनाना और जोड़ना आसान है, और आप कार्यों को शेड्यूल भी कर सकते हैं। फिर भी,
00:05:59मैं पूरी तरह से Symphony के लिए एक जगह देखता हूँ। यह Multica के एक बुनियादी वर्ज़न की तरह है जहाँ आप
00:06:04आपके लिए बनाए गए उत्पाद के बजाय अपनी पसंद के सटीक फीचर्स जोड़ सकते हैं। तो Symphony को
00:06:08Pi हार्नेस की तरह और Multica या Conductor जैसे अन्य टूल्स को Claude Code की तरह सोचें। और अगर
00:06:13आप Multica के बारे में कुछ नहीं जानते हैं, तो इस वीडियो को देखें, जो इसके बारे में वह सब कुछ बताता है
00:06:18जो आपको जानने की ज़रूरत है।