सिम्फनी एजेंट को गिटहब समस्याओं को स्वचालित रूप से हल करने के लिए कैसे कॉन्फ़िगर करें
May 9, 2026
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
इश्यू ट्रैकर में जमा हुए टिकटों को एजेंट द्वारा सीधे संसाधित करने के लिए, आपको प्रोजेक्ट रूट में WORKFLOW.md फ़ाइल डालनी होगी। सिम्फनी (Symphony) प्रोजेक्ट मैनेजमेंट बोर्ड की स्थिति में बदलाव का पता लगाती है और एक अलग वर्कस्पेस आवंटित करती है। वास्तव में, जब OpenAI की आंतरिक टीम ने इस पद्धति को अपनाया, तो अंतिम रूप से मर्ज किए गए पुल अनुरोधों (Pull Requests) की संख्या 3 सप्ताह में 500% बढ़ गई। हालांकि यह संख्या थोड़ी अधिक लग सकती है, लेकिन इसका मतलब यह है कि चूंकि एजेंट एनवायरनमेंट सेटिंग और असाइनमेंट कार्यों को खुद संभालता है, इसलिए डेवलपर्स को केवल कोड पर ध्यान केंद्रित करने की आवश्यकता होती है।
सबसे पहले, YAML कॉन्फ़िगरेशन में गिटहब रिपॉजिटरी पाथ और ai-fix जैसे ट्रिगर लेबल सेट करें। उसके बाद, Rust में लिखे गए broomva/symphony या Go संस्करण itervox/symphony-go डेमन (daemon) को चलाएं ताकि हर 30 सेकंड में समस्याओं की निगरानी की जा सके। इस तरह से सेटअप करने से, यह सोचने में बर्बाद होने वाला समय बच जाता है कि यह काम किसे सौंपा जाए।
जब आप किसी एजेंट को काम सौंपते हैं, तो कभी-कभी वह बेतुका कोड लिखता है और उसे गर्व से सबमिट कर देता है। जैसे कि सुरक्षा कुंजियों (Security Keys) को उजागर करना या टीम कन्वेंशन की अनदेखी करना। सिम्फनी का hooks.after_run एक चेकपॉइंट है जो एजेंट द्वारा बनाए गए परिणाम को रिपॉजिटरी में रिकॉर्ड करने से ठीक पहले काम करता है। यदि यहाँ निष्पादित स्क्रिप्ट कोई त्रुटि (Error) देती है, तो सिम्फनी तुरंत काम रोक देती है और खराब कोड को मिलने से रोकती है।
after_run चरण में बस तीन पंक्तियाँ जोड़ें। npx prettier --write के साथ फॉर्मेटिंग ठीक करें, npx eslint --fix के साथ व्याकरण की गलतियाँ सुधारें, और अंत में npx tsc --noEmit के साथ टाइप चेकिंग पूरी करें। इस स्वचालित सत्यापन लूप को चलाने से, एजेंट द्वारा लिखे गए कोड को इंसानों द्वारा फिर से ठीक करने की मेहनत आधी हो जाती है। यदि आप एजेंट द्वारा की गई गलतियों को साफ करने में अपना सारा समय बर्बाद करने से बचना चाहते हैं, तो यह अनिवार्य है।
एक साथ कई एजेंट चलाने से आपकी लोकल मशीन पर दबाव पड़ सकता है। यह CPU के पूरे उपयोग के कारण माउस को रोक सकता है या फ़ाइल सिस्टम की गड़बड़ी के कारण कोड ओवरराइट होने जैसी दुर्घटनाएँ हो सकती हैं। सिम्फनी ऑर्केस्ट्रेटर आंतरिक रूप से पाथ का विश्लेषण करने के लिए filepath.EvalSymlinks फ़ंक्शन का उपयोग करता है, इसलिए यह डायरेक्टरी एस्केप प्रयासों को रोकता है, लेकिन संसाधन वितरण (Resource distribution) आपको स्वयं सेट करना होगा।
स्थिर रूप से 5 या अधिक सत्र चलाने के लिए Docker कंटेनर का उपयोग स्लॉट के रूप में करें। संसाधनों को सीमित करने के लिए --memory="2g" और --cpu-shares=100 विकल्पों का उपयोग करना और बाहरी संचार को काटने के लिए --network=none का उपयोग करना सुरक्षित है। यदि आप नहीं चाहते कि एजेंट नेटवर्क पर कहीं डेटा भेजे या सिस्टम को पंगु बना दे, तो इस स्तर का आइसोलेशन एक स्वाभाविक उपाय है।
एजेंट को सीधे मेन ब्रांच (Main Branch) में कमिट करने देना आत्मघाती कदम है। AI का प्रदर्शन चाहे कितना भी बेहतर क्यों न हो गया हो, इंसानी अंतिम मंजूरी के बिना एक लाइन भी मर्ज नहीं की जानी चाहिए। काम के परिणाम को हमेशा staging/ai-patch- जैसे प्रीफिक्स वाले अस्थायी ब्रांच में पुश किया जाना चाहिए।
पाइपलाइन के अंत में गिटहब CLI (gh) कमांड डालें। मुझे रिव्यूअर के रूप में नियुक्त करने के लिए नॉन-इंटरएक्टिव मोड में gh pr create चलाएं और स्लैक (Slack) के माध्यम से सूचना भेजें। कोड की समीक्षा करने के बाद और समस्या न होने पर ही gh pr merge --squash के साथ मर्ज करें। वह संरचना जहाँ मशीन ड्राफ्ट तैयार करती है और इंसान उस पर मुहर लगाता है, सबसे तेज़ और सुरक्षित है।