सॉफ्टवेयर एजेंट

कंप्यूटर विज्ञान में, एक सॉफ्टवेयर एजेंट या सॉफ्टवेयर एआई एक कंप्यूटर प्रोग्राम है जो एजेंसी के रिश्ते में उपयोगकर्ता या अन्य प्रोग्राम के लिए कार्य करता है, जो लैटिन 'एगेरे' (करने के लिए) से निकला है: किसी की ओर से कार्य करने के लिए एक समझौता. की ओर से इस तरह की कार्रवाई का तात्पर्य यह तय करने के लिए प्राधिकरण से है कि कौन सी कार्रवाई, यदि कोई हो, उचित है। एजेंटों को बोलचाल की भाषा में रोबोट से बॉट (बहुविकल्पी) के रूप में जाना जाता है। उन्हें सन्निहित किया जा सकता है, जैसे कि निष्पादन को रोबोट बॉडी के साथ जोड़ा जाता है, या सॉफ़्टवेयर जैसे कि स्मार्टफोन (जैसे  महोदय मै ) या अन्य कंप्यूटर पर चलने वाले चैटबॉट के रूप में। सॉफ़्टवेयर एजेंट स्वायत्त हो सकते हैं या अन्य एजेंटों या लोगों के साथ मिलकर काम कर सकते हैं। लोगों के साथ बातचीत करने वाले सॉफ़्टवेयर एजेंट (जैसे चैटबॉट्स, मानव-रोबोट बातचीत वातावरण) में मानव-जैसे गुण हो सकते हैं जैसे कि प्राकृतिक भाषा समझ और भाषण, व्यक्तित्व या ह्यूमनॉइड फॉर्म (असिमो देखें)।

संबंधित और व्युत्पन्न अवधारणाओं में बुद्धिमान एजेंट शामिल हैं (विशेष रूप से कृत्रिम बुद्धि के कुछ पहलुओं को प्रदर्शित करना, जैसे तर्क), स्वायत्त एजेंट (अपने उद्देश्यों को प्राप्त करने के तरीकों को संशोधित करने में सक्षम), वितरित एजेंट (शारीरिक रूप से अलग कंप्यूटर पर निष्पादित), बहु-एजेंट सिस्टम | मल्टी-एजेंट सिस्टम (वितरित एजेंट जो एक उद्देश्य को प्राप्त करने के लिए एक साथ काम करते हैं जो अकेले कार्य करने वाले एक एजेंट द्वारा पूरा नहीं किया जा सकता है), और मोबाइल एजेंट (एजेंट जो विभिन्न प्रोसेसर पर अपने निष्पादन को स्थानांतरित कर सकते हैं)।

अवधारणाएं
एक स्वायत्त सॉफ़्टवेयर एजेंट के मूल गुण हैं कि एजेंट:
 * किसी कार्य के लिए कड़ाई से आह्वान नहीं किया जाता है, बल्कि खुद को सक्रिय करते हैं,
 * एक मेजबान पर प्रतीक्षा स्थिति में निवास कर सकते हैं, संदर्भ को समझते हुए,
 * शुरुआती स्थितियों पर होस्ट पर स्थिति चलाने के लिए मिल सकता है,
 * उपयोगकर्ता की सहभागिता की आवश्यकता नहीं है,
 * संचार सहित अन्य कार्यों का आह्वान कर सकते हैं।

