माझ्या कोडिंग एजंटने टास्क पूर्ण केला. मग थ्रेड का संपला?

कोडिंग एजंटमधील सर्वात वाईट बग म्हणजे क्रॅश होणे हा नाही.

तो तेव्हा असतो जेव्हा पहिला टास्क यशस्वी होतो पण पुढचा मेसेज पाठवल्यावर असे वाटते की एजंट स्मृतीभ्रंश (amnesia) झाला आहे. तुम्ही एखादा टास्क सांगता. एजंट तो पूर्ण करतो. मग तुम्ही म्हणता: "बटण हिरवे करा."

तुमच्यासाठी, ही एकच चर्चा (conversation) आहे. पण सिस्टमसाठी, टास्क पूर्ण झाला याचा अर्थ अनेकदा सेशन संपले असा होतो. सिस्टम पुन्हा शून्यापासून सुरुवात करते.

CliGate तयार करताना मला जाणवले की मी तीन वेगवेगळ्या लेयर्स एकत्र केल्या होत्या:

या गोष्टी एकच नाहीत.

कन्वर्सेशन ही संवादासाठी असलेली एक दीर्घकाळ टिकणारी जागा आहे. रनटाइम सेशन हा त्या कन्वर्सेशनसाठी असलेला वर्किंग थ्रेड आहे. टर्न म्हणजे त्या सेशनमधील एक सिंगल रन आहे.

जेव्हा एखादा टास्क पूर्ण होतो, तेव्हा फक्त टर्न संपला पाहिजे. सेशन सक्रिय राहिले पाहिजे.

बिघडलेला फ्लो असा दिसतो: युजर टास्क सांगतो -> रनटाइम सेशन सुरू होते -> टास्क पूर्ण होतो -> कन्वर्सेशन सक्रिय सेशन क्लिअर करते -> पुढचा फॉलो-अप एका अगदी नवीन सेशनपासून सुरू होतो.

यामुळे खालीलसारखे छोटे फॉलो-अप्स मोडतात:

जर सिस्टमने लगेच सेशन वेगळे केले, तर तुम्हाला सर्व काही पुन्हा सांगावे लागते. एजंट काम करतो, पण संवाद कृत्रिम वाटतो.

मी मॉडेलला स्पष्ट सूचना देऊन हे सुधारले:

मी टास्क पूर्ण होणे म्हणजे सेशन संपणे असे मानणे थांबवले. या छोट्या बदलामुळे संपूर्ण प्रॉडक्टचा अनुभव सुधारतो.

CliGate मध्ये, नवीन सेशन फक्त तेव्हाच सुरू होते जेव्हा:

हे मानवी विचार करण्याच्या पद्धतीशी जुळते. युजरला अपेक्षा असते की एक चॅट टॅब एका अखंड थ्रेडप्रमाणे काम करेल. टेलिग्राम किंवा Feishu सारख्या मोबाईल ॲप्सवर हे अत्यंत महत्त्वाचे आहे.

नवीन लॉजिक सोपे आहे:

यामुळे एजंट केवळ कमांड लाँच करणारा न वाटता एका सहकाऱ्यासारखा (coworker) वाटतो.

जर तुम्ही कोडिंग एजंट्स बनवत असाल, तर हे लक्षात ठेवा: कन्वर्सेशन ही एक टिकाऊ युनिट (durable unit) आहे. रनटाइम सेशन हा एक पुन्हा वापरण्यायोग्य वर्कर (reusable worker) आहे. टर्न ही अशी गोष्ट आहे जी यश किंवा अपयशावर संपते.

या तीन थरांना वेगळे करा. तुमचे फॉलो-अप्स अखेर संवादात्मक वाटतील.

स्रोत: https://dev.to/codekingai/my-coding-agent-finished-the-task-why-did-the-thread-die-2jk2

ऐच्छिक लर्निंग कम्युनिटी: https://t.me/GyaanSetuAi