माझ्या कोडिंग एजंटने सेशन्स लक्षात ठेवले, काम नाही
एक कोडिंग एजंट थ्रेड जिवंत ठेवू शकतो, तरीही तो विसरभोळा वाटू शकतो.
CliGate तयार करताना मला या समस्येचा सामना करावा लागला. मी सेशन सातत्य (session continuity) सुधारले, पण वारंवार केल्या जाणाऱ्या कामांचा वेग मात्र कमीच राहिला.
एजंटला संभाषण आठवत होते, पण काम आठवत नव्हते.
सेशन सातत्य एक समस्या सोडवते. यामुळे खालीलप्रमाणे फॉलो-अप कमांड्स वापरता येतात:
- continue
- या फाईलसाठी देखील तेच करा
- ते पुन्हा प्रयत्न करा
- त्रुटी स्पष्ट करा
हे कामाच्या प्रवाहासाठी (flow) महत्त्वाचे आहे. पण जेव्हा तुम्ही काही दिवसांनंतर एखादी वर्कफ्लो (workflow) पुन्हा करता, तेव्हा हे अपयशी ठरते.
जर एखाद्या एजंटला कोणता बटण काम करतो किंवा कोणता टप्पा व्यर्थ आहे हे समजले असेल, तर केवळ एक ओपन सेशन पुरेसे नसते. मागील वेळी काय केल्यामुळे यश मिळाले, हे एजंटला आठवणे आवश्यक असते.
पहिली रन (run) सर्वात महागडी असते. तेव्हाच एजंटला सूक्ष्म तपशील सापडतात:
- एखादे विशिष्ट मेनू एखादी कृती लपवून ठेवते
- एडिटर एक iframe आहे
- प्रोजेक्टसाठी विशिष्ट उत्तरांच्या शैलींची आवश्यकता असते
- एन्व्हायरनमेंट URL प्रोडक्शनपेक्षा वेगळी असते
माझ्या सुधारणेपूर्वी, हे तपशील केवळ रॉ लॉग्स (raw logs) होते. एजंटकडे इतिहास होता, पण पुन्हा वापरण्यायोग्य मेमरी नव्हती. त्याला प्रत्येक वेळी तेच तथ्य पुन्हा शोधून घ्यावे लागत असे. हे बुद्धिमत्ता नाही. हे एकाच कामासाठी दोनदा खर्च करणे आहे.
अधिक इतिहास साठवणे आणि मॉडेल त्याचा वापर करेल अशी आशा करणे, हा चुकीचा दृष्टिकोन आहे. यामुळे गोंधळ (noise) निर्माण होतो.
मला एका लहान, पुन्हा वापरण्यायोग्य लेयरची (layer) गरज होती. मी सर्व काही साठवण्याऐवजी खालील गोष्टी साठवण्याकडे वळलो:
- procedures: सर्वोत्तम पायऱ्या आणि माहित असलेले अडथळे (dead ends)
- facts: URLs, नियम किंवा सेटिंग्ज
- directives: तुम्हाला गोष्टी कशा प्रकारे हव्या आहेत
- references: डॉक्युमेंटेशन कुठे आहे
यामुळे सिस्टममध्ये बदल झाला. एक मोठा ट्रान्सक्रिप्ट वाचण्याऐवजी, असिस्टंट फाईल-आधारित मेमरी लेयरचा वापर करतो.
मला परफेक्ट रिप्ले नको होता कारण इंटरफेस बदलतात आणि बटणे हलतात. मला एक लूप (loop) हवा होता:
- मागील सर्वोत्तम प्रक्रिया आठवणे
- आधी ती वापरून पाहणे
- प्रत्येक पायरीची पडताळणी करणे
- जर ती अयशस्वी झाली, तर पुन्हा शोधमोहिमेकडे वळणे
- यशस्वी झाल्यानंतर मेमरी अपडेट करणे
मी कायमस्वरूपी नियम आणि सेशन हिस्ट्री वेगळी केली. "प्रोडक्शन डेटाला स्पर्श करू नका" सारखे नियम हे संभाषणाचा संदर्भ नसून ते ऑपरेटिंग नियम आहेत. त्यांना वेगळे केल्यामुळे असिस्टंट अधिक प्रेडिक्टेबल (predictable) होतो.
परिणाम: वारंवार केल्या जाणाऱ्या कामांचा वेळ कमी झाला. असिस्टंट अधिक वेगाने काम करतो कारण तो रिकाम्या टॅक्टिकल मॉडेलसह सुरुवात करत नाही.
जर तुम्ही कोडिंग एजंट्स बनवत असाल, तर थ्रेड आणि लर्निंग यामध्ये गल्लत करू नका.
- सेशन सातत्यासाठी मदत करते.
- मेमरी वारंवार केल्या जाणाऱ्या कामासाठी मदत करते.
सेशन संभाषण जिवंत ठेवते. मेमरी लेयर धडे जिवंत ठेवते.
तुमची सिस्टम थ्रेड लक्षात ठेवत आहे की यशस्वी प्रक्रिया?
Source: https://dev.to/codekingai/my-coding-agent-remembered-sessions-not-work-that-was-the-bug-2fig