एजेंट शब्द एक सॉफ्टवेयर मतिहीनता, एक विचार या एक अवधारणा का वर्णन करता है, जो ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग टर्म्स जैसे विधि (कंप्यूटर प्रोग्रामिंग),  समारोह (इंजीनियरिंग)  और ऑब्जेक्ट्स के समान है। एक एजेंट की अवधारणा एक जटिल सॉफ्टवेयर इकाई का वर्णन करने के लिए एक सुविधाजनक और शक्तिशाली तरीका प्रदान करती है जो अपने मेजबान की ओर से कार्यों को पूरा करने के लिए कुछ हद तक स्वायत्तता के साथ कार्य करने में सक्षम है। लेकिन वस्तुओं के विपरीत, जिन्हें विधियों और विशेषताओं के संदर्भ में परिभाषित किया जाता है, एक एजेंट को उसके व्यवहार के संदर्भ में परिभाषित किया जाता है। विभिन्न लेखकों ने एजेंटों की अलग-अलग परिभाषाएँ प्रस्तावित की हैं, इनमें आमतौर पर अवधारणाएँ शामिल हैं जैसे:
 * दृढ़ता (कोड मांग पर निष्पादित नहीं किया जाता है, लेकिन लगातार चलता रहता है और खुद के लिए निर्णय लेता है कि उसे कब कुछ गतिविधि करनी चाहिए)
 * स्वायत्तता (एजेंटों के पास कार्य चयन, प्राथमिकता, लक्ष्य-निर्देशित व्यवहार, मानवीय हस्तक्षेप के बिना निर्णय लेने की क्षमता है)
 * सामाजिक क्षमता (एजेंट किसी प्रकार के संचार और समन्वय के माध्यम से अन्य घटकों को शामिल करने में सक्षम हैं, वे किसी कार्य में सहयोग कर सकते हैं)
 * प्रतिक्रियात्मकता (एजेंट उस संदर्भ को समझते हैं जिसमें वे काम करते हैं और उचित रूप से प्रतिक्रिया करते हैं)।

कार्यक्रमों से एजेंटों को अलग करना
सभी एजेंट प्रोग्राम हैं, लेकिन सभी प्रोग्राम एजेंट नहीं हैं। संबंधित अवधारणाओं के साथ शब्द की तुलना करने से इसका अर्थ स्पष्ट करने में मदद मिल सकती है। फ्रैंकलिन एंड ग्रेसर (1997) चार प्रमुख धारणाओं पर चर्चा करें जो एजेंटों को स्वैच्छिक कार्यक्रमों से अलग करती हैं: पर्यावरण पर प्रतिक्रिया, स्वायत्तता, लक्ष्य-उन्मुखीकरण और दृढ़ता।

वस्तुओं से सहज विशिष्ट एजेंट

 * एजेंट वस्तु (कंप्यूटर विज्ञान) से अधिक स्वायत्त हैं।
 * एजेंटों का व्यवहार लचीला होता है: प्रतिक्रियाशील प्रोग्रामिंग, सक्रिय, सामाजिक।
 * एजेंटों के पास नियंत्रण का कम से कम एक धागा (कंप्यूटर विज्ञान) होता है लेकिन अधिक हो सकता है।

विशेषज्ञ प्रणालियों से विशिष्ट एजेंटों

 * विशेषज्ञ प्रणालियाँ उनके पर्यावरण से जुड़ी नहीं हैं।
 * विशेषज्ञ प्रणालियाँ प्रतिक्रियाशील, सक्रिय व्यवहार के लिए डिज़ाइन नहीं की गई हैं।
 * विशेषज्ञ प्रणालियाँ सामाजिक क्षमता पर विचार नहीं करती हैं।

एआई
में बुद्धिमान एजेंटों से बुद्धिमान सॉफ्टवेयर एजेंटों को अलग करना
 * इंटेलिजेंट एजेंट (तर्कसंगत एजेंट के रूप में भी जाना जाता है) केवल कंप्यूटर प्रोग्राम नहीं हैं: वे मशीन, इंसान, इंसानों के समुदाय (जैसे व्यावसायिक संस्थाएं) या लक्ष्य-निर्देशित व्यवहार करने में सक्षम कुछ भी हो सकते हैं।

सॉफ्टवेयर एजेंटों का प्रभाव
सॉफ़्टवेयर एजेंट जटिल या दोहराए जाने वाले कार्यों को स्वचालित करके अपने अंतिम उपयोगकर्ताओं को विभिन्न लाभ प्रदान कर सकते हैं। हालाँकि, इस तकनीक के संगठनात्मक और सांस्कृतिक प्रभाव हैं जिन्हें सॉफ़्टवेयर एजेंटों को लागू करने से पहले विचार करने की आवश्यकता है।

