Software Self-Extension with SelfEvolve: an Agentic Architecture for Runtime Code Generation
यह शोध पत्र SelfEvolve को प्रस्तुत करता है, जो एक एजेंटिक आर्किटेक्चर है जो सॉफ्टवेयर सिस्टम को रनटाइम पर नई कार्यात्मकताओं को स्वायत्त रूप से उत्पन्न करने और एकीकृत करने में सक्षम बनाता है, जो 92.7% सफलता दर प्रदर्शित करता है और स्व-विकसित सॉफ्टवेयर का मार्ग प्रशस्त करने के लिए मौजूदा कोड जनरेशन बेसलाइन से काफी बेहतर प्रदर्शन करता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आपके पास एक बहुत ही बुद्धिमान, लेकिन थोड़ा संकुचित (rigid) व्यक्तिगत सहायक है। आज, यदि आप उनसे "मेरी रोड ट्रिप के लिए सबसे अच्छा रास्ता निकालें" कहते हैं, तो वे इसे तुरंत कर सकते हैं क्योंकि यह एक कौशल है जो उन्हें काम पर रखने से पहले सिखाया गया था। लेकिन यदि आप अचानक उनसे पूछते हैं, "क्या आप यह भी अनुमान लगा सकते हैं कि स्थानीय मौसम के आधार पर मेरी कार के रखरखाव की लागत कितनी होगी?" तो वे संभवतः कहेंगे, "मुझे नहीं पता कि यह कैसे करना है। मुझे अपने बॉस (डेवलपर) को कॉल करने की आवश्यकता है ताकि वे मुझे यह सिखा सकें।"
सॉफ्टवेयर की दुनिया में, यही सामान्य बात है। एक नया फीचर जोड़ने के लिए, एक मानव डेवलपर को कोड लिखना, उसका परीक्षण करना और ऐप को अपडेट करना पड़ता है। इसमें दिन या सप्ताह लग जाते हैं।
SelfEvolve एक नए प्रकार का सॉफ्टवेयर आर्किटेक्चर है जो नियमों को बदल देता है। यह उस व्यक्तिगत सहायक को एक जादुई टूलबॉक्स और अपने आप नए कौशल सीखने की क्षमता देने जैसा है—जबकि वे आपके साथ काम कर रहे हैं, बिना कभी अपने बॉस को कॉल किए या बातचीत रोके।
यह कैसे काम करता है, यहाँ सरल अवधारणाओं में दिया गया है:
1. "स्व-शिक्षण" (Self-Teaching) सहायक
SelfEvolve को केवल एक स्थिर (static) प्रोग्राम के रूप में नहीं, बल्कि एक फैक्ट्री में एक साथ काम कर रहे विशेषज्ञ रोबोटों की एक टीम के रूप में सोचें।
- डिस्पैचर (The Dispatcher): यह रिसेप्शनिस्ट है। जब आप किसी नई चीज़ के लिए पूछते हैं (जैसे, "मुझे दिखाएं कि मेरे पड़ोसी क्या देख रहे हैं"), तो रिसेप्शनिस्ट लाइब्रेरी की जाँच करता है। यदि कौशल मौजूद है, तो वे उसे करते हैं। यदि नहीं, तो वे कहते हैं, "हमें इसके लिए एक नया टूल बनाने की आवश्यकता है।"
- आर्किटेक्ट (The Architect - कोड जनरेटर): यह रोबोट आपके अनुरोध को लेता है और नया टूल बनाना शुरू करता है।
- सुरक्षा निरीक्षक (The Safety Inspector - टेस्ट जनरेटर): टूल के पूरी तरह तैयार होने से पहले ही, यह रोबोट नियमों की एक चेकलिस्ट लिखता है ताकि यह सुनिश्चित हो सके कि टूल सही ढंग से काम करता है।
- न्यायाधीश (The Judge - एडजुडिकेटर): यह रोबोट नए टूल को चेकलिस्ट के विरुद्ध चलाता है। यदि यह विफल होता है, तो जज इसे केवल फेंक नहीं देता; वे इसे आर्किटेक्ट के पास एक नोट के साथ वापस भेजते हैं जिसमें लिखा होता है, "आप इस विशिष्ट त्रुटि (error) को संभालना भूल गए। फिर से प्रयास करें।"
2. "टेस्ट-फर्स्ट" सुरक्षा जाल
SelfEvolve का मुख्य आधार (secret sauce) है जिसे टेस्ट-ड्रिवन डेवलपमेंट (TDD) कहा जाता है।
कल्पना कीजिए कि आप एक केक बना रहे हैं।
- पुराना तरीका: आप केक बनाते हैं, चखते हैं, महसूस करते हैं कि यह बहुत नमकीन है, इसे फेंक देते हैं, और फिर से शुरू करते हैं।
- SelfEvolve का तरीका: इससे पहले कि आप मैदा भी मिलाएं, आप ठीक से लिख देते हैं कि केक का स्वाद कैसा होना चाहिए (बहुत नमकीन नहीं, पर्याप्त मीठा, स्पंजी)। फिर आप केक बनाते हैं और तुरंत अपनी सूची के विरुद्ध इसकी जाँच करते हैं। यदि यह "नमकीन नहीं" के परीक्षण में विफल रहता है, तो आप ग्राहक को परोसने से पहले ही रेसिपी को ठीक कर देते हैं।
SelfEvolve में, सिस्टम अंतिम कोड लिखने से पहले "स्वाद परीक्षण" (कोड टेस्ट) लिखता है। यह सुनिश्चित करता है कि जब नया फीचर जोड़ा जाता है, तो वह वास्तव में काम करता है।
3. "हॉट-प्लग" अपग्रेड
आमतौर पर, जब आप अपने फोन ऐप को अपडेट करते हैं, तो आपको उसे बंद करना, अपडेट डाउनलोड करना और रीस्टार्ट करना पड़ता है।
SelfEvolve एक ट्रिक का उपयोग करता है जिसे हॉट रीलोडिंग (hot reloading) कहा जाता है। कल्पना कीजिए कि एक कार जो हाईवे पर चलते समय अपना इंजन बदल सकती है बिना ड्राइवर को एक भी झटका महसूस कराए।
- सिस्टम एक सुरक्षित, अलग "सैंडबॉक्स" (जैसे एक टेस्ट किचन) में नए फीचर को बनाता है।
- एक बार जब नया फीचर सभी सुरक्षा परीक्षणों को पास कर लेता है, तो इसे तुरंत मुख्य सिस्टम में "प्लग इन" कर दिया जाता है।
- आप, उपयोगकर्ता, परिणाम तुरंत प्राप्त करते हैं। सिस्टम वास्तविक समय में विकसित हो गया है।
4. यह क्यों महत्वपूर्ण है (परिणाम)
शोधकर्ताओं ने चिकित्सा डेटा का विश्लेषण करने से लेकर जटिल गणित की गणना करने तक, 11 विभिन्न कार्यों पर इस प्रणाली का परीक्षण किया।
- प्रतिस्पर्धा: अन्य AI कोडिंग टूल्स (जैसे AutoGen या MetaGPT) मनुष्यों को कोड लिखने में मदद करने के लिए बेहतरीन हैं, लेकिन वे सिस्टम चलते समय अपने आप नए फीचर्स बनाने और इंस्टॉल करने में संघर्ष करते हैं। वे नए फीचर्स को केवल लगभग 30% समय ही सही ढंग से बना पाते थे।
- SelfEvolve: यह 92.7% बार सफल रहा। यह मौजूदा सर्वोत्तम टूल्स को बड़े अंतर से पछाड़ते हुए, स्वायत्त रूप से नए कौशल सीखने, बनाने, परीक्षण करने और इंस्टॉल करने में सक्षम था।
बड़ी तस्वीर
वर्तमान में, सॉफ्टवेयर एक जमे हुए पत्थर की मूर्ति (frozen statue) की तरह है। इसे बदलने के लिए, आपको एक हथौड़े (मानव डेवलपर्स) से इसे छीलना पड़ता है।
SelfEvolve सॉफ्टवेयर को एक जीवित जीव (living organism) में बदल देता है। यह एक आवश्यकता को महसूस कर सकता है, उस आवश्यकता को पूरा करने के लिए एक नया अंग (फीचर) विकसित कर सकता है, और बिना रुके आगे बढ़ सकता है।
भविष्य का दृष्टिकोण:
एक ऐसे नेटफ्लिक्स की कल्पना करें जो न केवल फिल्में रिकमेंड करता है, बल्कि यदि आप पूछते हैं, "मैं एक ऐसी फिल्म देखना चाहता हूँ जहाँ मुख्य पात्र एक समय-यात्रा करने वाला बेकर (baker) है," तो यह तुरंत आपके लिए वह विशिष्ट रिकमेंडेशन इंजन बनाने के लिए कोड लिखता है, उसका परीक्षण करता है, और आपको परिणाम दिखाता है। यह उस सॉफ्टवेयर की शुरुआत है जो वास्तव में आपकी अनूठी जरूरतों के अनुसार विकसित होने के लिए बनाया गया है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।