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जो आपको जानने की ज़रूरत है।

Key Takeaway

Symphony मानवीय प्रबंधकों की आवश्यकता को समाप्त करके AI एजेंटों को सीधे Linear जैसे टूल्स से कार्य उठाने और स्वायत्त रूप से कोड पूरा करके PR सबमिट करने की अनुमति देता है।

Highlights

  • Symphony एक ओपन-सोर्स टूल है जो Linear जैसे इश्यू ट्रैकर्स का उपयोग करके AI एजेंटों को स्वायत्त रूप से कार्यों को पूरा करने में सक्षम बनाता है।

  • OpenAI ने इसे मानवीय ध्यान की कमी को दूर करने के लिए बनाया क्योंकि इंजीनियर एक समय में केवल 3-5 Codex सत्रों की ही निगरानी कर पा रहे थे।

  • Symphony को इंस्टॉल करने का भविष्यवादी तरीका 2000 से अधिक लाइनों वाली एक स्पेक फ़ाइल को कोडिंग एजेंट को देना है, जिससे एजेंट स्वयं टूल का निर्माण करता है।

  • उपयोगकर्ता अपनी पसंद के अनुसार Python, Go या Claude SDK जैसे विभिन्न वर्ज़न और अपनी पसंदीदा प्रोग्रामिंग भाषाओं में Symphony को कस्टमाइज़ कर सकते हैं।

  • Symphony वर्कफ़्लो में 'create-after' और 'run-after' जैसे हुक्स जोड़कर ऑटोमेटेड रेपो क्लोनिंग, ब्रांचिंग और पुल रिक्वेस्ट बनाने की सुविधा मिलती है।

Timeline

एजेंट ऑर्केस्ट्रेशन और मानवीय सीमाओं का समाधान

  • Symphony लंबे समय तक चलने वाले स्वायत्त एजेंटों को व्यवस्थित करने के लिए एक ढांचा प्रदान करता है।
  • इंजीनियरों की कॉन्टेक्स्ट स्विचिंग क्षमता 3-5 सत्रों तक सीमित होने के कारण बड़े पैमाने पर काम करना असंभव था।
  • मनुष्य केवल टास्क बोर्ड पर कार्य डालते हैं और एजेंट समीक्षा के लिए तैयार होने पर ही उन्हें सूचित करता है।

यह टूल उन समस्याओं को हल करने के लिए बनाया गया है जहाँ मानव प्रबंधकों की गति AI एजेंटों की तुलना में बहुत धीमी होती है। इंजीनियरों की उत्पादकता तब गिर जाती है जब उन्हें एक साथ कई तकनीकी सत्रों की निगरानी करनी पड़ती है। Symphony इस बाधा को हटाकर एजेंटों को सीधे इश्यू ट्रैकर से जोड़ने की अनुमति देता है।

कार्य निष्पादन का व्यावहारिक उदाहरण

  • Linear में 'SYN7' जैसे टास्क की आईडी को Symphony स्वचालित रूप से पहचान लेता है।
  • एजेंट बिना किसी मानवीय हस्तक्षेप के TypeScript और BUN का उपयोग करके ऐप का निर्माण करता है।
  • कार्य पूरा होने पर इश्यू का स्टेटस 'To-Do' से बदलकर 'Done' हो जाता है और फाइलें वर्कस्पेस में उपलब्ध होती हैं।

एक बुनियादी उदाहरण में Symphony को Linear के साथ सिंक किया गया है जहाँ यह नए कार्यों की खोज करता है। GraphQL वैलिडेशन जैसी छोटी त्रुटियों को Codex स्वयं ठीक कर लेता है। अंत में यह वर्कस्पेस डायरेक्टरी में कोड फ़ाइलें बनाता है और Linear टिकट पर अपनी प्रतिक्रिया छोड़ता है।

अपरंपरागत इंस्टॉलेशन और कस्टमाइज़ेशन विधियाँ

  • इंस्टॉलेशन का एक तरीका 2000 लाइनों के निर्देश देकर AI एजेंट से ही Symphony का निर्माण करवाना है।
  • एजेंट द्वारा बनाए गए सॉफ़्टवेयर के लिए उपयोगकर्ता अधिक ज़िम्मेदारी और स्वामित्व महसूस करते हैं।
  • YAML फ़ाइल के माध्यम से API की, एजेंट स्टेट्स और शेल कमांड्स को कॉन्फ़िगर किया जाता है।

Symphony पारंपरिक क्लोनिंग और बिल्डिंग के बजाय एजेंट-आधारित निर्माण को बढ़ावा देता है। इससे दुनिया भर में Symphony के कई अलग-अलग वर्ज़न (Go, Python आदि) विकसित हुए हैं जो विशिष्ट आवश्यकताओं के अनुकूल हैं। यह दृष्टिकोण मेंटेनेंस और नए फीचर्स जोड़ने के लिए उपयोगकर्ताओं को अधिक प्रेरित करता है।

उन्नत वर्कफ़्लो और सहयोगी कोडिंग का भविष्य

  • हुक्स का उपयोग करके कोड को सीधे रेपो में क्लोन करना और पुल रिक्वेस्ट (PR) बनाना संभव है।
  • एक केंद्रीय एजेंट टीम के सभी डेवलपर्स के लिए सामान्य टूल्स और प्लगइन्स का प्रबंधन कर सकता है।
  • Symphony एक व्यक्तिगत हार्नेस के रूप में कार्य करता है जहाँ उपयोगकर्ता अपनी पसंद के सटीक फीचर्स जोड़ सकते हैं।

वास्तविक प्रोजेक्ट्स के लिए 'create-after' हुक का उपयोग करके स्वचालित रूप से नई शाखाएँ बनाई जा सकती हैं। यह एक ऐसा भविष्य दिखाता है जहाँ डेवलपर्स एक केंद्रीय AI एजेंट के माध्यम से संवाद करते हैं और एक-दूसरे के प्रॉम्प्ट्स और कार्यों को रीयल-टाइम में देख सकते हैं। हालांकि Multica जैसे टूल्स शेड्यूलिंग में बेहतर हो सकते हैं, Symphony की ताकत इसकी लचीलेपन और कस्टमाइज़ेशन क्षमता में है।

Community Posts

View all posts