कार्य संतोष और कार्य संतुष्टि प्रभाव
लोग सफलता की अनुभूति प्रदान करने वाले आसान कार्य करना पसंद करते हैं जब तक कि सरल कार्य की पुनरावृत्ति समग्र आउटपुट को प्रभावित न कर रही हो। सामान्य रूप से प्रशासनिक आवश्यकताओं को पूरा करने के लिए सॉफ्टवेयर एजेंटों को लागू करने से कार्य संतुष्टि में पर्याप्त वृद्धि होती है, क्योंकि अपने स्वयं के कार्य को प्रशासित करने से कार्यकर्ता कभी भी खुश नहीं होता है। मुक्त किया गया प्रयास व्यक्तिगत कार्य के पर्याप्त कार्यों में उच्च स्तर की व्यस्तता के लिए कार्य करता है। इसलिए, सॉफ्टवेयर एजेंट स्व-नियंत्रित कार्य को लागू करने के लिए बुनियादी चीजें प्रदान कर सकते हैं, पदानुक्रमित नियंत्रण और हस्तक्षेप से मुक्त हो सकते हैं। आवश्यक औपचारिक समर्थन के लिए सॉफ्टवेयर एजेंटों के आवेदन द्वारा ऐसी शर्तों को सुरक्षित किया जा सकता है।

सांस्कृतिक प्रभाव
सॉफ्टवेयर एजेंटों के कार्यान्वयन के सांस्कृतिक प्रभावों में विश्वास की पीड़ा, कौशल का क्षरण, गोपनीयता की कमी और सामाजिक अलगाव शामिल हैं। कुछ उपयोगकर्ता सॉफ्टवेयर अनुप्रयोगों के लिए महत्वपूर्ण कार्यों को पूरी तरह से सौंपने में पूरी तरह से सहज महसूस नहीं कर सकते हैं। जो लोग पूरी तरह से बुद्धिमान एजेंटों पर भरोसा करना शुरू करते हैं, वे महत्वपूर्ण कौशल खो सकते हैं, उदाहरण के लिए, सूचना साक्षरता से संबंधित। उपयोगकर्ता की ओर से कार्य करने के लिए, एक सॉफ़्टवेयर एजेंट को उपयोगकर्ता की प्रोफ़ाइल की पूरी समझ होनी चाहिए, जिसमें उसकी व्यक्तिगत प्राथमिकताएँ भी शामिल हैं। यह, बदले में, अप्रत्याशित गोपनीयता के मुद्दों को जन्म दे सकता है। जब उपयोगकर्ता अपने सॉफ़्टवेयर एजेंटों पर अधिक भरोसा करना शुरू करते हैं, विशेष रूप से संचार गतिविधियों के लिए, वे अन्य मानव उपयोगकर्ताओं के साथ संपर्क खो सकते हैं और दुनिया को अपने एजेंटों की नज़र से देख सकते हैं। बुद्धिमान एजेंट प्रौद्योगिकियों के साथ व्यवहार करते समय एजेंट शोधकर्ताओं और उपयोगकर्ताओं को इन परिणामों पर विचार करना चाहिए।

इतिहास
एक एजेंट की अवधारणा को अभिनेता मॉडल | हेविट के अभिनेता मॉडल (हेविट, 1977) में देखा जा सकता है - एक स्व-निहित, इंटरैक्टिव और समवर्ती-निष्पादित वस्तु, आंतरिक स्थिति और संचार क्षमता रखने वाली।

अधिक अकादमिक होने के लिए, सॉफ्टवेयर एजेंट सिस्टम मल्टी-एजेंट सिस्टम्स (एमएएस) का प्रत्यक्ष विकास है। MAS वितरित आर्टिफिशियल इंटेलिजेंस  (DAI), डिस्ट्रीब्यूटेड प्रॉब्लम सॉल्विंग (DPS) और पैरेलल AI (PAI) से विकसित हुआ, इस प्रकार DAI और AI से सभी विशेषताओं (अच्छे और बुरे) को विरासत में मिला।

