Veštačko-Inteligentni Agent je softver koji na neki način predstavlja u sebi činjenice o svetu koji poznaje i ima skup pravila ponašanja-zaključivanja po kome određuje svoje akcije. Agent ima ulaze (senzore), izlaze (aktuatore), predstavu stanja sveta (kolekcija znanja) i način ponašanja (skup pravila po kojima odlučuje šta će da radi). Senzori mogu biti fizički (temperatura, svetlo, slika…) ali i softverski (sadržaj na susednom polju na mapi). Isto tako i aktuatori – elektromotori, ali i funkcije koje će da pomere figuru sa mesta na mesto na mapi itd. Veštačko-inteligentni agent može biti hardverski robot ali i softverski bot koji nešto radi – protivnik u igrici, chatbot, itd.
Postoji više vrsta agenata, zavisno od toga kako su neki od ovih delova implementirani, i postoji više nivoa implementacije, pa imamo jako jednostavne ali i jako kompleksne veštačko inteligentne agente.
Jednostavni refleksni agenti zasnovani su na pravilima, nemaju predstavu stanja sveta. Funkcionišu tako što sa senzora-ulaza pokupe trenutno stanje, na osnovu pravila odrede šta treba da urade, i tu akciju prenesu na izlaze-aktuature. Interesantno je pomenuti da su domaći naučnici ranih 60ih uspešno simulirali ponašanje bubašvaba pomoću refleksnih agenata – buba se kreće ka senci, uz ivice itd.
Refleksni agenti zasnovani na modelu imaju internu predstavu sveta, tj.neki oblik memorije – pamćenje svojih prethodnih koraka i sl. Tako npr. agent može da pamti koja polja na mapi je već posetio, pa jedno od refleksnih pravila može biti “ako ispred mene nije zid i ako to polje nisam prethodno posetio idi napred”.
Agenti zasnovani na cilju pored memorije o činjenicama u svetu i znanja o pravilima po kojima svet funkcioniše, ovi agenti imaju i cilj pa u skladu sa ciljem mogu da izaberu koja od akcija je najpogodnija, odnosno koja će ih akcija od više mogućih u tom trenutku približiti cilju.
Agenti zasnovani na korisnosti kao cilj imaju maksimizaciju svoje korisnosti, po nekoj meri korisnosti.
Agenti koji uče mogu da izvode nova znanja na osnovu starih i na osnovu iskustva – mogu da primete nova pravila o funkcionisanju sveta (pokušao sam da idem napred na polje obojeno crveno i nisam uspeo, dakle kreiraću novo pravilo “ako je ispred mene crveno polje to polje nije prohodno”).
Sve ovo je dosta sažeto opisano, ali svakako daje osnov za dalje razumevanje. Jednostavna skica strukture agenta je na slici ispod. Vidimo da agent, u opštem slučaju, preko senzora percipira trenutno stanje sveta oko njega i smešta to u neki oblik baze znanja. Na osnovu znanja o svetu oko sebe i na osnovu pravila po kojima svet funkcioniše bot donosi odluku šta će sledeće da uradi. Tu odluku zatim prenosi na aktuatore i izvršava izabranu radnju.
Pravila po kojima svet funkcioniše mogu biti ugrađena u bota ili ih može “učiti” po pricipu probaj-pa šta bude, tj. bot može da izvodi pravila kao relacije trenutnog stanja sveta (znanja), izvršene akcije i stanja sveta nakon izvršene akcije. U suštini imamo “pre” i “posle” i radnju, i ako primetimo da postoji stalnost u tome kakve će posledice neka radnja da proizvede možemo da usvojimo to kao pravilo. To ne znači da bot razume svet i suštinu te radnje, tj. zašto se svet zaista menja tako kako se menja kada bot nešto uradi, ali je dovoljno da opazi da se svet uvek menja na isti način i da to usvoji kao pravilo po kome svet funkcioniše. Ovde leži prilično velika filozofska misao.
Na slici ispod je opšta šema strukture jednog agenta-bota.

Agenti zasnovani na znanju
Veštačko inteligentni agent zasnovan na znanju ima memoriju u kojoj održava tekuće znanje o svetu oko sebe (skup činjenica), rezonuje nad tim znanjem (skup pravila zaključivanja) i ažurira svoje znanje na osnovu primećenih efekata, i naravno vrši neke akcije. Ovakav agent može predstaviti znanje pomoću iskazne logike i ponašati se inteligentno.
Dva osnovna dela ovakvog agenta su:
- baza znanja i (knowledge base)
- sistem zaključivanja (inference system)