ट्यूटोरियल

एजेंट बनाना: एक द्विआधारी, एकाधिक एजेंट

एक टर्मिनल कोडिंग एजेंट को फोकस लोड कम करने के लिए विशेष सहायकों में विभाजित करें, जबकि संदर्भ हानि, डुप्लिकेट कार्य और अनुमति जोखिमों का प्रबंधन करना।

एजेंट बनाना: एक द्विआधारी, एकाधिक एजेंट

मुख्य जानकारी

  • एक टर्मिनल कोडिंग एजेंट को संकीर्ण कार्यों, निर्देशों, उपकरणों और अनुमतियों के साथ विशेष सहायकों में विभाजित किया जा सकता है।
  • विशेषज्ञता नियंत्रण और डिबगिंग में सुधार कर सकती है जब काम की योजना, संपादन, परीक्षण और समीक्षा जैसे स्पष्ट चरण होते हैं।
  • मुख्य जोखिम समन्वय सीम पर दिखाई देते हैंः संदर्भ की हानि, दोहराया प्रयास और सहायकों के बीच अनुमतियों का असंगति।
  • एकाधिक एजेंट स्वचालित रूप से बेहतर नहीं होते हैं; कार्यप्रवाह की मदद के लिए स्पष्ट सीमाएं और संरचित हस्तान्तरण आवश्यक हैं।

मेटा विवरण
एक Towards AI लेख में समझाया गया है कि कैसे एक टर्मिनल कोडिंग एजेंट को विशेष एजेंटों में विभाजित किया जाए, साथ ही समन्वय quirks डेवलपर्स की उम्मीद करनी चाहिए।

Building an Agent: One Binary, Multiple Agents

टैग
टर्मिनल कोडिंग एजेंट, AI कोडिंग उपकरण, विशेष एजेंटों, एजेंट कार्यप्रवाह, डेवलपर उत्पादकता

फ़ीचर छवि
टर्मिनल कर्सर का एक अमूर्त, मैत्रीपूर्ण चित्रण जो कई गोल कार्य नोड्स में शाखाएं करता है, जिसमें नरम नीले और हरे रंग के आकार होते हैं, कोई वास्तविक लोग नहीं, कोई लोगो नहीं, और कोई पाठ नहीं।

Towards AI प्लेटफ़ॉर्म पर प्रकाशित एक लेख बताता है कि कैसे टर्मिनल कोडिंग एजेंट, कमांड-लाइन AI सहायक जो डेवलपर्स को कोड लिखने, संपादित करने, परीक्षण करने और नेविगेट करने में मदद करता है, को विशेष सहायकों के परिवार में बदल दिया जा सकता है, और उस विभाजन के बाद कौन से अजीब व्यवहार दिखाई देते हैं। यह टुकड़ा उन डेवलपरों के लिए सबसे उपयोगी है जो पहले से ही टर्मिनेल में कोडिंग असिस्टेंट चलाते हैं और यह तय करना चाहते हैं कि क्या एक व्यापक एजेंट को कई संकीर्ण लोगों में तोड़ना भ्रम को कम करेगा, काम की गति बढ़ाएगा या समन्वय समस्याओं का एक नया सेट बनाएगा।

एक सामान्य विशेषज्ञ से कई कार्य-केंद्रित सहायकों तक

मूल कदम का वर्णन करना सरल हैः एक टर्मिनल कोडिंग एजेंट से योजना, कोड परिवर्तन, डिबगिंग, परीक्षण और प्रलेखन को संभालने के लिए पूछने के बजाय, डेवलपर अलग-अलग एजेंटों को संकीर्ण नौकरियों के साथ बनाता है। एक रिपॉजिटरी पढ़ने और सारांशित करने पर ध्यान केंद्रित कर सकता है, दूसरा संपादन का प्रस्ताव दे रहा है, अन्य टेस्ट कमांड चलाने पर, और आउटपुट की समीक्षा शैली या जोखिम के लिए। लक्ष्य प्रत्येक एजेंट को एक बार में दिमाग में रखना चाहिए भूमिकाओं की संख्या को कम करना है।