जॉन स्कली के 1987 के "ज्ञान नेविगेटर" वीडियो ने एंड-यूजर्स और एजेंटों के बीच संबंधों की एक छवि को चित्रित किया। सबसे पहले एक आदर्श होने के नाते, इस क्षेत्र ने टुकड़े-टुकड़े, नीचे-ऊपर दृष्टिकोण के बजाय असफल टॉप-डाउन कार्यान्वयन की एक श्रृंखला का अनुभव किया। एजेंट प्रकारों की श्रेणी अब (1990 से) व्यापक है: WWW, खोज इंजन, आदि।

क्रेता एजेंट (शॉपिंग बॉट)
क्रेता एजेंट माल और सेवाओं के बारे में जानकारी प्राप्त करने के लिए एक नेटवर्क (जैसे इंटरनेट) के आसपास यात्रा करें। ये एजेंट, जिन्हें 'शॉपिंग बॉट्स' के रूप में भी जाना जाता है, कमोडिटी उत्पादों जैसे सीडी, किताबें, इलेक्ट्रॉनिक घटक और अन्य एक आकार-फिट-सभी उत्पादों के लिए बहुत कुशलता से काम करते हैं। खरीदार एजेंटों को आमतौर पर ई-कॉमर्स और पारंपरिक व्यवसायों में उपयोग की जाने वाली डिजिटल भुगतान सेवाओं की अनुमति देने के लिए अनुकूलित किया जाता है।

उपयोगकर्ता एजेंट (व्यक्तिगत एजेंट)
उपयोगकर्ता एजेंट, या व्यक्तिगत एजेंट, बुद्धिमान एजेंट होते हैं जो आपकी ओर से कार्रवाई करते हैं। इस श्रेणी में वे बुद्धिमान एजेंट आते हैं जो पहले से ही निम्नलिखित कार्य कर चुके हैं, या शीघ्र ही करने वाले हैं:
 * अपने ई-मेल की जांच करें, इसे उपयोगकर्ता के वरीयता क्रम के अनुसार क्रमबद्ध करें, और महत्वपूर्ण ईमेल आने पर आपको सतर्क करें।
 * कंप्यूटर गेम को अपने प्रतिद्वंद्वी के रूप में खेलें या आपके लिए खेल क्षेत्रों को गश्त करें।
 * आपके लिए अनुकूलित समाचार रिपोर्ट इकट्ठा करें। इनके कई संस्करण हैं, जिनमें सीएनएन भी शामिल है।
 * अपनी पसंद के विषय पर अपने लिए जानकारी प्राप्त करें।
 * भविष्य में संदर्भ के लिए आपकी जानकारी संग्रहीत करते हुए, वेब पर स्वचालित रूप से आपके लिए फ़ॉर्म भरें
 * उन वेब पेजों को स्कैन करें जो वहां की जानकारी के महत्वपूर्ण हिस्से का गठन करने वाले टेक्स्ट को ढूंढ रहे हैं और हाइलाइट कर रहे हैं
 * अपने गहरे डर से लेकर खेल तक के विषयों पर चर्चा करें
 * ज्ञात जॉब बोर्डों को स्कैन करके और वांछित मानदंडों को पूरा करने वाले अवसरों को रिज्यूमे भेजकर ऑनलाइन जॉब सर्च कर्तव्यों की सुविधा प्रदान करें
 * विषम सामाजिक नेटवर्क में प्रोफ़ाइल तुल्यकालन

