- Published on
ॲन्थ्रोपिक एजंट डेव्हलपमेंट: साधेपणा गुंतागुंतीवर मात करतो
ॲन्थ्रोपिक एजंट डेव्हलपमेंट सिम्पलिसिटी ट्रम्प्स कॉम्प्लेक्सिटी (ANTHROPIC AGENT DEVELOPMENT SIMPLICITY TRUMPS COMPLEXITY) या संदर्भात माहिती खालीलप्रमाणे आहे.
इंटेलिजेंट एजंटची व्याख्या
इंटेलिजेंट एजंट (Intelligent Agent) ही संकल्पना अनेक प्रकारे समजली जाते. काहीजण याला 'सर्वज्ञ सहाय्यक' मानतात, जो स्वतंत्रपणे विचार करू शकतो, निर्णय घेऊ शकतो आणि जटिल कार्ये पूर्ण करण्यासाठी साधनांचा वापर करू शकतो. तर काहीजण याला पूर्वनियोजित कार्यप्रणालीनुसार काम करणारा 'नियमबद्ध कर्मचारी' मानतात. ॲन्थ्रोपिक या दोन्ही प्रकारांना एकत्रितपणे 'इंटेलिजेंट सिस्टीम' (Intelligent System) म्हणते आणि कार्यप्रवाह (Workflow) आणि एजंटमध्ये फरक करते:
- कार्यप्रवाह: हे एक असे प्रणाली आहे, जेथे मोठ्या भाषिक मॉडेल (LLM) आणि साधनांना पूर्वनियोजित कोड मार्गाद्वारे एकत्रित केले जाते.
- एजंट: हे एक असे प्रणाली आहे, जेथे LLM स्वतःच्या प्रक्रियेला आणि साधनांच्या वापराला गतिशीलपणे मार्गदर्शन करते आणि कार्य कसे पूर्ण करायचे यावर स्वायत्तपणे नियंत्रण ठेवते.
एजंट कधी वापरावे?
ॲन्थ्रोपिकचा सल्ला आहे की AI ॲप्लिकेशन्स विकसित करताना 'जे सोपे आहे तेच करावे' या तत्त्वाचे पालन करावे. प्रत्येक परिस्थितीत जटिल इंटेलिजेंट सिस्टीम तयार करण्याची गरज नसते. इंटेलिजेंट सिस्टीम शक्तिशाली असली तरी, त्यामुळे प्रतिसाद मिळण्यास जास्त वेळ लागू शकतो आणि खर्चही वाढू शकतो. विकासकांनी कार्यक्षमता आणि प्रभावीता यांमध्ये संतुलन साधण्याची आवश्यकता आहे.
- कार्यप्रवाह: हे अशा कामांसाठी योग्य आहे, जिथे निश्चितता आणि सातत्य आवश्यक आहे.
- एजंट: हे अशा मोठ्या प्रमाणातील कामांसाठी अधिक योग्य आहे, जिथे लवचिकता आणि मॉडेल-आधारित निर्णयांची आवश्यकता असते.
अनेक ॲप्लिकेशन्ससाठी, चांगले प्रॉम्प्ट्स (prompts) वापरून, माहिती शोधून आणि संदर्भानुसार उदाहरणे देऊन थेट मोठ्या मॉडेलला प्रश्न विचारणे पुरेसे असते.
फ्रेमवर्कचा वापर
सध्या बाजारात अनेक फ्रेमवर्क उपलब्ध आहेत, जे AI इंटेलिजेंट एजंट्स तयार करण्यासाठी विकासकांना मदत करतात, जसे की:
- LangChain चे LangGraph
- ॲमेझॉन बेड रॉकचे AI एजंट फ्रेमवर्क
- ड्रॅग-अँड-ड्रॉप (drag-and-drop) मोठे मॉडेल कार्यप्रवाह तयार करण्याचे Rivet साधन
- जटिल कार्यप्रवाह तयार करण्यासाठी आणि चाचणी करण्यासाठी Vellum GUI साधन
हे फ्रेमवर्क विकास प्रक्रिया सोपी करतात, परंतु ते कोडमध्ये अमूर्तता (abstraction) वाढवतात, ज्यामुळे मूळ तर्कशास्त्र (underlying logic) कमी स्पष्ट होते. यामुळे डिबगिंग (debugging) करणे कठीण होते आणि साध्या परिस्थितीत अनावश्यक गुंतागुंत निर्माण होऊ शकते.
ॲन्थ्रोपिक विकासकांना मोठ्या मॉडेलच्या API चा थेट वापर करून सुरुवात करण्याचा सल्ला देते. अनेक पॅटर्न काही ओळींच्या कोडमध्येच तयार होऊ शकतात. जर तुम्ही फ्रेमवर्क वापरण्याचे ठरवले, तर त्याची मूलभूत तत्त्वे समजून घेणे आवश्यक आहे. फ्रेमवर्कच्या मूलभूत यंत्रणेची पुरेशी माहिती नसल्यामुळेच अनेक समस्या येतात. ॲन्थ्रोपिकच्या कुकबुकमध्ये (cookbook) याची उदाहरणे दिली आहेत.
बिल्डिंग ब्लॉक्स, कार्यप्रवाह आणि एजंट
मूलभूत बिल्डिंग ब्लॉक: वर्धित LLM
इंटेलिजेंट सिस्टीमचा मूलभूत बिल्डिंग ब्लॉक म्हणजे वर्धित LLM (enhanced LLM), ज्यामध्ये माहिती शोधणे आणि लक्षात ठेवणे यांसारख्या क्षमता असतात. ॲन्थ्रोपिकचे मॉडेल या क्षमतांचा सक्रियपणे वापर करू शकतात, जसे की शोध क्वेरी तयार करणे, साधने निवडणे आणि कोणती माहिती ठेवायची हे ठरवणे.
कार्यक्षमता वाढवताना खालील गोष्टींवर लक्ष केंद्रित केले पाहिजे:
- विशिष्ट ॲप्लिकेशननुसार कार्यक्षमता तयार करणे.
- मॉडेलसाठी सोपे आणि व्यवस्थित इंटरफेस (interface) सुनिश्चित करणे.
ॲन्थ्रोपिकने अलीकडेच मॉडेल संदर्भ प्रोटोकॉल (context protocol) जारी केला आहे, ज्यामुळे AI मॉडेल आणि तृतीय-पक्ष साधनांचे एकत्रीकरण सोपे झाले आहे.
कार्यप्रवाह: प्रॉम्प्ट चेनिंग (Prompt Chaining)
प्रॉम्प्ट चेनिंगमध्ये जटिल कार्य अनेक टप्प्यांमध्ये विभागले जाते. प्रत्येक टप्प्यात मोठ्या मॉडेलला कॉल केला जातो आणि पुढील टप्पा मागील टप्प्याच्या परिणामांवर आधारित असतो. विकासक प्रक्रियेदरम्यान तपासणी बिंदू (checkpoints) जोडू शकतात, ज्यामुळे प्रक्रिया अपेक्षेप्रमाणे पुढे जाईल.
प्रॉम्प्ट चेनिंग अशा परिस्थितीत योग्य आहे, जिथे जटिल कार्य स्पष्टपणे निश्चित केलेल्या उप-कार्यांमध्ये विभागता येते. प्रत्येक मॉडेल एका साध्या कार्यावर लक्ष केंद्रित करते, ज्यामुळे एकूण प्रतिसाद वेळ थोडा जास्त लागतो, पण अचूकता लक्षणीयरीत्या वाढते.
उदाहरण:
- पहिला टप्पा: विपणन मजकूर तयार करणे, दुसरा टप्पा: त्याचे इतर भाषांमध्ये भाषांतर करणे.
- पहिला टप्पा: कागदपत्रांची रूपरेषा तयार करणे आणि नियमांनुसार तपासणे, दुसरा टप्पा: रूपरेषेनुसार संपूर्ण कागदपत्र लिहिणे.
कार्यप्रवाह: इंटेलिजेंट ट्रीएज (Intelligent Triage)
ट्रीएज तंत्रज्ञान (Triage technology) इनपुट कार्याचा प्रकार ओळखते आणि त्यानुसार योग्य मॉड्यूलला (module) पाठवते. या डिझाइनमुळे प्रत्येक मॉड्यूल विशिष्ट कार्यासाठी अनुकूलित केले जाते आणि वेगवेगळ्या प्रकारच्या कामांमध्ये हस्तक्षेप टाळता येतो. इंटेलिजेंट ट्रीएज अशा परिस्थितीत उपयुक्त आहे, जिथे कार्यांचे स्पष्ट वर्गीकरण करता येते. AI प्रणाली मोठ्या भाषिक मॉडेल किंवा पारंपरिक अल्गोरिदम वापरून कार्याचा प्रकार अचूकपणे ओळखू शकते आणि त्यानुसार त्याचे वर्गीकरण करू शकते.
उदाहरण:
- ग्राहक सेवा प्रणालीमध्ये, सामान्य चौकशी, परतावा अर्ज आणि तांत्रिक सहाय्य यांसारख्या समस्यांना योग्य प्रक्रियेकडे निर्देशित करणे.
- साध्या आणि सामान्य समस्या लहान मॉडेलला आणि कठीण समस्या मोठ्या मॉडेलला देऊन खर्च आणि गती अनुकूल करणे.
कार्यप्रवाह: समांतर (Parallel)
मोठे भाषिक मॉडेल एकाच वेळी अनेक कार्ये करू शकतात आणि प्रोग्रामिंगद्वारे त्यांचे आउटपुट (output) एकत्रित करू शकतात. समांतर कार्यप्रवाहाची वैशिष्ट्ये:
- कार्य विभाजन: कामाला समांतर चालणाऱ्या उप-कार्यांमध्ये विभागणे आणि शेवटी त्यांचे परिणाम एकत्र करणे.
- मतदान यंत्रणा: एकाच कार्यासाठी अनेक वेळा प्रक्रिया करणे आणि सर्वोत्तम परिणाम निवडणे किंवा अनेक उत्तरांचे मिश्रण करणे.
जेव्हा उप-कार्ये समांतरपणे करून गती वाढवता येते किंवा उच्च विश्वासार्हतेसाठी अनेक दृष्टीकोनातून प्रयत्न करणे आवश्यक असते, तेव्हा समांतर पद्धत खूप प्रभावी ठरते. जटिल कार्यांसाठी, प्रत्येक वेळी विशिष्ट भागावर लक्ष केंद्रित केल्यास चांगले परिणाम मिळतात.
उदाहरण:
- कार्य विभाजन:
- सुरक्षा: एक मॉडेल वापरकर्त्याच्या विनंतीवर प्रक्रिया करते आणि दुसरे सामग्रीचे पुनरावलोकन करते.
- कार्यप्रदर्शन मूल्यांकन: विविध मॉडेल प्रणालीच्या कार्यक्षमतेचे मूल्यांकन करतात.
- मतदान यंत्रणा:
- कोड सुरक्षा तपासणी: अनेक तपासणी मॉडेल एकत्रितपणे कोडमधील त्रुटी शोधतात.
- सामग्री पुनरावलोकन: अनेक मॉडेल वेगवेगळ्या दृष्टिकोनातून सामग्रीच्या सुरक्षिततेचे मूल्यांकन करतात.
कार्यप्रवाह: लीडर - एक्झिक्युटर (Leader - Executor)
मध्यवर्ती मोठे भाषिक मॉडेल गतिशीलपणे कार्याचे विभाजन करते, ते एक्झिक्युटर मॉडेलला सोपवते आणि त्याचे परिणाम एकत्रित करते.
हा कार्यप्रवाह अशा जटिल कामांसाठी योग्य आहे, जिथे नेमके टप्पे अगोदर ठरवणे कठीण असते. कार्याचे विभाजन निश्चित नसते, तर AI प्रणाली परिस्थितीनुसार गतिशीलपणे ठरवते.
उदाहरण:
- प्रोग्रामिंग ॲप्लिकेशनमध्ये अनेक फाइल्समध्ये जटिल बदल करणे.
- अनेक स्रोतांकडून माहिती गोळा करणे आणि विश्लेषण करणे.
कार्यप्रवाह: मूल्यांकन - अनुकूलन (Evaluate - Optimize)
एक LLM कॉल प्रतिसाद तयार करतो आणि दुसरा त्याचे मूल्यांकन करून अभिप्राय देतो, ज्यामुळे एक चक्र तयार होते.
जेव्हा मूल्यांकनाचे स्पष्ट निकष (criteria) असतात आणि पुनरावृत्तीद्वारे (iteration) सुधारणा करता येते, तेव्हा हा कार्यप्रवाह विशेषतः प्रभावी असतो. LLM अभिप्राय देऊ शकते, जसे एखादा लेखक वारंवार बदल करून लिहितो.
उदाहरण:
- साहित्यिक भाषांतर: मॉडेल भाषांतरातील त्रुटी शोधून सुधारणा सुचवते.
- जटिल शोध: मॉडेल अधिक शोध घेणे आवश्यक आहे की नाही हे ठरवते.
एजंट (Agent)
LLM मध्ये जटिल इनपुट समजून घेणे, तर्क करणे, योजना बनवणे, साधने वापरणे आणि त्रुटी सुधारणे यांसारख्या क्षमता विकसित झाल्यामुळे एजंट्स उदयास आले आहेत.
एजंटचे कार्य मानवी वापरकर्त्याच्या आदेशाने किंवा संवादातून सुरू होते. एकदा कार्य स्पष्ट झाले की, एजंट स्वतंत्रपणे योजना बनवतो आणि कार्य करतो. त्याला अधिक माहितीची किंवा मानवी निर्णयाची आवश्यकता भासल्यास तो विचारू शकतो.
प्रक्रियेतील प्रत्येक टप्प्यावर, वातावरणातून 'वास्तविक परिस्थिती' जाणून घेणे महत्त्वाचे असते. एजंट तपासणी बिंदूंवर (checkpoints) किंवा अडथळा आल्यास थांबून मानवी अभिप्राय घेऊ शकतो. कार्य पूर्ण झाल्यावर ते थांबते, पण त्यात थांबण्याची अट (stop condition) असते.
एजंट जटिल कार्ये हाताळू शकतात, पण त्यांची अंमलबजावणी (implementation) सहसा सोपी असते. ते वातावरणातील प्रतिक्रियेनुसार साधनांचा वापर करतात. त्यामुळे, टूलसेट (toolset) आणि त्याचे स्पष्ट आणि व्यवस्थित दस्तऐवजीकरण (documentation) करणे महत्त्वाचे आहे.
एजंट अशा खुल्या प्रश्नांसाठी योग्य आहेत, जिथे किती टप्पे लागतील हे सांगता येत नाही आणि निश्चित मार्ग ठरवता येत नाही. एजंटची स्वायत्तता (autonomy) त्याला विश्वासार्ह वातावरणात कार्ये वाढवण्यासाठी आदर्श बनवते. एजंटच्या स्वायत्ततेमुळे खर्च जास्त येऊ शकतो आणि त्रुटी जमा होण्याचा धोका असतो. त्यामुळे, सँडबॉक्स वातावरणात (sandbox environment) त्याची विस्तृत चाचणी करणे आणि योग्य सुरक्षा उपाययोजना करणे आवश्यक आहे.
एजंटची उदाहरणे:
- कोड एजंट, जो SWE-बेंच (SWE-bench) कार्ये सोडवतो, ज्यात कार्यांच्या वर्णनानुसार अनेक फाइल्स संपादित करायच्या असतात.
- ॲन्थ्रोपिकचे 'कॉम्प्युटर युज' (Computer use) फीचर, ज्यात क्लॉड (Claude) कॉम्प्युटर वापरून कार्ये पूर्ण करतो.
संयोजन आणि अनुकूलन (Combination and Customization)
हे बिल्डिंग ब्लॉक्स निश्चित नाहीत, विकासक गरजेनुसार त्यांचा आकार आणि संयोजन बदलू शकतात. यश मिळवण्यासाठी कार्यक्षमतेचे मोजमाप करणे आणि त्यात सुधारणा करणे आवश्यक आहे. जेव्हा साधे उपाय काम करत नाहीत, तेव्हाच गुंतागुंत वाढवण्याचा विचार करावा. LLM क्षेत्रात यश मिळवणे म्हणजे सर्वात जटिल प्रणाली तयार करणे नव्हे, तर गरजेनुसार प्रणाली तयार करणे. साध्या प्रॉम्प्ट्सने सुरुवात करा, त्यांचे पूर्णपणे मूल्यांकन करा आणि जेव्हा साधे उपाय काम करत नाहीत, तेव्हाच मल्टी-स्टेप एजंट सिस्टीम (multi-step agent system) जोडा.
एजंट तैनात (deploy) करताना खालील तत्त्वांचे पालन करावे:
- एजंटची रचना सोपी ठेवावी.
- एजंटची पारदर्शकता (transparency) सुनिश्चित करावी, जेणेकरून प्रत्येक टप्पा स्पष्टपणे दिसेल.
- पूर्ण टूल डॉक्युमेंटेशन (tool documentation) आणि चाचणीद्वारे एजंट-कॉम्प्युटर इंटरफेस (ACI) काळजीपूर्वक तयार करावा.