गैर-विशेषज्ञों के लिए, "विशिष्ट एजेंट" का अर्थ है एक सहायक जो संक्षिप्त निर्देश सेट, सीमित टूल सूची या स्पष्ट कार्य सीमा के साथ कॉन्फ़िगर किया गया है। एक परीक्षण-केंद्रित हेल्पर को कमांड चलाने और विफलताओं की रिपोर्ट करने के लिए कहा जा सकता है लेकिन पूरे मॉड्यूल को फिर से लिखने के लिए नहीं। एक प्रलेखन मददगार को कोड समझाना हो सकता है, लेकिन इसे बदलना नहीं है। यह AI इंजीनियरों की "टीम" की तुलना में कम जादुई है; यह एक उपकरण को छोटे नौकरी विवरण और अनुमतियों का एक छोटा सेट देने के करीब है।

Building an Agent: One Binary, Multiple Agents

समन्वय की विडंबना

जब एक एजेंट कई हो जाता है, तो सीम व्यक्तिगत सहायकों की तुलना में अधिक मायने रखते हैं। सबसे आम समस्या संदर्भ हानि है। एक रिपॉजिटरी रीडर फ़ाइलों को सही ढंग से सारांशित कर सकता है, लेकिन संपादक को सुरक्षित परिवर्तन करने के लिए पर्याप्त परिवेश विवरण प्राप्त नहीं हो सकते हैं। एक परीक्षण धावक विफलता की रिपोर्ट कर सकते हैं, लेकिन समीक्षक यह नहीं जान सकता कि क्या विफलता कोड परिवर्तन, पर्यावरण या स्वयं परीक्षण से आई थी। प्रत्येक सहायक स्थानीय रूप से उचित निर्णय ले सकता है जबकि समग्र वर्कफ़्लो बहती है।

एक अन्य विचित्रता दोहरा प्रयास है। यदि एजेंटों को स्पष्ट सीमाएं नहीं दी जाती हैं, तो दो सहायक समान फाइलें पढ़ सकते हैं, एक ही खोज चला सकते हैं या ओवरलैपिंग फिक्स का प्रस्ताव कर सकते हैं। टर्मिनल वर्कफ़्लो में, यह बार-बार कमांड्स, लंबे समय तक प्रतीक्षाओं या भ्रमित लॉग के रूप में दिखाई दे सकता है। उपयोगकर्ता कई सहायक संदेश देख सकता है जो उपयोगी दिखते हैं लेकिन एक साथ फिट नहीं होते हैं।

अनुमतियों का असंगतता तीसरा क्षेत्र है जिसे देखना चाहिए। एक कोडिंग एजेंट जो फ़ाइलों को संपादित कर सकता है, शेल कमांड चला सकता है और निर्भरताओं को स्थापित करता है वह उस एजेंट से अलग जोखिम प्रोफ़ाइल है जो केवल कोड की व्याख्या करता है। जब विशेषज्ञता अच्छी तरह से की जाती है, तो परीक्षण सहायक आदेश चला सकते हैं जबकि प्रलेखन सहायक नहीं कर सकता। जब यह खराब तरीके से किया जाता है, तब भी एक संकीर्ण दिखने वाला एजेंट व्यापक पहुंच विरासत में ले सकता है या कार्यप्रवाह विफल हो सकता है क्योंकि मददगार के पास आवश्यक उपकरण नहीं होते हैं। लेख की "quirks" भाषा उम्मीद और कॉन्फ़िगरेशन के बीच इस प्रकार के अंतर की ओर इशारा करती है।

क्यों विभाजन अभी भी टर्मिनल कार्य में सुधार कर सकता है