निगरानी-और-निगरानी (भविष्य कहनेवाला) एजेंट
निगरानी और निगरानी एजेंटों का उपयोग उपकरण, आमतौर पर कंप्यूटर सिस्टम पर निरीक्षण और रिपोर्ट करने के लिए किया जाता है। एजेंट कंपनी के इन्वेंट्री स्तर पर नज़र रख सकते हैं, प्रतिस्पर्धियों की कीमतों का निरीक्षण कर सकते हैं और उन्हें कंपनी को वापस भेज सकते हैं, इनसाइडर ट्रेडिंग और अफवाहों आदि द्वारा स्टॉक में हेरफेर देख सकते हैं। उदाहरण के लिए, नासा की जेट प्रोपल्शन लेबोरेटरी में एक एजेंट है जो लागत कम रखने के लिए इन्वेंट्री, प्लानिंग, शेड्यूल इक्विपमेंट ऑर्डर की निगरानी करता है और खाद्य भंडारण सुविधाओं का प्रबंधन करता है। ये एजेंट आमतौर पर जटिल कंप्यूटर नेटवर्क की निगरानी करते हैं जो नेटवर्क से जुड़े प्रत्येक कंप्यूटर के कॉन्फ़िगरेशन का ट्रैक रख सकते हैं।

निगरानी-और-निगरानी एजेंटों का एक विशेष मामला सामरिक संचालन के दौरान मानव निर्णय लेने की प्रक्रिया का अनुकरण करने के लिए उपयोग किए जाने वाले एजेंटों के संगठन हैं। एजेंट संपत्ति की स्थिति (गोला-बारूद, उपलब्ध हथियार, परिवहन के लिए प्लेटफॉर्म आदि) की निगरानी करते हैं और उच्च स्तर के एजेंटों से लक्ष्य (मिशन) प्राप्त करते हैं। एजेंट तब संपत्ति के साथ लक्ष्य का पीछा करते हैं, लक्ष्य प्राप्ति को अधिकतम करते हुए संपत्ति के व्यय को कम करते हैं। (पोप्पलवेल, एजेंट और प्रयोज्यता देखें)

डेटा खनन एजेंट
यह एजेंट कई अलग-अलग स्रोतों से जानकारी की बहुतायत में रुझान और पैटर्न खोजने के लिए सूचना प्रौद्योगिकी का उपयोग करता है। उपयोगकर्ता जो भी जानकारी मांग रहे हैं उसे खोजने के लिए उपयोगकर्ता इस जानकारी के माध्यम से सॉर्ट कर सकते हैं।

एक डेटा माइनिंग एजेंट सूचना की खोज करने वाले डेटा वेयरहाउस में काम करता है। एक 'डेटा वेयरहाउस' कई अलग-अलग स्रोतों से जानकारी एक साथ लाता है। डेटा माइनिंग डेटा वेयरहाउस के माध्यम से जानकारी खोजने की प्रक्रिया है जिसका उपयोग आप कार्रवाई करने के लिए कर सकते हैं, जैसे कि बिक्री बढ़ाने के तरीके या उन ग्राहकों को रखने के लिए जो ख़राब होने पर विचार कर रहे हैं।

'वर्गीकरण' डेटा माइनिंग के सबसे सामान्य प्रकारों में से एक है, जो सूचनाओं में पैटर्न ढूंढता है और उन्हें विभिन्न वर्गों में वर्गीकृत करता है। डेटा माइनिंग एजेंट रुझानों या प्रमुख संकेतक में प्रमुख बदलावों का भी पता लगा सकते हैं और नई जानकारी की उपस्थिति का पता लगा सकते हैं और आपको इसके प्रति सचेत कर सकते हैं। उदाहरण के लिए, एजेंट अर्थव्यवस्था के लिए निर्माण उद्योग में गिरावट का पता लगा सकता है; इस रिलेटेड सूचना के आधार पर निर्माण कंपनियाँ कर्मचारियों को काम पर रखने/निकालने या उपकरणों की खरीद/पट्टे पर लेने के बारे में बुद्धिमान निर्णय लेने में सक्षम होंगी ताकि उनकी फर्म के लिए सबसे उपयुक्त हो।

