Agent (बुद्धिमान Agent) एक एप्लिकेशन सिस्टम है जो एक बड़े भाषा मॉडल पर केंद्रित है, जो कार्य लक्ष्य की ओर स्वतंत्र रूप से निर्णय लेने और क्रियान्वित करने में सक्षम है। बड़ा मॉडल Agent को भाषा समझ, तर्क और सामग्री निर्माण जैसी मूल क्षमताएं प्रदान करता है, जिससे यह उपयोगकर्ता के कार्यों को समझ सकता है और वर्तमान जानकारी का विश्लेषण कर सकता है। इस आधार पर, Agent आगे मॉडल की तर्क क्षमता को कार्य निष्पादन में लागू करता है: किसी लक्ष्य का सामना करते समय, इसे न केवल प्रतिक्रिया उत्पन्न करने की आवश्यकता होती है, बल्कि यह भी निर्धारित करना होता है कि लक्ष्य प्राप्त करने के लिए क्या करना चाहिए, और उपकरणों के माध्यम से बाहरी जानकारी प्राप्त करनी होती है या विशिष्ट क्रियाएं करनी होती हैं। जब कार्य में कई चरण शामिल होते हैं, तो Agent पिछले चरण के परिणामों का उपयोग करके अगली क्रिया निर्धारित कर सकता है, और आवश्यकता पड़ने पर मूल योजना को समायोजित कर सकता है जब तक कार्य पूरा न हो जाए। इसलिए, Agent का ध्यान "इनपुट के आधार पर क्या सामग्री उत्पन्न करना है" से "लक्ष्यों के चारों ओर कार्य कैसे पूरा करना है" तक विस्तारित होता है। यहाँ उल्लिखित स्वतंत्र निर्णय लेना पूरी तरह से बिना किसी बाधा के कार्य करना नहीं है, बल्कि पूर्व-निर्धारित कार्य दायरे, उपकरणों और अनुमतियों के भीतर वर्तमान स्थिति के आधार पर उपयुक्त क्रियाएं चुनना है। इसलिए, Agent बड़े भाषा मॉडल से स्वतंत्र एक नया मॉडल नहीं है, बल्कि एक कार्य निष्पादन प्रणाली है जो बड़े मॉडल को समझ और निर्णय लेने के मूल के रूप में उपयोग करती है और मॉडल को बाहरी क्षमताओं के साथ जोड़ती है।
Agent उन कार्यों के लिए विशेष रूप से उपयुक्त हैं जिनमें कई चरण शामिल हैं, बाहरी जानकारी या उपकरणों के उपयोग की आवश्यकता होती है, और जिनका निष्पादन प्रक्रिया मध्यवर्ती परिणामों के आधार पर बदल सकती है। सामान्य अनुप्रयोग परिदृश्यों में सूचना पुनर्प्राप्ति, डेटा विश्लेषण, सॉफ्टवेयर विकास और व्यापार प्रक्रिया स्वचालन शामिल हैं। उदाहरण के लिए, सूचना पुनर्प्राप्ति परिदृश्यों में, Agent कार्य के आधार पर विभिन्न स्रोतों से सामग्री खोज और व्यवस्थित कर सकता है; डेटा विश्लेषण परिदृश्यों में, यह डेटा पढ़ सकता है, गणनाएं कर सकता है और विश्लेषण परिणाम उत्पन्न कर सकता है; सॉफ्टवेयर विकास परिदृश्यों में, यह कोड लिख सकता है, परीक्षण चला सकता है और रनटाइम परिणामों के आधार पर संशोधन जारी रख सकता है; व्यापार प्रक्रिया स्वचालन परिदृश्यों में, यह डेटाबेस और व्यापार सिस्टम से कनेक्ट कर सकता है, डेटा क्वेरी, टिकट प्रसंस्करण और अन्य क्रियाएं पूरी कर सकता है। अनुवाद, सारांश, पुनर्लेखन जैसे कार्यों के लिए जो सीधे मॉडल निर्माण के माध्यम से पूरे हो सकते हैं, आमतौर पर Agent की आवश्यकता नहीं होती।
Agent का मूल, उपयोगकर्ता इनपुट को संसाधित करने, प्रतिक्रियाएं उत्पन्न करने और निर्णय लेने के लिए जिम्मेदार - मूल रूप से Agent का "मस्तिष्क"। चूंकि Agent पूर्व-सेट पथों का पालन नहीं करते बल्कि वास्तविक समय की स्थितियों के आधार पर अपनी व्यवहार रणनीति को गतिशील रूप से समायोजित करते हैं, इसलिए LLM न केवल सामग्री को समझने और उत्पन्न करने के लिए जिम्मेदार है, बल्कि वर्तमान कार्य और निष्पादन परिणामों के आधार पर अगली क्रिया निर्धारित करने और यह तय करने की भी आवश्यकता है कि बाहरी वातावरण के साथ कैसे बातचीत करनी है। Agent प्रॉम्प्ट्स (संकेतों) का उपयोग करके LLM की भूमिका, कार्य लक्ष्य, व्यवहार नियम और अनुमति सीमाएं निर्धारित करता है, जिससे LLM पूर्व-निर्धारित सीमाओं के भीतर निर्णय ले सकता है और निष्पादित कर सकता है।
साइन इन करें चर्चा में शामिल हों
Agent की कार्य योजना तैयार करने के लिए जिम्मेदार, जिसमें जटिल कार्यों को कई उप-कार्यों में विभाजित करना और बाद के निष्पादन चरणों का निर्धारण करना शामिल है। बहु-चरणीय कार्यों को संसाधित करते समय, Agent को न केवल कार्य योजना बनाने की आवश्यकता होती है, बल्कि कार्य निष्पादन के आधार पर उसे समायोजित करने की भी आवश्यकता होती है। उदाहरण के लिए, जब उपकरण परिणाम अपेक्षाओं से भिन्न होते हैं या प्राप्त जानकारी अपर्याप्त होती है, तो Agent मूल योजना को समायोजित कर सकता है और अगले चरण को फिर से निर्धारित कर सकता है। योजना मॉड्यूल Agent को कार्य स्थिति के आधार पर बाद की क्रियाओं को गतिशील रूप से योजना बनाने और समायोजित करने में सक्षम बनाता है।
Agent की स्मृति को संग्रहीत करने के लिए उपयोग किया जाता है, जिसमें अल्पकालिक स्मृति और दीर्घकालिक स्मृति शामिल है। अल्पकालिक स्मृति मुख्य रूप से वर्तमान सत्र या कार्य की जानकारी सहेजती है, जबकि दीर्घकालिक स्मृति उन जानकारी को सहेजने के लिए उपयोग की जाती है जिन्हें दीर्घकाल तक रखने की आवश्यकता होती है। स्मृति एक गतिशील, सुलभ और अपडेट करने योग्य प्रणाली है। गतिशील का अर्थ है कि स्मृति नई जानकारी और कार्य स्थिति के साथ बदल सकती है; सुलभ का अर्थ है कि Agent आवश्यकता के अनुसार संग्रहीत जानकारी को पुनः प्राप्त और उपयोग कर सकता है; अपडेट करने योग्य का अर्थ है कि Agent नई जानकारी और निष्पादन परिणामों के आधार पर मौजूदा स्मृति को पूरक या संशोधित कर सकता है। जैसे-जैसे स्मृति लगातार अपडेट होती है, Agent बातचीत और कार्य अनुभव का लाभ उठाकर बाद के निर्णयों और निर्णयों में सुधार कर सकता है, विभिन्न कार्यों और वातावरणों के अनुकूलन की क्षमता बढ़ाता है।
Agent के लिए उपलब्ध विभिन्न उपकरण, जिनमें खोज इंजन, डेटाबेस, कैलकुलेटर, कोड निष्पादन वातावरण और API के माध्यम से प्रदान की जाने वाली विभिन्न बाहरी सेवाएं शामिल हैं। उपकरण मॉड्यूल का मुख्य कार्य Agent की बाहरी वातावरण के साथ बातचीत करने की क्षमता का विस्तार करना है, जिससे Agent न केवल सामग्री उत्पन्न कर सकता है बल्कि बाहरी जानकारी प्राप्त कर सकता है और विशिष्ट क्रियाएं निष्पादित कर सकता है।
उपकरण मॉड्यूल का उपयोग करते समय, Agent को वर्तमान कार्य और संदर्भ के आधार पर यह निर्धारित करने की आवश्यकता होती है कि क्या उपकरणों की आवश्यकता है और कौन सा उपकरण चुनना है। प्रभावी उपकरण उपयोग का अर्थ केवल सही उपकरण चुनना नहीं है, बल्कि यह भी शामिल है कि अनावश्यक उपकरण उपयोग को कम करने के लिए उपकरणों का कुशलता से उपयोग कैसे किया जाए। जब किसी कार्य के लिए कई उपकरणों के सहयोग की आवश्यकता होती है, तो Agent को उपकरण परिणामों के आधार पर यह भी तय करना होता है कि क्या अन्य उपकरणों को बुलाना जारी रखना है, और विभिन्न उपकरणों के परिणामों को एकीकृत करना है। इसलिए, उपकरण मॉड्यूल Agent को न केवल बाहरी क्षमताएं प्रदान करता है बल्कि यह भी आवश्यक करता है कि Agent कार्य आवश्यकताओं के आधार पर उपकरणों का उचित रूप से चयन और उपयोग करे।
Agent एक ऐसी प्रणाली है जो LLM, योजना, स्मृति और उपकरणों को एकीकृत करती है, जैसा कि नीचे दिए गए चित्र में दिखाया गया है। ये मॉड्यूल मिलकर Agent को स्वतंत्र रूप से कार्य निष्पादित करने, सीखने और अपने व्यवहार में सुधार करने में सक्षम बनाते हैं।
कार्य प्राप्त करने के बाद, Agent को कार्य लक्ष्य और वर्तमान जानकारी के आधार पर यह निर्धारित करने की आवश्यकता होती है कि कैसे आगे बढ़ना है। उदाहरण के लिए, कुछ कार्य उपकरणों को बुला सकते हैं और साथ ही रिटर्न परिणामों के आधार पर अगला चरण निर्धारित कर सकते हैं; कुछ जटिल कार्यों के लिए पहले चरणों को विभाजित करने की आवश्यकता होती है और फिर उन्हें क्रमिक रूप से निष्पादित करने की आवश्यकता होती है; उत्पन्न परिणामों के लिए, आगे जांच और संशोधन किया जा सकता है। जब एक एकल Agent पूरे कार्य को पूरा नहीं कर सकता, तो कई Agents को अलग-अलग भूमिकाएं सौंपी जा सकती हैं ताकि वे सहयोग कर सकें।
कार्य की विशेषताओं और निष्पादन विधियों के आधार पर, Agents विभिन्न कार्य निष्पादन मोड अपना सकते हैं। नीचे हम चार सामान्य मोड पेश करते हैं: ReAct, Plan-and-Execute, प्रतिबिंब और बहु-Agent सहयोग, जो गतिशील निष्पादन, कार्य योजना, परिणाम सुधार और कार्य विभाजन जैसे विभिन्न पहलुओं से Agent के कार्य निष्पादन प्रक्रिया को व्यवस्थित करते हैं।
ReAct (तर्क और क्रिया) कार्य निष्पादन का एक दृष्टिकोण है जो तर्क और क्रिया को जोड़ता है, Shunyu Yao और अन्य द्वारा प्रस्तावित। बड़ा मॉडल वर्तमान जानकारी के आधार पर तर्क करता है और क्रिया करता है, फिर क्रिया से प्राप्त नई जानकारी के आधार पर तर्क और क्रिया जारी रखता है, जब तक कार्य पूरा न हो जाए।
ReAct की सामान्य प्रक्रिया में विचार (तर्क), क्रिया (क्रिया) और अवलोकन (अवलोकन) शामिल हैं। विचार उस मॉडल का प्रतिनिधित्व करता है जो अगले चरण को निर्धारित करने के लिए वर्तमान जानकारी का विश्लेषण करता है; जब बाहरी जानकारी प्राप्त करने या कोई क्रिया निष्पादित करने की आवश्यकता होती है, तो मॉडल संबंधित क्रिया उत्पन्न करता है, जैसे खोज उपकरण को बुलाना या डेटाबेस की क्वेरी करना; उपकरण द्वारा लौटाया गया परिणाम अवलोकन के रूप में मॉडल को प्रदान किया जाता है, और मॉडल इन नई जानकारी के आधार पर निर्णय लेना जारी रखता है।
कार्य निष्पादन के दौरान, विचार, क्रिया और अवलोकन कार्य की आवश्यकताओं के आधार पर बारी-बारी से दिखाई देते हैं, जिससे एक निष्पादन प्रक्रिया बनती है जहां तर्क, क्रिया और अवलोकन मिलकर काम करते हैं। सामान्य प्रक्रिया को इस प्रकार व्यक्त किया जा सकता है:
विचार → क्रिया → अवलोकन → विचार → क्रिया → अवलोकन → ... → अंतिम परिणाम
उदाहरण के लिए, एक उपयोगकर्ता पूछता है: "2024 में भौतिकी का नोबेल पुरस्कार किसने जीता? उनमें से सबसे बड़ा कौन है?"
Agent पहले यह निर्धारित करता है कि उसे 2024 नोबेल भौतिकी पुरस्कार विजेताओं की सूची प्राप्त करने की आवश्यकता है, इसलिए वह क्वेरी करने के लिए खोज उपकरण को बुलाता है। सूची प्राप्त करने के बाद, उसे पता चलता है कि उसे विजेताओं की उम्र की तुलना करने की भी आवश्यकता है, इसलिए वह उनकी जन्मतिथि की क्वेरी जारी रखता है। आवश्यक जानकारी प्राप्त करने के बाद, Agent तुलना करता है और अंतिम उत्तर उत्पन्न करता है।
इस प्रक्रिया में, Agent ने कार्य की शुरुआत में सभी निष्पादन चरण निर्धारित नहीं किए थे, बल्कि प्रत्येक उपकरण के रिटर्न परिणाम के आधार पर अगला चरण तय किया। इसलिए, ReAct उन कार्यों के लिए अधिक उपयुक्त है जिनके लिए बाहरी वातावरण के साथ लगातार बातचीत की आवश्यकता होती है, जैसे खोज, क्वेरी और उपकरण कॉल। बहुत सारे चरणों वाले जटिल कार्यों के लिए, यदि इस कदम-दर-कदम दृष्टिकोण का पूरी तरह से उपयोग किया जाता है, तो चरणों में कमी या निष्पादन पथों का दोहराव हो सकता है।
Plan-and-Execute जटिल कार्य प्रसंस्करण को दो चरणों में विभाजित करता है: योजना और निष्पादन। कार्य प्राप्त करने के बाद, Agent पहले कार्य लक्ष्य का विश्लेषण करता है और पूरा करने योग्य चरणों को विभाजित करता है, एक समग्र योजना बनाता है, और फिर योजना के अनुसार कदम-दर-कदम निष्पादित करता है।
उदाहरण के लिए, एक उपयोगकर्ता अनुरोध करता है: "तीन नवीकरणीय ऊर्जा वाहन कंपनियों के हाल के व्यापार प्रदर्शन का विश्लेषण करें और एक तुलनात्मक रिपोर्ट बनाएं।" इस कार्य में कई चरण शामिल हैं, जिनमें डेटा संग्रह, डेटा व्यवस्था, तुलनात्मक विश्लेषण और रिपोर्ट निर्माण शामिल हैं। इस तरह के बहु-चरणीय कार्यों के लिए, पहले इस तरह एक योजना बनाई जा सकती है:
योजना बनने के बाद, Agent कार्यों को क्रमिक रूप से पूरा करता है। किसी चरण को निष्पादित करते समय, वह खोज, डेटाबेस या अन्य उपकरणों को बुला सकता है। यदि निष्पादन के दौरान पता चलता है कि मूल योजना जारी नहीं रखी जा सकती, या नए कार्य आवश्यकताएं सामने आती हैं, तो मूल योजना को समायोजित किया जा सकता है।
Plan-and-Execute की सामान्य निष्पादन प्रक्रिया को इस प्रकार व्यक्त किया जा सकता है:
उपयोगकर्ता कार्य → योजना बनाएं → कदम-दर-कदम निष्पादित करें → कार्य स्थिति की जांच करें → अंतिम परिणाम
जहां, कार्य स्थिति की जांच करते समय, यदि मूल योजना में समायोजन की आवश्यकता है, तो निष्पादन जारी रखने से पहले पुनर्योजना की जा सकती है।
ReAct की तुलना में, Plan-and-Execute निष्पादन से पहले एक समग्र योजना बनाने पर जोर देता है, जिससे यह बहुत सारे चरणों, स्पष्ट लक्ष्यों और पहले से विभाजित होने की क्षमता वाले कार्यों के लिए उपयुक्त है। दोनों मोड को मिलाया भी जा सकता है, उदाहरण के लिए, जटिल कार्यों की योजना बनाने के लिए Plan-and-Execute का उपयोग करना और फिर व्यक्तिगत चरणों में उपकरण रिटर्न परिणामों के आधार पर अगली क्रिया को गतिशील रूप से निर्धारित करने के लिए ReAct का उपयोग करना।
Agent द्वारा पहली बार उत्पन्न परिणाम कार्य आवश्यकताओं को पूरा नहीं कर सकते। उदाहरण के लिए, उत्पन्न रिपोर्ट में महत्वपूर्ण जानकारी गायब हो सकती है, उत्तरों में तथ्यात्मक त्रुटियां हो सकती हैं, या कोड ठीक से नहीं चल सकता। इस तरह के कार्यों के लिए, प्रारंभिक परिणामों के आधार पर जांच और सुधार प्रक्रिया जोड़ी जा सकती है - यह प्रतिबिंब (चिंतन) मोड का बुनियादी विचार है।
प्रतिबिंब की बुनियादी प्रक्रिया को इस प्रकार व्यक्त किया जा सकता है: उपयोगकर्ता कार्य → प्रारंभिक परिणाम उत्पन्न करें → परिणामों की जांच करें → समस्याओं की पहचान करें → परिणामों में संशोधन करें → फिर से जांच करें → ... → आवश्यकताओं को पूरा करें → अंतिम परिणाम
उदाहरण के लिए, Agent से कई स्रोतों के आधार पर एक उत्पाद तुलना रिपोर्ट बनाने को कहें। पहला मसौदा पूरा होने के बाद, आप आगे जांच सकते हैं कि क्या तुलना करने योग्य सभी उत्पाद शामिल हैं, क्या उत्पाद पैरामीटर मूल स्रोतों के साथ सुसंगत हैं, और क्या महत्वपूर्ण अंतर छूट गए हैं। यदि किसी उत्पाद के लिए अपूर्ण जानकारी मिलती है, तो आप फिर से सामग्री खोज सकते हैं और पूरक कर सकते हैं; यदि निष्कर्ष स्रोतों के साथ सुसंगत नहीं हैं, तो उन्हें संशोधित करने की आवश्यकता होती है।
इस प्रक्रिया में, परिणामों की जांच करने के लिए उपयोग किए जाने वाले फीडबैक विभिन्न स्रोतों से आ सकते हैं। Agent अपने स्वयं के निष्पादन परिणामों की जांच कर सकता है, मूल्यांकन के लिए अन्य Agents या मॉडल का उपयोग कर सकता है, या नियमों, ज्ञान आधार या मैनुअल समीक्षा के संयोजन से फीडबैक प्रदान कर सकता है।
यह मोड रिपोर्ट निर्माण, कोड लेखन और जटिल विश्लेषण जैसे उच्च गुणवत्ता आवश्यकताओं वाले कार्यों के लिए अधिक उपयुक्त है। हालांकि, बार-बार जांच और संशोधन मॉडल कॉल की संख्या और निष्पादन समय को भी बढ़ाएंगे, इसलिए व्यवहार में आमतौर पर समाप्ति शर्तें निर्धारित की जाती हैं, जैसे परिणाम आवश्यकताओं को पूरा करने पर समाप्त करना या अधिकतम जांच संख्या तक पहुंचने पर रोकना।
कुछ जटिल कार्यों के लिए, एक एकल Agent को डेटा संग्रह, डेटा विश्लेषण, सामग्री निर्माण और परिणाम जांच को एक साथ संभालने की आवश्यकता हो सकती है। इस मामले में, कार्यों को कई Agents को सौंपा जा सकता है, प्रत्येक अलग-अलग भागों को संभालता है, और फिर अंतिम लक्ष्य पूरा करने के लिए सहयोग करता है। बहु-Agent सहयोग में मुख्य रूप से दो पहलू शामिल हैं: कार्य विभाजन और सूचना आदान-प्रदान।
कार्य विभाजन के दौरान, विभिन्न Agents को अलग-अलग भूमिकाएं, कार्य, उपकरण और ज्ञान सौंपे जाते हैं। उदाहरण के लिए, एक उद्योग अनुसंधान रिपोर्ट पूरी करने के लिए, एक अनुसंधान Agent, डेटा विश्लेषण Agent, लेखन Agent और समीक्षा Agent स्थापित किए जा सकते हैं। अनुसंधान Agent सामग्री एकत्र करने और व्यवस्थित करने के लिए जिम्मेदार है, डेटा विश्लेषण Agent संबंधित डेटा को संसाधित करता है, लेखन Agent रिपोर्ट उत्पन्न करता है, और समीक्षा Agent रिपोर्ट की जांच करता है।
सूचना आदान-प्रदान के संदर्भ में, कई Agents के बीच विभिन्न सहयोग विधियों का उपयोग किया जा सकता है। उन कार्यों के लिए जिन्हें स्पष्ट रूप से विभाजित किया जा सकता है, कई Agents अलग-अलग उप-कार्यों को अलग-अलग संभाल सकते हैं, और फिर अंत में परिणामों को एकत्रित किया जा सकता है; उन कार्यों के लिए जिनमें क्रमिक निर्भरताएं होती हैं, एक Agent के परिणाम को अगले Agent को आगे की प्रसंस्करण के लिए पारित किया जा सकता है; उन कार्यों के लिए जिनके लिए बार-बार चर्चा या संशोधन की आवश्यकता होती है, विभिन्न Agents संदेश इंटरैक्शन के माध्यम से जानकारी का आदान-प्रदान कर सकते हैं। इसके अतिरिक्त, एक समन्वय Agent स्थापित किया जा सकता है जो वर्तमान स्थिति के आधार पर यह तय करता है कि अगला कौन सा Agent कार्य संभालेगा।
उद्योग अनुसंधान रिपोर्ट बनाने के उदाहरण के रूप में, बहु-Agent सहयोग दृष्टिकोण नीचे दिए गए चित्र में दिखाया गया है:

