V informatice je softwarový agent program, který vstupuje do zprostředkovatelského vztahu s uživatelem nebo jiným programem. Slovo „ agent “ pochází z latinského agere (dělat) a znamená dohodu o provedení akcí jménem někoho. Takové „jednání jménem“ znamená právo rozhodnout, jaké kroky (pokud nějaké) jsou vhodné [1] [2] . Myšlenka spočívá v tom, že agenti nejsou spouštěni přímo k vyřešení úkolu, ale jsou aktivováni sami.
Související a odvozené koncepty zahrnují inteligentní agenty (zejména ty s některými aspekty umělé inteligence , jako je učení a uvažování ), autonomní agenty (schopné změnit způsob, jakým dosahují svých cílů), distribuované agenty (provádějící akce na fyzicky odlišných počítačích), multi- agentní systémy (distribuovaní agenti, kteří nemají schopnost dosáhnout cíle sami, a proto musí komunikovat), a mobilní agenti (agenti, kteří mohou své provádění přesunout na jiné procesory).
Termín „agent“ popisuje softwarovou abstrakci , myšlenku nebo koncept, podobně jako termíny OOP , jako je metoda, funkce nebo objekt. Koncept agenta poskytuje pohodlný a účinný způsob, jak popsat komplexní softwarovou entitu, která je schopna jednat s určitým stupněm autonomie při provádění úkolů jménem uživatele. Ale na rozdíl od objektů, které jsou definovány pomocí metod a atributů , je agent definován popisem svého chování [3] .
Různí autoři nabízejí různé definice agenta, obvykle včetně pojmů jako:
Nemá žádný zvláštní smysl popisovat, co je agent a co není. Porovnání termínu se souvisejícími pojmy však může objasnit jeho význam.
Koncept agenta lze vysledovat zpět k modelu herce Carla Hewitta : „autonomní, interaktivní a současně vykonávající několik funkcí objekt s vnitřním stavem a výměnou informací“ [5] .
Více akademicky řečeno, softwaroví agenti jsou přímou evolucí multiagentních systémů (MAS), které se zase vyvinuly z distribuované umělé inteligence (DI), distribuovaného řešení problémů (PPS) a paralelní umělé inteligence (PAI). Softwaroví agenti tedy dědí všechny vlastnosti (dobré i špatné) od RAI a AI .
Knowledge Navigator, vytvořený v roce 1987 Johnem Scullym, byl video spojením mezi koncovým uživatelem a agentem. Jako první svého druhu sloužil jako základ pro experimentální sérii neúspěšných implementací shora dolů, místo aby se krok za krokem přibližoval metodám zdola nahoru. Spektrum typů agentů je v současnosti (od roku 1990) poměrně široké: WWW, vyhledávače atd.
Stephen Haag ve své práci [6] věří, že existují pouze čtyři hlavní typy inteligentních softwarových agentů:
Nákupčí agenti procházejí online zdroje (například internet), aby získali informace o zboží a službách. Tito agenti, známí také jako „nákupní roboti“, pracují velmi efektivně se spotřebním zbožím, jako jsou CD, knihy, elektronické součástky a další „univerzální“ produkty.
Uživatelští agenti (osobní)Uživatelé nebo osobní agenti jsou inteligentní agenti, kteří jednají vaším jménem. Tato kategorie zahrnuje inteligentní agenty, kteří již provádějí nebo budou provádět následující úkoly:
Monitorovací a sledovací agenti se používají k monitorování objektů a přenosu informací do zařízení, obvykle počítačových systémů. Agenti mohou sledovat stav zásob materiálů společnosti, sledovat ceny konkurentů a upozorňovat na ně společnost, analyzovat manipulace s akciemi na základě zasvěcených informací a fám atd.
Laboratoř tryskového pohonu NASA má například agenta, který monitoruje dostupnost a stav zařízení, plánuje objednávky na nákup nového vybavení za účelem optimalizace nákladů a monitoruje dostupnost potravin. Takoví agenti obvykle monitorují složité počítačové sítě a mohou monitorovat konfiguraci každého počítače připojeného k síti.
Specifické monitorovací a sledovací agenty jsou struktury agentů používané k modelování rozhodovacího procesu během taktických operací. Agenti sledují stav majetku (munice, zbraně, dopravní prostředky atd.) a dostávají cíle (příkazy) od agentů nejvyšší úrovně. Agenti dosahují cílů pomocí dostupných aktiv, minimalizují náklady na aktiva a zároveň maximalizují dosažení cíle [7] .
Agenti pro dolování a analýzu datTito agenti využívají informační technologie k hledání trendů a vzorců v množství informací z různých zdrojů. Uživatel může tyto informace třídit, aby si vybral přesně to, co hledá.
Agenti pro dolování a analýzu dat pracují v datovém skladu objevených informací. „Datový sklad“ sdružuje informace z mnoha různých zdrojů. „Data mining“ je proces prohlížení dat ve skladu za účelem nalezení takových informací, které lze použít k cíleným akcím, jako je zvýšení prodeje nebo udržení zákazníků, kteří zvažují odchod od konkurence.
Klasifikace je jedním z nejběžnějších typů dolování dat, který najde klíčová slova v informacích a poté je kategorizuje podle těchto klíčových slov. Agenti pro dolování dat a analytiku dokážou detekovat významné změny trendů v klíčových metrikách a mohou také detekovat a upozorňovat vás na nové informace. Agent může například detekovat pokles ve stavebním průmyslu ekonomiky. Stavební firmy budou moci na základě získaných informací činit rozumná rozhodnutí ohledně přijímání/propouštění zaměstnanců nebo nákupu/pronájmu zařízení, které bude nejlépe vyhovovat jejich firmám.
Dalšími příklady moderních chytrých agentů jsou některé spamové filtry, herní roboti a nástroje pro monitorování serverů. Roboti indexující vyhledávače jsou také považováni za inteligentní agenty.
Při vývoji systémů založených na agentech vyvstávají některé zajímavé otázky, jmenovitě:
Aby mohli softwaroví agenti spolupracovat a efektivně pracovat, musí sdílet sémantiku svých dat. To lze provést pomocí počítačových systémů k popisu jejich metadat .
Definici agenta lze zobrazit dvěma souvisejícími způsoby:
Systémoví agenti se používají k modelování systémů reálného světa s procesním počtem a paralelním zpracováním.
Agent používá své přístupové metody k přihlášení do lokálních a vzdálených databází při vyhledávání obsahu. Mezi takové způsoby přístupu patří zejména způsoby doručování novinek agentovi, čtení nástěnky nebo stahování stránek z internetu pomocí webového pavouka . Takto extrahovaný obsah lze částečně filtrovat – vybírají se novinky nebo informace z databází, které vyhovují vyhledávacímu dotazu. Agent pak může použít jazykové procesory k nalezení klíčových slov nebo identifikačních znaků vybraného obsahu. Tento abstrahovaný význam (nebo soubor událostí) je pak předán „myšlenkovému“ agentovi nebo inferenčnímu enginu, aby se rozhodl, co s novým obsahem udělat. Tento proces porovnává obsah s expertními daty nebo znalostní bází poskytnutou uživatelem. Pokud tento proces najde vhodnou shodu pro nový obsah, může agent použít své další schopnosti k provedení podrobnějšího vyhledávání obsahu. Nakonec může agent rozhodnout o povaze akce s novým obsahem: například poslat uživateli zprávu, že došlo k důležité události. Tato akce je zkontrolována bezpečnostním systémem a poté jsou uživateli udělena určitá práva. Agent používá k doručení této zprávy uživateli přístupovou metodu dostupnou uživateli. Pokud uživatel rychlou reakcí na upozornění potvrdí, že událost je důležitá, agent může tuto událost použít jako faktor učení ke zvýšení funkce váhy takových událostí.
Softwaroví agenti jsou samozřejmě inovativní technologií, která může koncovým uživatelům nabídnout velkou hodnotu tím, že automatizuje složité nebo opakující se úkoly [8] . Existuje však několik potenciálních organizačních a kulturních důsledků této technologie, které je třeba vzít v úvahu.
Organizační dopady jsou transformace celého odvětví e-commerce, provozní inovace, zvýšený tlak na bezpečnostní systémy. Softwaroví agenti mohou rychle prohledávat internet, najít nejlepší dostupné nabídky online a poskytnout tyto informace koncovým uživatelům pohodlným způsobem. Uživatelé tak nemusí ručně procházet mnoho stránek prodejců, agenti jsou schopni najít nejlepší nabídku během několika sekund. Zároveň zvyšuje cenovou konkurenci a přeměňuje celé odvětví elektronického obchodování na jednotný trh s bezchybnou konkurencí. Využívání agentů také vyžaduje dodatečné zdroje od společností, nová pracovní místa kvůli dodatečné zátěži jejich maloobchodních řetězců a nové bezpečnostní postupy.
Mezi kulturní důsledky zavedení softwarových agentů patří zničení nadějí, změna pracovních dovedností, zničení soukromí a vytvoření sociálního vyloučení. Někteří uživatelé se nemusí cítit dostatečně pohodlně s potřebou delegovat důležité funkce na softwarové aplikace. Ti, kteří se začnou spoléhat pouze na inteligentní agenty, mohou ztratit důležité dovednosti, například ty, které se týkají informační gramotnosti. Aby mohl softwarový agent jednat jménem uživatele, musí dokonale rozumět profilu uživatele, včetně jeho osobních preferencí. To zase může vést k nepředvídatelným důsledkům v otázkách důvěrnosti. Když se uživatelé začnou více spoléhat na své softwarové agenty, zejména pro komunikační aktivity, mohou ztratit kontakt s ostatními lidmi a vidět svět očima svých agentů. Právě tyto důsledky musí zvážit výzkumníci agentů a uživatelé zabývající se technologiemi inteligentních agentů [9] .