नेटवर्किंग और संचार एजेंट
वर्तमान बुद्धिमान एजेंटों के कुछ अन्य उदाहरणों में कुछ अवांछनीय ई - मेल)  फ़िल्टर, गेम कंप्यूटर गेम बॉट और सर्वर मॉनिटरिंग टूल शामिल हैं। खोज इंजन अनुक्रमण बॉट भी बुद्धिमान एजेंट के रूप में योग्य हैं।
 * उपयोगकर्ता एजेंट - वर्ल्ड वाइड वेब ब्राउज़ करने के लिए
 * मेल ट्रांसफर एजेंट - माइक्रोसॉफ्ट आउटलुक जैसे ई-मेल की सेवा के लिए। क्यों? यह POP3 मेल सर्वर के साथ संचार करता है, उपयोगकर्ताओं को पोस्ट ऑफिस प्रोटोकॉल कमांड प्रोटोकॉल को समझे बिना। इसमें नियम सेट भी हैं जो उपयोगकर्ता के लिए मेल फ़िल्टर करते हैं, इस प्रकार उन्हें इसे स्वयं करने की परेशानी से बचाते हैं।
 * सरल नेटवर्क प्रबंधन प्रोटोकॉल एजेंट
 * यूनिक्स-शैली के नेटवर्किंग सर्वर में, अपाचे HTTP सर्वर  एक एचटीटीपी डेमन है जो वर्ल्ड वाइड वेब के मूल में  हाइपरटेक्स्ट परहस्त शिष्टाचार  को लागू करता है।
 * प्रबंधन एजेंट दूरसंचार उपकरणों का प्रबंधन करते थे
 * सुरक्षा योजना या 3 डी कंप्यूटर ग्राफिक्स के लिए भीड़ अनुकरण,
 * वायरलेस बीकनिंग एजेंट वायरलेस लॉक या इलेक्ट्रॉनिक पट्टा को लागू करने के लिए होस्ट की गई अधिक जटिल सॉफ़्टवेयर एजेंटों के संयोजन के लिए एक सरल प्रक्रिया होस्ट की गई एकल टास्किंग इकाई है। वायरलेस रिसीवर पर।
 * ऑनलाइन समूहों में समन्वय का अनुकूलन करने के लिए स्वायत्त एजेंटों (जानबूझकर शोर से लैस) का उपयोग।

सॉफ्टवेयर विकास एजेंट (उर्फ सॉफ्टवेयर बॉट)
सॉफ्टवेयर इंजीनियरिंग में सॉफ्टवेयर बॉट महत्वपूर्ण होते जा रहे हैं।

सुरक्षा एजेंट
एजेंटों का उपयोग सॉफ़्टवेयर सुरक्षा एप्लिकेशन में विभिन्न प्रकार की सामग्री को इंटरसेप्ट करने, जाँचने और उस पर कार्य करने के लिए भी किया जाता है। उदाहरण में शामिल हैं:
 * डेटा हानि रोकथाम सॉफ्टवेयर | डेटा लॉस प्रिवेंशन (डीएलपी) एजेंट - कंप्यूटर या नेटवर्क पर उपयोगकर्ता संचालन की जांच करें, अनुमत कार्यों को निर्दिष्ट करने वाली नीतियों की तुलना करें, और उचित कार्रवाई करें (जैसे अनुमति दें, चेतावनी दें, ब्लॉक करें)। EDR कार्यों को करने के लिए अधिक व्यापक DLP एजेंटों का भी उपयोग किया जा सकता है।
 * एंडपॉइंट डिटेक्शन एंड रिस्पांस (ईडीआर) एजेंट - दुर्भावनापूर्ण गतिविधियों का पता लगाने और प्रतिक्रिया देने के लिए एंडपॉइंट कंप्यूटर पर सभी गतिविधियों की निगरानी करें
 * क्लाउड एक्सेस सिक्योरिटी ब्रोकर (सीएएसबी) एजेंट - डीएलपी एजेंटों के समान, हालांकि क्लाउड एप्लिकेशन पर जाने वाले ट्रैफ़िक की जांच करना