बहु-Agent सहयोग कार्य विभाजन के माध्यम से एक एकल Agent के लिए जटिल कार्यों को संभालने की कठिनाई को कम कर सकता है, लेकिन Agents की संख्या जरूरी बेहतर नहीं है। जैसे-जैसे Agents की संख्या बढ़ती है, कार्य आवंटन, सूचना हस्तांतरण और परिणाम समन्वय भी अधिक जटिल हो जाता है, साथ ही मॉडल कॉल और निष्पादन लागत भी बढ़ जाती है। इसलिए, उन कार्यों के लिए जो एक एकल Agent पूरा कर सकता है, आमतौर पर कई Agents पेश करने की आवश्यकता नहीं होती।
ये कार्य निष्पादन मोड एक-दूसरे से स्वतंत्र नहीं हैं और व्यावहारिक अनुप्रयोगों में कार्य आवश्यकताओं के आधार पर संयोजित किए जा सकते हैं। उदाहरण के लिए, जटिल कार्यों की योजना बनाने के लिए Plan-and-Execute का उपयोग किया जा सकता है, फिर कई उपकरण कॉल्स की आवश्यकता वाले चरणों को पूरा करने के लिए ReAct का उपयोग किया जा सकता है, प्रतिबिंब के साथ परिणामों की जांच और सुधार किया जा सकता है; बड़े पैमाने के कार्यों के लिए, विभिन्न उप-कार्यों को कई Agents को सौंपा जा सकता है ताकि सहयोग किया जा सके।