Programvareagent

**Programvareagent** brukes om dataprogrammer med noen spesielle egenskaper. En agent er per definisjon en entitet som handler autonomt eller semi-autonomt. Det betyr at en agent kan handle på egen hånd og trenger ikke til enhver tid å være styrt av kommandoer utenifra. Typisk for en programvareagent er at den har et eget snevert arbeidsområde og et sett med begrensede oppgaver. Agenten venter ofte på kjørekommandoer fra andre agenter, kommandoer fra datamaskinbrukeren eller på at forholdene skal ligge til rette for at den skal utføre en av sine oppgaver.

Agenter kan enten operere alene eller samhandle med andre agenter. Om systemer der flere agenter jobber sammen bruker man ofte uttrykket distribuert kunstig intelligens. En agent kan ha sitt begrensede bruksområde, mens et system av agenter kan betjene større oppgaver og tjene et felles mål. Noen forskere mener at den menneskelige hjernen er bygget opp på samme måte, at hjernen består av tusenvis eller millionvis av små agenter som virker parallelt. Hvis denne skolen holder, vil det være mulig å fremstille kunstig intelligens ved hjelp av agentsystemer.

Det finnes eksempler på miljøer der flere tusen programvareagenter jobber sammen om en felles oppgave. For eksempel har NASA gjort forsøk der satellitter er driftet i helhet av agenter.

Programvareagenter kan for eksempel kjøres som tjenester («services» i Windows) eller cron-jobber (i Linux). De kan også operere innen egne tilrettelagte kjøremiljøer. Agenter kan være utformet med sammensatte egenskaper fra en eller flere av disse kategoriene:
* intelligente agenter basert på teori og teknikker innen kunstig intelligens,
* autonome agenter som kan starte nye oppgaver på egen hånd,
* mobile agenter som kan serialisere seg selv og installere replikaer av seg selv i andre miljø,
* distribuerte agenter som er utformet til å fungere i et distribuert miljø,
* samarbeidende agenter som krever et miljø av flere agenter for å fungere,
* lærende agenter.

## Bruksområder
Agenter er en spennende tilnærming til den stadig økende mengden av tjenester og data som omgir oss. Mobiltelefoner, håndholdte enheter og selv vanlige stue-pc-er kan ha problemer med å takle den enorme datamengden som finnes på internett. Derfor har man i over 20 år beskrevet hjelpeprogrammer for pc-brukeren. Apple beskriver allerede i 1988 i videoen *Knowledge Navigator* et slikt system. Brukeren har en agent som behandler lynmeldinger (IM) en agent som behandler e-post, en presentasjonsagent osv. Disse kan samarbeide og automatisk sende svar tilbake i form av e-post, telefon osv.

## Historie

I Norge har Telenors forskningsavdeling og Universitetet i Tromsø vært ledende i Agentforskning. Blant annet har MIT knyttet Telenors forskning tett til sitt bryst når det gjelder overvåkning av sauer ved hjelp av agenter.

Teknikken ser ut til å ha opplevd en god hype eller medieinteresse på midten av 90-tallet, men etter nedgangen i IT-bransjen på begynnelsen av dette milleniet har stadig flere forskningsmiljøer lagt ned sine satsninger på agenter. Agenter har vært teknikken som "viser-deg-hva-du-har-i-kjøleskapet", noe flere teknologier har lovet både før og etter agentenes opptur for ti år siden.

I dag er fokus flyttet mer over på det å tilby informasjon enn å hente den selv. Agenter som typisk ble brukt som vevkravlere («web crawlers») og for å hente data på nett har nå fått hard konkurranse fra vevtjenester («web services»), RSS foring («RSS feed»), XML og andre distribusjonskanaler.

## Standarder

Det finnes flere standarder verdt å ta en titt på:
* FIPA
* JADE