Ze względu na brak standardów nie ma zgodności co do definicji agenta. Możemy jednak zdefiniować agenta jako jednostkę, działającą w pewnym środowisku, zdolną do komunikowania się, monitorowania swego otoczenia i podejmowania autonomicznych decyzji, aby osiągnąć cele określone podczas jej projektowania lub działania.
Agent powinien charakteryzować się następującymi cechami:
komunikatywnością (umiejętność komunikacji z innymi agentami i użytkownikiem),
percepcją (zdolność do postrzegania i reagowania na zmiany środowiska)
Dodatkową często wykorzystywana cechą jest mobilność.
Inne popularne cechy agenta:
zdolność do wykorzystywania wiedzy
tolerancyjność na błędy, złe wejścia (input)
zdolność do używania symboli a abstrakcji
zdolność do adaptacji w celu osiągnięcia celu
zdolność do uczenia się
zdloność do przeprowadzania operacji w czasie rzeczywistym
zdolność do komunikacji w języku naturalnym
Rodzaje agentów
Można wyróżnić kilka rodzajów agentów ze względu na sposób: spostrzegania otoczenia, ingerencji w środowisko, podejmowania decyzji:
Agenci reaktywni,
Agenci intencjonalni,
Agenci socjalni
Istnieją dwa podejścia do tworzenia systemów opartych na agentach programowych: wykorzystanie pojedynczego agenta lub stworzenie systemu wieloagentowego
Podział ze względu na przeznaczenie i reakcje użytkowników
1. Agenci zarządzający informacją - mają na celu wspomaganie użytkownika. Jednym z przykładów jest âspinacz-doradcaâ w programie MicrosoftWord
Agenci zarządzający pocztą elektroniczną - agenci filtrują i sortują poczte użytkonika, odpowiadają na standartowe zapytania itp.
Agenci zarządzający organizacją dnia - świadczą pomoc użytkownikowi w organizowaniu planu dnia. Ten typ agentów to asystenci, np. 'spinacz' w MS Word. Taki agent potrafi wykonywać bardziej skomplikowane cele niż awatar i ma znacznie większą swobodę. Niekiedy tego radzaju agenci nazywani są 'agentami interfejsu'.
Agenci dostarczający zindywidualizowanych informacji - są odpowiedzialne za filtrowanie i selekcje informacji
Agenci monitorujący lub zarządzający - klasa agentów odpowiedzialna za monitorowanie zachodzących zjawisk i ew. podejmowanie działań w imieniu użytkownika. W tej klasie zawierają się agenci aktorzy - w niewielkim stopniu zależni i kontrolowani przez człowieka, np. bot w kanale IRCowym, jak i agenci awatary - będący bezpośrednią reprezentacją użytkownika w cyberprzestrzeni, np. w chatroomach czy na IRCu. Tacy agentci wykonują wszystko co każe mu użytkownik i ma bardzo ograniczoną swobodę.
2. Agenci w systemach rozproszonych
Agenci poszukujący informacji - agenci poszukujący dla użytkownika ściśle określonej informacji
Agenci przeszukujący Internet - przeszukują Internet, aby odnaleść różnorodną informacje potrzebną użytkownikowi
Agenci e-biznesu i m-biznesu - agenci funkcjonujący w handlu internetowym
Agenci zarządzający siecią - agenci służący do: np. zarządzania aktualizacją oprogramowania lub wykrywania ataków
3. Agenci w modelowaniu systemów złożonych
Agenci modelujący negocjacje cenowych - agenci wykorzystywani w handlu elektronicznym
Stanisław Stanek, Marcin Mazur, Bogdan Sadecki, Zastosowanie kreatywnego agenta oprogramowania w module giełdowym IKGSWI wspomagającym inwestycje kapitałowe, Systemy Wspomagania Organizacji SWO'2004, Katowice
Marcin Paprzycki, Agenci programowi jako metodologia tworzenia oprogramowania, Computer Science Department, Oklahoma State University, Tulsa, OK 74106 USA