डिजाइन मुद्दे
एजेंट-आधारित प्रणालियों के विकास में विचार करने योग्य मुद्दों में शामिल हैं
 * कार्य कैसे निर्धारित किए जाते हैं और कार्यों का सिंक्रनाइज़ेशन कैसे प्राप्त किया जाता है
 * एजेंटों द्वारा कार्यों को कैसे प्राथमिकता दी जाती है
 * एजेंट कैसे सहयोग कर सकते हैं या संसाधनों की भर्ती कर सकते हैं,
 * विभिन्न वातावरणों में एजेंटों को कैसे फिर से शुरू किया जा सकता है, और उनकी आंतरिक स्थिति को कैसे संग्रहीत किया जा सकता है,
 * पर्यावरण की जांच कैसे की जाएगी और पर्यावरण के परिवर्तन से एजेंटों के व्यवहार में परिवर्तन कैसे होता है
 * संदेश और संचार कैसे प्राप्त किया जा सकता है,
 * एजेंटों के कौन से पदानुक्रम उपयोगी हैं (उदाहरण के लिए कार्य निष्पादन एजेंट, शेड्यूलिंग एजेंट, संसाधन प्रदाता ...)

सॉफ्टवेयर एजेंटों के लिए एक साथ कुशलता से काम करने के लिए उन्हें अपने डेटा तत्वों के शब्दार्थों को साझा करना चाहिए। यह कंप्यूटर सिस्टम द्वारा उनके मेटाडाटा  को प्रकाशित करके किया जा सकता है।

एजेंट प्रसंस्करण की परिभाषा दो परस्पर संबंधित दिशाओं से प्राप्त की जा सकती है:
 * ज्ञान का प्रतिनिधित्व करने के लिए आंतरिक राज्य प्रसंस्करण और ऑन्कोलॉजी
 * इंटरेक्शन प्रोटोकॉल - कार्यों के संचार को निर्दिष्ट करने के लिए मानक

एजेंट सिस्टम का उपयोग कॉन्करेंसी (कंप्यूटर विज्ञान) या समांतर प्रसंस्करण के साथ वास्तविक दुनिया के सिस्टम को मॉडल करने के लिए किया जाता है।


 * एजेंट मशीनरी - विभिन्न प्रकार के इंजन, जो बुद्धि की अलग-अलग डिग्री का समर्थन करते हैं
 * एजेंट सामग्री - रीज़निंग और लर्निंग में मशीनरी द्वारा नियोजित डेटा
 * एजेंट एक्सेस - रीज़निंग के परिणामों के रूप में सामग्री को देखने और कार्य करने के लिए मशीनरी को सक्षम करने के तरीके
 * एजेंट सुरक्षा - वितरित कंप्यूटिंग से संबंधित चिंताएँ, एजेंटों से संबंधित कुछ विशेष चिंताओं द्वारा संवर्धित

सामग्री के लिए फोरेज करने के लिए एजेंट स्थानीय और दूरस्थ डेटाबेस में जाने के लिए अपनी पहुंच विधियों का उपयोग करता है। इन एक्सेस विधियों में एजेंट को समाचार स्ट्रीम डिलीवरी सेट करना, या बुलेटिन बोर्ड से पुनर्प्राप्ति, या वेब पर चलने के लिए स्पाइडर का उपयोग करना शामिल हो सकता है। इस तरह से प्राप्त की गई सामग्री शायद पहले से ही आंशिक रूप से फ़िल्टर की गई है - न्यूज़फ़ीड या खोजे गए डेटाबेस के चयन से। इसके बाद एजेंट अपनी विस्तृत खोज या भाषा-प्रसंस्करण मशीनरी का उपयोग प्राप्त या पुनर्प्राप्त की गई सामग्री के मुख्य भाग से कीवर्ड या हस्ताक्षर निकालने के लिए कर सकता है। नई सामग्री के साथ क्या करना है, यह तय करने के लिए यह अमूर्त सामग्री (या घटना) तब एजेंट की रीज़निंग या इंफ़्रेंसिंग मशीनरी को पास की जाती है। यह प्रक्रिया घटना सामग्री को उपयोगकर्ता द्वारा प्रदान की गई नियम-आधारित या ज्ञान सामग्री के साथ जोड़ती है। यदि इस प्रक्रिया को नई सामग्री में अच्छा हिट या मैच मिलता है, तो एजेंट सामग्री पर अधिक विस्तृत खोज करने के लिए अपनी मशीनरी के दूसरे भाग का उपयोग कर सकता है। अंत में, एजेंट नई सामग्री के आधार पर कार्रवाई करने का निर्णय ले सकता है; उदाहरण के लिए, उपयोगकर्ता को सूचित करने के लिए कि कोई महत्वपूर्ण घटना घटी है। यह क्रिया एक सुरक्षा फ़ंक्शन द्वारा सत्यापित की जाती है और फिर उपयोगकर्ता को अधिकार दिया जाता है। एजेंट उस संदेश को उपयोगकर्ता तक पहुंचाने के लिए उपयोगकर्ता-पहुंच विधि का उपयोग करता है। यदि उपयोगकर्ता इस बात की पुष्टि करता है कि सूचना पर त्वरित कार्रवाई करके घटना महत्वपूर्ण है, तो एजेंट इस तरह के आयोजन के लिए अपना भार बढ़ाने के लिए अपनी सीखने की मशीनरी को भी नियोजित कर सकता है।