इन quirks के साथ भी, विभाजन तब मदद कर सकता है जब काम में स्पष्ट चरण होते हैं। एक योजना सहायक निरीक्षण करने के लिए फ़ाइलों की एक छोटी सूची का उत्पादन कर सकती है। एक कोडिंग हेल्पर उस सूची के खिलाफ छोटे संपादन कर सकते हैं। परीक्षण सहायक कमांड चला सकते हैं और संक्षिप्त रूप में विफलताओं को वापस कर सकते हैंः समीक्षा सहायक मूल योजना से परिणाम की तुलना कर सकता हैः क्योंकि प्रत्येक सहायक के पास एक संकीर्ण संकेत होता है, यह डिबग करना आसान हो सकता है यदि कोई उत्तर गलत हो जाता है।

Building an Agent: One Binary, Multiple Agents

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

उस ने कहा, लाभ इस बात पर निर्भर करता है कि क्या डेवलपर स्पष्ट रूप से सीमाओं का वर्णन कर सकता है। यदि उपयोगकर्ता यह नहीं बता सकता है कि "कोडिंग" एजेंट को क्या करना चाहिए जब "परीक्षण" होना चाहिए, तो एजेंटों के परिवार बस एक ही अस्पष्टता गुणा कर सकते हैं। लेख की चेतावनी मूल्यवान है क्योंकि यह विशेषज्ञता को डिजाइन निर्णय के रूप में मानती है, न कि स्वचालित अपग्रेड।

पाठकों को आगे क्या देखना चाहिए

पाठकों के लिए, व्यावहारिक टेकवे यह नहीं है कि "अधिक एजेंट बेहतर होते हैं।" टेकवैय यह है कि टर्मिनल कोडिंग एजेंट अधिक उपयोगी हो सकता है जब प्रत्येक भूमिका में एक छोटा, परीक्षण योग्य काम होता है, लेकिन सिस्टम को स्पष्ट हैंडऑफ नियमों की आवश्यकता होती है। अच्छे अगले चरणों में प्रत्येक सहायक से संरचित सारांश वापस करने का अनुरोध करना, कार्य द्वारा उपकरणों को सीमित करना और अंतिम निर्णय लेने के लिए एक स्थान रखना शामिल है। मानव डेवलपर को अभी भी तय करना चाहिए कि कौन सा परिवर्तन स्वीकार किया जाए, खासकर जब टेस्ट, निर्भरता या सुरक्षा नोट्स शामिल हों।

व्यापक प्रभाव यह है कि कोडिंग सहायक एकल चैट बॉक्स से कॉन्फ़िगर करने योग्य वर्कफ़्लो की ओर बढ़ रहे हैं। वह बदलाव टीमों को पुनः प्रयोज्य प्रक्रियाओं के निर्माण में मदद कर सकता है, लेकिन यह किसी भी मल्टी-टूल सिस्टम की तरह ही समस्या का पर्दाफाश करता हैः भागों को एक दूसरे से बात करनी चाहिए। विचित्रताएं सब कुछ करने की कोशिश करने वाले एक एजेंट की सादगी को पीछे छोड़ने की कीमत हैं।

किसको इसका उपयोग करना चाहिए/कौन इसे छोड़ना चाहिए

यह दृष्टिकोण उन डेवलपर्स के लिए सबसे अच्छा है जो पहले से ही टर्मिनल कोडिंग एजेंट का उपयोग करते हैं और उनके पास दोहराए जाने वाले कार्य हैंः रिपॉजिटरी अन्वेषण, परीक्षण निष्पादन, पैच समीक्षा या प्रलेखन पीढ़ी। यह उन लोगों के लिए भी उपयोगी है जो एक सहायक व्यापक पहुंच देने के बजाय सुरक्षित, संकीर्ण अनुमतियों के साथ प्रयोग करना चाहते हैं। इसे छोड़ दें यदि आपका वर्तमान वर्कफ़्लो एक या दो छोटे संपादन है, अगर आप स्पष्ट कार्य सीमाओं को परिभाषित नहीं कर सकते हैं, या यदि आप मानव की आवश्यकता को हटाने के लिए मल्टी-एजेंट सेटअप की उम्मीद करते हैं।

Comments (0)

  1. No comments yet. Be the first to share what worked for you.

Leave a comment

Comments are reviewed before they appear. Your email address is not published.