موضوع مقاله: عامل نرم‌افزاری | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # عامل نرم‌افزاری | مقدمه: در علوم رایانه، یک گماشته نرم‌افزاری یا یک عامل نرم‌افزاری یک برنامه ی رایانه‌ای است که برای کاربر یا برنامه‌های دیگر، به صورت یک نماینده (agency) عمل می‌کند. | ## بخش 1: عامل نرم‌افزاری | این «کارکردن از جانب» به معنی ضمنی اختیاراتی برای تصمیم گیری در مورد آن است که «کدام عمل» مناسب می‌باشد. مقدمه در دانش رایانه، software agentها یا همان عامل‌های نرم‌افزاری بخشی از یک نرم‌افزارند که جهت کمک به کاربر یا نرم‌افزاری دیگر در چارچوب روابط واسطه‌ای کار می‌کنند. در واقع کاربران به عامل‌ها همانند یک واسط (گماشته)، قدرت تصمیم‌گیری برای این که در هر زمان چه اقدامی باید صورت بگیرد را وامی گذارند. یعنی همان‌طور که برای خرید یک خانه با رجوع به یک واسطه (آژانس یا Agency)، همهٔ اختیارات مربوط به تحقیق، بررسی، مقایسه مشتریان و … تا خرید را به آن واسطه (آژانس) تفویض می‌کنیم، در این‌جا نیز در یک زمینهٔ خاص کلیهٔ اختیارات را به یک عامل (Agent) می‌دهیم. به عامل ها در زبان محاوره ای بات (bot) گفته می شود، که از کلمه ی روبات گرفته شده است. این عامل ها (بات ها) می توانند در سیستم های دیگر قرار داده شوند، مثل موقعی که عامل نرم افزاری (بات) برای اجرا، در بدنه ی یک روبات قرار می گیرد، یا موقعی که یک نرم افزار chatbox (مثل Siri) روی گوشی موبایل یا روی دیگر وسایل ارتباطی قرار می گیرد. فقط باید بدانیم که وظیفهٔ عامل (Agent)ها در بیشتر اوقات تا مرحلهٔ تصمیم‌گیری ادامه می‌یابد و تصمیم این که در بین پیشنهادها در نهایت کدام یک برگزیده شود به عهدهٔ خود کاربر است. هدف این برنامه‌ها، آسانی کشف داده‌ها در اینترنت و جایگزینی انسان در فرایند طولانی تولید دانش است. تعریف عامل در فرهنگ لغت عامل (Agent)به معنای «فاعل، نماینده، مأمور، واسطه، عامل، امین و کارگزار» می‌باشد. | ## بخش 2: عامل نرم‌افزاری | در تعریفی دقیق‌تر: عامل چیزی است که می‌تواند محیط را از طریق حسگرهایش درک کند و با عملگرهایش بر روی محیط اثر بگذارد عامل نرم‌افزاری قسمتی از یک نرم‌افزار است که به منظور کمک به یک کاربر یا نرم‌افزاری دیگر در چارچوب روابط واسطهٔ کار می‌کنند. چند مثال از عامل‌ها در این قسمت چند مثال از agentها را ذکر می‌کنیم تا در حین آن نحوه کمک رسانی آن‌ها به کاربران را توضیح دهیم: Agentهای خریدار: این نرم‌افزارها به کاربران اینترنتی در پیدا کردن محصولات و خدمات مورد نیازشان کمک می‌کنند. به‌طور مثال زمانی که فردی برای خرید محصولی به سایت eBay می‌رود، در پایین صفحه لیستی از محصولات است که دیگر خریدارانی که به دنبال آن محصول بودند، به آن‌ها نیز توجه داشته‌اند. انجام این عمل به این دلیل است که اعتقاد بر این است که سلیقهٔ کاربران به صورت نسبی به هم شبیه است و آن‌ها به دنبال محصولات مشابهی هستند. Agentهای کاربر: این عامل‌ها به منظور انجام کارهای کاربر به‌طور اتوماتیک به وجود آمده‌اند. مثلاً بعضی از این agentها ایمیل‌های کاربران را با توجه به نوع درخواستشان طبقه‌بندی و مرتب می‌کنند. (مثلاً عاملی به نام newshub) یا بعضی دیگر از این عامل هابه‌طور خودکار با کمک اطلاعات ذخیره شدهٔ کاربر، فرم‌های اینترنتی را پر می‌کنند. به‌طور مثال agentهایی که سطح موجودی کارخانه‌ها را ثبت می‌کنند، بر روی قیمت‌های رقبا نظارت می‌کنند یا بر روند بازار بورس ناظر هستند و گزارش‌هایی به کاربران می‌دهند. کاربر با استفاده از این agentها می‌تواند داده‌های موجود را به شیوهٔ مورد نظرش مرتب کند تا هر اطلاعاتی که می‌خواهد بیابد. | ## بخش 3: عامل نرم‌افزاری | مثالی از این نوع agentها، Agentهایی هستند که شرایط بازار را دائماً بررسی می‌کنند و آن شرایط را به کاربر یا کارخانه گزارش می‌دهند تا کاربر یا کارخانه بتواند با توجه به آن‌ها تصمیمات صحیح بگیرد. عامل‌های هوشمند عامل‌های مربوط به موتورهای جستجو ویژگی‌های عامل‌ها Software agentها برای اولین بار با هدف ایجاد شیوه‌ای راحت و مطمئن برای انجام خودکار کارهایی به نیابت از کاربر به وجود آمد. تعاریف بسیاری از agentها شده‌است که تمامی آن‌ها شامل خصوصیات زیر هستند: ماندگاری: انجام مستمر وظایف محول شده و گرفتن تصمیمات مربوط به این که چه زمانی باید عکس‌العمل نشان دهد. توانایی‌های اجتماعی: داشتن قدرت کار کردن دست جمعی و برقراری ارتباط و انجام همکاری با سایرین در هنگام انجام یک مسئولیت. واکنش پذیری: داشتن توانایی درک نسبی مفاهیمی که برای آن‌ها کار می‌کنند و واکنش می‌دهند. Character: یک شخصیت قابل باور و حالت احساسی تقسیم‌بندی عامل‌های نرم‌افزاری ابعاد متعددی برای طبقه‌بندی کردن عامل‌های نرم‌افزاری وجود دارد، این عامل‌ها می‌توانند متناسب با موارد زیر دسته‌بندی شوند. عامل در اینجا عملی را که توسط کاربر انجام می‌شود را مشاهده می‌کند و سعی می‌کند راه‌های جدید را یاد بگیرد و سپس سعی می‌کند راه‌های بهتر برای انجام همان کار را پیشنهاد کند. | ## جمع‌بندی | هوش مصنوعی توزیع شده که زیرمجموعه‌ای از هوش مصنوعی است مربوط به مسائلی است که برای آن‌ها یک حل‌کنندهٔ مسئله کافی نیست، بلکه نیاز به همکاری بین موجودیت‌های مستقل حل مسئله می‌باشد.