प्रोडक्शनमध्ये AI एजंट्स चालवताना मी काय शिकलो

मी AI सिस्टम्स तयार करतो. मी कोड शिप करणाऱ्या इंजिनिअर्सशी बोलतो. आकर्षक डेमो आणि वास्तविक प्रोडक्शन सिस्टम्स यांच्यामध्ये एक मोठी दरी आहे.

आता लोक प्रत्येक गोष्टीला 'एजंट' म्हणतात. लूप असलेला एक स्क्रिप्ट म्हणजे एजंट. मेमरी असलेला चॅटबॉट म्हणजे एजंट. या चुकीमुळे खराब इंजिनिअरिंग होते.

टीम्स साध्या कामांसाठीही अति-इंजिनिअरिंग (over-engineer) करतात. ज्या वर्कफ्लोसाठी फक्त एका चांगल्या प्रॉम्प्टची गरज आहे, त्यात ते जटिल ऑर्केस्ट्रेशन जोडतात.

एका एजंटकडे केवळ सूचना नसावी, तर एक उद्दिष्ट (objective) असावे. त्याने पुढे काय करायचे हे स्वतः ठरवले पाहिजे. त्याने अपयशाचे (failure) व्यवस्थापन केले पाहिजे. त्याचे काम कधी संपले आहे हे त्याला माहित असले पाहिजे.

बाकी सर्व काही केवळ एक फंक्शन कॉल आहे.

• जर मानवाला प्रत्येक पायरीवर मार्गदर्शन करावे लागत असेल, तर तो एक चॅट इंटरफेस आहे. • जर एखादी सिस्टम फेल झालेल्या टूल कॉल मधून सावरते, तर तो एक एजंट आहे. • जर एखादी सिस्टम ध्येयाचे उप-कार्यांमध्ये (subtasks) विभाजन करते, तर तो खरा एजंट आहे.

वास्तविक एजंट डिप्लॉयमेंट्स मर्यादित स्वरूपाचे असतात. ते डॉक्युमेंट एक्स्ट्रॅक्शन किंवा कोड रिव्ह्यू सारखी एक गोष्ट उत्तम प्रकारे करतात. ते जनरल रिझनिंग इंजिन्स नसतात.

यशस्वी टीम्स तीन गोष्टींवर लक्ष केंद्रित करतात:

  • टूल डिझाइन: एजंट ज्या गोष्टी कॉल करतो त्यासाठी स्वच्छ इंटरफेसेस.
  • फेल्युअर हँडलिंग: जेव्हा एखादे टूल काहीही परत करत नाही तेव्हा काय होते.
  • ऑब्झर्व्हेबिलिटी: एजंटने एखादा विशिष्ट निर्णय का घेतला याचा मागोवा घेणे (tracing).

LangChain किंवा CrewAI सारखे फ्रेमवर्क्स दर महिन्याला बदलतात. पॅटर्नपेक्षा फ्रेमवर्कचे महत्त्व कमी असते.

यशस्वी होण्यासाठी या पॅटर्नचा वापर करा:

  • आधी नियोजन करा आणि मग अंमलबजावणी करा: नियोजनासाठी एक पायरी आणि अंमलबजावणीसाठी वेगळी पायरी वापरा.
  • रिट्रिव्हल (retrieval) आणि रिझनिंग (reasoning) वेगळे ठेवा: कॉन्टेक्स्ट मिळवणे आणि कॉन्टेक्स्ट वापरणे ही दोन वेगळी कामे आहेत.
  • स्पष्ट हँडऑफ्स (handoffs): जेव्हा एक एजंट दुसऱ्या एजंटकडे काम सोपवतो, तेव्हा स्ट्रक्चर्ड लॉग्सचा वापर करा.

RAG हे मानक आहे, परंतु बहुतेक लोक चंकिंगमध्ये (chunking) अपयशी ठरतात. जर तुम्ही मजकूर चुकीच्या पद्धतीने विभागला, तर मॉडेल कॉन्टेक्स्ट गमावते. जर तुमचे RAG रिझल्ट्स निरुपयोगी असतील, तर मॉडेलला दोष देण्यापूर्वी तुमची मेटाडेटा आणि चंकिंग स्ट्रॅटेजी तपासा.

मॉडेल्स अधिक चांगले आणि स्वस्त होतील. यामुळे मूळ इंजिनिअरिंगमधील आव्हान बदलणार नाही. तुम्ही अशा सिस्टम्स तयार केल्या पाहिजेत ज्या तुम्ही लक्ष ठेवत नसतानाही योग्यरित्या काम करतील.

गव्हर्नन्स आणि ऑब्झर्व्हेबिलिटीवर लक्ष केंद्रित करा. महत्त्वाचे इंजिनिअर्स ते असतील जे अशा सिस्टम्स तयार करतील ज्यावर इतर विश्वास ठेवू शकतील. हे सिस्टम डिझाइन आहे, मॉडेल रिसर्च नाही.

स्रोत: https://dev.to/aibughunter/what-i-learned-after-running-ai-agents-in-production-for-a-year-49n