बॉट अपने रचनाकारों की ओर से अच्छा और बुरा करने के लिए कार्य कर सकते हैं। ऐसे कुछ तरीके हैं जिनसे बॉट्स को प्रदर्शित करने के लिए बनाया जा सकता है कि वे सबसे अच्छे इरादे से डिज़ाइन किए गए हैं और नुकसान पहुँचाने के लिए नहीं बनाए गए हैं। साइट के साथ संचार करते समय उपयोगकर्ता-एजेंट HTTP शीर्षलेख में बॉट द्वारा स्वयं को पहचानने के द्वारा यह सबसे पहले किया जाता है। स्वयं को वैध के रूप में स्थापित करने के लिए स्रोत आईपी पते को भी सत्यापित किया जाना चाहिए। इसके बाद, बॉट को हमेशा साइट की robots.txt फ़ाइल का सम्मान करना चाहिए क्योंकि यह अधिकांश वेब पर मानक बन गया है। और robots.txt फ़ाइल का सम्मान करने की तरह, बॉट्स को बहुत आक्रामक होने से बचना चाहिए और किसी भी क्रॉल विलंब निर्देशों का सम्मान करना चाहिए।

एजेंटों के लिए धारणाएं और ढांचे

 * DARPA DARPA एजेंट मार्कअप भाषाDARPA एजेंट मार्कअप लैंग्वेज)
 * 3APL (कृत्रिम स्वायत्त एजेंट प्रोग्रामिंग भाषा)
 * लक्ष्य एजेंट प्रोग्रामिंग भाषा
 * ओपन एजेंट आर्किटेक्चर (ओएए)
 * वेब सत्तामीमांसा भाषा (OWL)
 * यूनिक्स जैसी प्रणालियों में डेमन (कंप्यूटिंग)।
 * जावा एजेंट टेम्पलेट (JAT)
 * जावा एजेंट डेवलपमेंट फ्रेमवर्क (JADE)
 * एसएआरएल भाषा (तर्कसंगत रूप से एक अभिनेता और एजेंट उन्मुख प्रतिमान नहीं)

यह भी देखें

 * एजेंट आर्किटेक्चर
 * चैटबॉट
 * डेटा खोने की रोकथाम
 * समापन बिंदु का पता लगाने और प्रतिक्रिया
 * सॉफ्टवेयर बॉट

बाहरी संबंध

 * Software Agents: An Overview, Hyacinth S. Nwana. Knowledge Engineering Review, 11(3):1–40, September 1996. Cambridge University Press.
 * FIPA The Foundation for Intelligent Physical Agents
 * JADE Java Agent Developing Framework, an Open Source framework developed by Telecom Italia Labs
 * European Software-Agent Research Center
 * SemanticAgent An Open Source framework to develop SWRL based Agents on top of JADE
 * Mobile-C A Multi-Agent Platform for Mobile C/C++ Agents.
 * HLL High-Level Logic (HLL) Open Source Project.
 * Open source project KATO for PHP and Java developers to write software agents