𝗠𝘆 𝗧𝘄𝗼 𝗔𝗜 𝗧𝗮𝘀𝗸𝘀 𝗞𝗲𝗽𝘁 𝗙𝗶𝗴𝗵𝘁𝗶𝗻𝗴 𝗳𝗼𝗿 𝘁𝗵𝗲 𝗦𝗮𝗺𝗲 𝗠𝗼𝘂𝘀𝗲

समांतर (Parallel) एजंट डेमो दिसायला चांगले वाटतात, जोपर्यंत दोन टास्क एकाच माऊससाठी संघर्ष करत नाहीत.

एक टास्क एखाद्या वेबसाइटवर लॉग इन करतो. दुसरा टास्क ब्राउझर उघडतो. तिसरा टास्क एका साध्या प्रश्नाचे उत्तर देण्याचा प्रयत्न करतो. अचानक, सिस्टम चुकीच्या ठिकाणी क्लिक करते किंवा चुकीची रन रद्द करते. ही प्रॉम्प्टची (prompt) समस्या नाही. ही रिसोर्सची (resource) समस्या आहे.

CliGate तयार करताना मला हे समजले. मला जाणीव झाली की कोड टास्क समांतरपणे चालू शकतात, परंतु डेस्कटॉप वेगळा आहे. तुमच्याकडे फक्त एक कीबोर्ड, एक माऊस आणि एक स्क्रीन असते. जर दोन एजंट्सनी त्या पृष्ठभागावर ताबा मिळवण्याचा प्रयत्न केला, तर ते एकमेकांचे नुकसान करतात.

नवीन टास्क आल्यावर जुना टास्क रद्द करणे, हा माझा पहिला विचार होता. ही एक चूक होती. स्टेटस अपडेट विचारणाऱ्या युजरमुळे लॉग इन प्रक्रिया थांबली जाऊ नये.

मला नियम बदलावे लागले.

एजंटच्या विश्वासार्हतेसाठी नवीन नियम:

  • स्वतंत्र टास्क समांतरपणे चालतात.
  • ज्या टास्कना डेस्कटॉपची गरज आहे, त्यांना रांगेत (queue) उभे राहावे लागेल.
  • युजरने विचारल्याशिवाय कोणताही टास्क रद्द केला जाणार नाही.

CliGate मध्ये, डेस्कटॉप इनपुट एका लीजप्रमाणे (lease) काम करते. एक टास्क डेस्कटॉपवर ताबा मिळवतो. इतर टास्क आपली पाळी येईपर्यंत थांबतात.

नवीन लॉजिक असे काम करते:

  • एक नवीन टास्क येतो.
  • त्याला डेस्कटॉपची गरज आहे का?
  • नसेल तर, तो समांतरपणे चालवा.
  • असेल आणि डेस्कटॉप मोकळा असेल, तर तो वापरा.
  • असेल आणि डेस्कटॉप व्यस्त असेल, तर रांगेत सामील व्हा.
  • युजरने थांबायला सांगितले तरच थांबवा.

रिट्रायजमुळे (Retries) परिस्थिती अधिक बिघडू शकते. जर एखादा टास्क दुसऱ्या टास्कने टाईप करत असताना माऊस मिळवण्याचा प्रयत्न करत राहिला, तर त्यामुळे अडथळा निर्माण होतो. उपाय अधिक जोरात प्रयत्न करणे हा नाही. उपाय प्रामाणिक असणे हा आहे. असिस्टंटने असे म्हणावे: "डेस्कटॉप व्यस्त आहे. मी रांगेत आहे. तो मोकळा झाल्यावर मी काम सुरू करेन."

यामुळे अपयशाचे रूपांतर एका अंदाजित (predictable) वर्तनात होते.

मी एक कडक नियम देखील जोडला: एजंट स्वतःला रद्द करू शकत नाही. यामुळे एजंट घाबरून स्वतःचे 'ऑफ स्विच' क्लिक करण्यापासून वाचतो.

AI टूल्स बनवणे म्हणजे चतुर असण्यापेक्षा साधे असणे जास्त महत्त्वाचे असते.

  • जर टास्कमध्ये संघर्ष नसेल, तर त्यांना चालू द्या.
  • जर भौतिक संसाधनांसाठी (physical resource) संघर्ष होत असेल, तर त्यांना रांगेत लावा.
  • जर युजरने स्टेटस विचारले, तर स्टेटस द्या.
  • जर युजरने थांबायला सांगितले, तर थांबवा.

यामुळे असिस्टंट अधिक मानवी वाटतो. तो नियंत्रणासाठी भांडणे थांबवतो आणि प्रश्न आणि आज्ञा यातील फरक समजून घेणाऱ्या ऑपरेटरप्रमाणे काम करू लागतो.

जर तुमचे AI डेस्कटॉपला स्पर्श करत असेल, तर हे लक्षात ठेवा: समांतर टास्क ठीक आहेत, परंतु भौतिक संसाधनांना मालकी हक्काची (ownership) गरज असते.

Source: https://dev.to/codekingai/my-two-ai-tasks-kept-fighting-for-the-same-mouse-1hij

Optional learning community: https://t.me/GyaanSetuAi