Teoreettinen osio
- Mikä on älykäs agentti?
- Älykkäiden tiedonhaun agenttien toimintaperiaatteita
- Agentit ja hakukoneet
- Älykkäiden agenttien kritiikkiä
1. Mikä on älykäs agentti?
'Agentti' -sanasta on tullut muotitermi, jota käytetään erityisesti Internet -ympäristössä melkein mistä tahansa. Oikeastaan agentti voi ollakin melkein mikä tahansa, termi 'agentti' tarkoittaa jotakin, joka tekee jonkin puolesta jonkin tehtävän. Demazeaun ja Mullerin (1990) [4.] mukaan agentti on älykäs kokonaisuus, joka toimii rationaalisesti ja tarkoituksellisesti ottaen huomioon tavoitteensa ja sen hetkisen tietämyksen tilansa. Agentti voi siis olla esimerkiksi ihminen, robotti tai tietokoneohjelma. Tekoälyn tutkimuksen yhteydessä agentilla tarkoitetaan yleensä joko fyysisiä agentteja eli robotteja, tai ohjelmistoja, software agents (käytetään myös mm. seuraavia nimityksiä; knowbots, softbots, sodabots, network agents, autonomous agents, mobile agents, eri nimitykset korostavat eri piirteitä). Tässä työssä älykkäillä agenteilla tarkoitetaan nimenomaan ei-fyysisiä tietokoneohjelmia. Vaikka usein pelkällä agentti -termillä tarkoitetaan nimenomaan älykästä agenttia, on huomattava ettei pelkkä agentti nimitys lupaa älykkäitä piirteitä ja tekoälyn menetelmien käyttöä. Puhuttaessa älykkäistä agenteista älykkyys ei tarkoita samanlaista älykkyyttä kuin ihmisillä on, erityisestikin kun senkään toimintaperiaatteet eivät ole täysin selvillä. Agenttien älykkyyttä kehitettäessä pyritään hyödyntämään tietoja ihmisälyn toiminnasta ja käyttämään sitä esimerkkinä, mutta laaja-alaiseen ja monitasoiseen ihmisälykkyyteen verrattavan tekoälyn luominen on utopiaa. Agenttien älykkyys on hyvin karkealla tasolla ihmisälykkyyteen verrattuna ja toimii parhaiten hyvin spesifeissä, vain suppeaa ymmärrystä ja päättelyä vaativissa tehtävissä.
On vaikea määritellä selvää rajaa, milloin jostakin ohjelmasta tulee älykäs agentti, ennemminkin voidaan puhua agenttiuden asteesta; ohjelmisto voi olla älykäs agentti tietynasteisesti. Puhuttaessa agenteista ei siis tarkoiteta useinkaan älykkäitä piirteitä sisältäviä agentteja, joskin käyttäjästä voi tuntua että agentti on älykäs agentti, jos se suorittaa tehtävänsä sujuvasti ja tehokkaasti. Agentin ja älykkään agentin eron voi määritellä älykkään agentin kyvyksi oppia, ja sen mukaan muotoilla tehtävän suorittamista, sopeutumista yllättäviin tilanteisiin, ja taidoksi kehittää itselleen, ja havaita ympäristössään tietämystä, jonka perusteella se voi suorittaa päättelyä ennalta arvaamattomissakin tilanteissa. [6.]
Mitä WWW:n älykkäät agentit sitten ovat? Siitä ei ole yhteisymmärrystä, älykkäistä agenteista on lukuisia kuvauksia, joissa painotetaan eri piirteitä, ja asetetaan erilaisia kriteerejä agenttiudelle ja älykkyydelle. Seuraavista kuvauksista voi päätellä mitä agentin odotetaan olevan; mitä piirteitä tietokoneohjelmassa tulisi olla jotta sitä voisi nimittää agentiksi tai älykkääksi agentiksi.
Woolridge & Jennings [28.]
Heikko kuvaus agenttiudesta: Agentti on autonominen, eli pystyy toimimaan ilman suoraa ohjausta, ja kykenee kontrolloimaan toimintojaan ja tilaansa. Agentti kykenee vuorovaikutukseen toisien agenttien kanssa. Se havainnoi ympäristöänsä ja reagoi siihen tarvittaessa, mutta ei toimi vain reagoidessaan ympäristön ärsykkeisiin, vaan osaa toimia myös oma-aloitteisesti.
Vahva kuvaus agenttiudesta: Ylläolevien piirteiden lisäksi agenttiin liitetään mentalistisia, ihmismäisiä ominaisuuksia, kuten tietämys, usko, intentio, jotkut agenttitutkijat puhuvat jopa tuntevista agenteista (emotional agents)Gilbert, IBM Agents [12.]
Älykäs agentti on ohjelmisto, joka avustaa ihmistä ja toimii hänen puolestaan. Agentti on autonominen, tavoitteeseensa pyrkivä ja reaktiivinen. Päästäkseen tavoitteeseensa agentit toimivat myös käyttäjän poissaollessa. Nämä piirteet esiintyvät Gilbertin mukaan aina agenteissa, näiden lisäksi voi agentit voivat olla sosiaalisia eli toimia agenttiyhteisössä, sekä oppivia ja/tai liikkuvia.
The Software Agents Mailing List FAQ [2.]
Älykäs agentti on ohjelmisto, joka suorittaa tehtäviä käyttäjänsä puolesta. Agenttiin liitetään seuraavia piirteitä: autonomisuus, pyrkimys tiettyyn päämäärään, yhteistyökykyisyys eli agentti kykenee "keskustelemaan" tehtävään liittyvistä seikoista, joustavuus, oma-aloitteisuus, liikkuvuus, sopeutuvuus eri olosuhteisiin, kyky kommunikoida sekä jatkuva toimivuus, ei vain reagointi tiettyihin käskyihin. Lisäksi mainitaan että agentilla tulee olla "luonne" tai persoonallisuus, eli jonkinlaisia mentalistisia piirteitä.
Franklin ja Graesser
Franklin ja Graesser kirjoituksessaan "Agent or Program" [10.] myöntävät, että agentin tarkka määrittely on mahdotonta, ja nykyinen termin käyttö on aivan liian laaja. Termi ei voi olla informatiivinen näin laajasti käytettynä. He ovat koonneet seuraavan agenttiluokittelun agenttien piirteiden perusteella. Heidän mukaansa jokaisella agentilla tulee olla neljä ensimmäistä ominaisuutta, eli reaktiivisuus, autonomisuus, päämäärähakuisuus sekä toiminnan jatkuvuus. Muita piirteitä löytyy agenteista, mutta niiden agenttiuteen ne eivät ole välttämättömiä Franklinin ja Graesserin mukaan.
OMINAISUUS MUITA NIMIÄ MERKITYS reaktiivinen havaitseminen ja reagoi oikeaan aikaan ympäristön toimiminen muutoksiin autonomisuus kontrolloi itse toimintojaan päämäärähakuinen tarkoitushakuinen, määrätietoinen ei ainoastaan reagoi ympäristöön ajallisesti jatkuva voi olla jatkuvasti toiminnassa kommunikatiivinen sosiaalinen kommunikoi toisten agenttien kanssa, socially able jopa ihmisten kanssa oppiva mukautuva muuttaa käyttäytymistään aiempaan adaptive kokemukseen perustuen liikkuva kykenee siirtämään itsensä koneesta toiseen joustava toiminnot eivät ole ennalta "käsikirjoitettu" luonne uskottava "persoonallisuus" ja emotionaalinen tilaFoner, Lenny
Agentti on ohjelma joka tekee halutun tehtävän, vain sen ja siihen tarvittavat toiminnot, eli agenttiin on voitava luottaa. Agentti oppii tai sitä voidaan opettaa suorittamaan tehtävänsä paremmin, ja agentti on autonominen, se suorittaa ainakin osan toiminnoista itsenäisesti ilman erillistä komentoa tai ilmoitusta käyttäjältä. [8.] Foner määrittelee agentin, eikä siis välttämättä älykästä agenttia.
Nwana, Hyacinth S. [21.]
Nwana luokittelee agentteja vastakkaisparien suhteen. Ensiksikin agentti voi olla liikkuva (mobile) tai staattinen. Toiseksi se voi olla keskusteleva (deliberative) tai reaktiivinen (reactive). Keskustelevilla agenteilla on jonkinlainen malli niitä ympäröivästä maailmasta, ja kykenevät kommunikoimaan käyttäjän ja toisten agenttien kanssa. Reaktiivisilla agenteilla taas ei ole mitään sisäistä mallia ympäristöstä, ja ne toimivat reagoimalla ympäristön antamiin ärsykkeisiin. Kolmanneksi agentit voidaan jaotella seuraavien käyttäytymispiirteiden mukaan : autonomisuus, oppimiskyky ja kyky tehdä yhteistyötä. Nwana kuitenkin lisää, etteivät nämä piirteet sinänsä vielä välttämättä muodosta agenttia, eivätkä niistä kaikki ole välttämättömiä agentille. Näiden kolmen piirteen avulla Nwana muodostaa kuvion, jonka leikkauskohtiin jääville alueille sijoittuvat agentit. Mitään mikä ei sijoitu näihin leikkauskohtiin, ei pitäisi kutsua agentiksi, eli hänen mukaansa ohjelman täytyy pitää sisällään ainakin kaksi mainittua käyttäytymispiirrettä ollakseen agentti. Keskelle sijoittuvat älykkäät agentit.
![]()
Kuva 1. Neljä agenttityyppiä. (Nwana 1996.)
Leikkauskohtiin jää neljäntyyppisiä agentteja: yhteistyökykyisiä agentteja (collaborative agents), oppivat, yhteistyökykyiset agentit (collaborative learning agents), käyttöliittymäagentit (interface agents) ja todelliset älykkäät agentit (smart agents). Hän kuitenkin hylkää tyypin 'collaborative learning agents', koska hänen mukaansa ei ole esimerkkejä agenteista, jotka oppivat ja ovat yhteistyökykyisiä, mutteivat autonomisia. Poimimalla vastakkaispareista mukaan reaktiivisen ja liikkuvan agentin, sekä ottamalla mukaan myös WWW- tai informaatioagentin sekä hybridiagentin, joka on usean agenttifilosofian sekoitus, Nwana kokoaa listaan seitsemän eri agenttityyppiä:
- yhteistyökykyiset agentit (collaborative agents)
- käyttöliittymä -agentit (interface agents)
- liikkuvat agentit (mobile agents)
- informaatio- tai internet agentit (information/Internet -agents)
- reaktiiviset agentit (reactive agents)
- hybridiagentit (hybrid agents)
- "todelliset" älykkäät agentit (smart agents)
Tätä agenttien tyypittelyä on käytetty apuna valittaessa arvioitavia agentteja, ja tyyppejä selvitetään enemmän arvioinnin yhteydessä.
Seuraavaksi on lueteltu erilaisia tiedonhaun tai -suodattamisen apuvälineitä, joita usein kutsutaan agenteiksi. Ne voivat olla erikoistuneita johonkin erikoisalaan (esim. kaupalliset sivut, uutiset, musiikki) tai erityiseen tyyppiin (esim. sähköpostiviestit tai -osoitteet, uutisryhmät). Tässä agentit on luokiteltu sen mukaan, mikä niiden tehtävä on ja miten ne sen suorittavat, ei niinkään sen agenttiteorian mukaan, mitä ne noudattavat. Rajat eri tyyppien välillä ovat häilyviä, ja monet näistä eivät yllä olevien määritelmien mukaan ole agentteja, tai ainakaan älykkäitä agentteja lainkaan. Tarkoituksena on osoittaa kuinka erilaisista ja eri tarkoituksiin tarkoitetuista ohjelmistoista käytetään nimitystä agentti.
- Search agents; tarkoittaa usein ns. tavallisia hakukoneita, kuten AltaVista, Infoseek tai Ihmemaa.
- Information Filters; suodattaa tulevaa informaatiota, esimerkiksi sähköpostiviestejä. Esimerkiksi Agent.
- Profiles; luovat profiilin käyttäjästä, usein valmiiksi luotujen kriteerien perusteella, ja hakevat profiilia vastaavaa tietoa joko oman valmiin indeksinsä kautta tai suoraan verkosta. Esimerkiksi Waldo.
- Offline Web Agents; ohjelmia, jotka hakevat sivuja verkosta oman koneen kovalevylle käyttäjän haluamasta paikasta sillä aikaa kun hän itse tekee muita asioita. Sivuja voi lukea myöhemmin rauhassa omalta kovalevyltään ilman yhteyttä verkkoon, ja säästää yhteysajassa [22.]. Esimerkkejä Freeloader, WebWhacker, WebEx ja Teleport Pro.
- Muuttuneesta tiedosta ilmoittavat agentit; ilmoittavat muutoksista halutuilla sivuilla, palvelimilla, tai bookmarkin linkeissä. Esimerkkejä URL-minder ja Tierra Highlights.
- Normaaleja hakukoneita hyödyntävät agentit; jalostavat useista hakukoneista yhtäaikaa haettuja tuloksia. Esimerkkejä WebFerret ja NetAttaché.
- "Pohjia" agenttien luomista varten; ohjelmia, joista voi muotoilla haluamansalaisen agentin joko itse ohjelmoimalla tai valitsemalla valmiista ohjelmistokirjastoista. Esimerkkejä Odyssey ja MacroBot.
Perustietoja älykkäistä agenteista
- The Software Agents Mailing List FAQ
- Franklin & Gaesser: Is it an Agent, or just a Program?
- Wooldridge & Jennings: Intelligent Agents: Theory and Practice
- Gilbert: Intelligent Agents: The Right Information at the Right Time
2. Älykkäiden tiedonhaun agenttien toimintaperiaatteita
Tarkastelen tässä yleisemmin käytettyjä menetelmiä, joiden avulla voidaan toteuttaa agenteissa älykkäinä pidettyjä piirteitä. Älykkyys tiedonhaun agenteissa voi tarkoittaa älykästä käyttöliittymää, jossa käyttäjän ja ohjelmiston vuorovaikutus on tehty mahdollisimman helpoksi ja varsinaiset tiedonhaun toiminnot on piilotettu käyttöliittymän taakse. Tällöin käyttäjä voi käyttää luonnollisen kielen hakulausetta, ja agentti joko karsimalla 'stopwordeiksi' luokitellut merkityksettömät sanat ja katkaisemalla loput perusmuotoihinsa alkaa täsmäyttämään jäljelle jääneitä termejä tietokannan sanoihin, tai agentti voi (tällöin todella sisältäen joitain älykkäitä piirteitä) päätellä jotain sanojen järjestyksestä, muodosta, läheisyydestä ja pyrkii löytämään haun sisältöä, ei välttämättä samoja termejä vastaavia dokumentteja. Käyttöliittymä voi myös pyrkiä esittämään löydetyt dokumentit/viitteet "älykkäämmin" yrittäen muodostaa sisällöstä tiivistelmää, ja pyrkien määrittelemään niiden relevanssia sisällön ja kontekstin avulla, ei mekaanisesti hakutermien määrän ja läheisyyden perusteella. Tällaisella agentilla voi olla oma, valmis tietokanta, tai se voi olla liikkuva.
Toisaalta älykkyys voi olla upotettuna itse tiedonhaun prosessiin, kun agentti lähtee etsimään tietoa joko omasta tietokannastaan tai muista, vieraista palvelimista. Tällöin älykkyys voi tarkoittaa sitä, että se päättelee dokumenttien sopivuuden hakulauseen, edellisten hakujen, relevanssipalautteen (mahdollisesti haun kuluessa annettavan) ja/tai käyttäjän selailun/kirjanmerkkien perusteella. Agentti voi myös oppia toisilta agenteilta käyttäjän palautteen ohella. Agentin, joka etsii tietoa vierailta palvelimilta, tulee sopeutua erilaisiin olosuhteisiin, oppia niistä, ja päätellä miten toimia eri tilanteissa.Edvard A. Fox [9.] kuvailee tietosysteemin älykkyyden seuraavien esimerkkien avulla. Tärkeimpinä piirteinä ovat toiminnan virheettömyys, ja oppiminen käyttäjän ja hänen toimintojensa perusteella. Fox määrittelee virheettömyyden tiedonhaun näkökulmasta olevan oikeanlaista sanojen täsmäyttämistä (ei katkaista sanaa liian paljon tai liian vähän), monenlaisten erikoismerkkien käyttömahdollisuutta (skandinaaviset kirjaimet, muut kuin kirjaimet), läheisten termien ymmärtämistä ja kaikenlaisten kielien käyttömahdollisuutta. Agentilta odotetaan mekaanisen sanojen täsmäyttämisen sijaan tai lisäksi käsitteiden ja kontekstin hahmottamista. Toisaalta agentilta odotetaan oppimiskykyä ja oma-aloitteisuutta. Agentin tulee, sen lisäksi että se reagoi annettuihin komentoihin, toimia itsenäisesti ja ehdottaa käyttäjälle eri toimintoja sen mukaan, miten käyttäjä on aiemmin toiminut. Agentin tulisi oppia eri tietoresurssien sijainnista verkossa, jotta se voi nopeuttaa ja tehostaa toimintaansa. Lisäksi tulokset tulee esittää käyttäjälle sopivassa muodossa.
Luonnollisen kielen käyttö ja prosessointi
Luonnollisen kielen käyttö ja prosessointi liittyy agenttiteknologiaan tiedonhaussa ainakin kahdella tavalla. Toinen on luonnollisen kielen käyttö hakulauseessa. Tällöin hakija voi kirjoittaa hakunsa luonnollisen kielen lauseena, esim. "tarvitsen tietoa saamen kulttuurista, erityisesti taiteesta". Älykäs, luonnollista kieltä ymmärtävä agentti pyrkii ymmärtämään haun merkityksen ja kontekstin, ja etsii tietoa sen perusteella, ei pelkästään yksittäisten termien perusteella. Toisaalta luonnollisen kielen prosessointia voitaisiin käyttää agentin käydessä läpi dokumentteja, jolloin se ymmärtäisi dokumentin sisällön ja asiayhteydet, ja osaisi tehdä siitä esimerkiksi tiivistelmän tiedonhakijalle. Luonnollisen kielen prosessointi voisi olla hyödyllinen esimerkiksi haun kääntämisessä eri kielille.
Kehitteillä on myös menetelmä, jolla voitaisiin upottaa tietämystä dokumenttiin niin, että agentti voisi hyödyntää sitä ymmärtääkseen dokumentin merkityksen ja kontekstin. Menetelmä on nimeltään SHOE, ja sen tarkoituksena on kehittää agentteihin perustuva arkkitehtuuri WWW:n tiedonhakuun. Älykkäät agentit toimivat Soboroffin [26.] mukaan Web -kirjastonhoitajina ymmärtäen dokumenttien semanttisen sisällön. Ne voivat etsiä, järjestää, päivittää näitä dokumentteja, ja tukea monimutkaisiakin hakuja kirjaston kokoelmaan. Eri kirjastonhoitaja -agentit voisivat vaihtaa ja jakaa tietoja toisten kirjastojen agenttien kanssa. Dokumenttien ylläpitäjien ja luojien tulisi lisätä dokumentteihinsa SHOE -kentät, joista agentit hakea tiedon, jonka perusteella dokumentin semanttinen sisältö voidaan ymmärtää. SHOE -tagit eivät ole normaaleja META -tageja, vaan ne ilmaisevat erilaisia suhteita ja tietämysrakenteita. SHOE -tagit upotetaan dokumenttiin, ne eivät kuitenkaan näy selaimessa. Tagien (eri tageja mm. attribute, category, relation) sisälle kirjoitetaan dokumentin, tai dokumentin osan olennaiset, kutakin tagia vastaavat termit.
Oppiminen
Agentti voi oppia ainakin neljällä tavalla. Ensiksi agentti voi tarkkailla käyttäjän toimintoja, ja kun jokin toiminto toistuu tarpeeksi monta kertaa, agentti oppii suorittamaan sen käyttäjän puolesta. Toiseksi agentti voi oppia käyttäjän antamasta, joko suorasta tai epäsuorasta palautteesta. Epäsuora palaute voi olla esim. agentin tarjoaman tiedon/toiminnon hylkääminen. Kolmanneksi agentille voidaan esittää esimerkkitapauksia, joita sen tulee käyttää toimintansa mallina. Neljäntenä mahdollisuutena on oppia toisilta agenteilta, jotka suorittavat samaa tehtävää. [17.] Oppiminen toteutetaan esimerkiksi neuroverkkotekniikalla.
Päättely
Agentti toimii yleensä ennalta ohjelmoitujen esimerkkien mukaan, mutta älykäs agentti päättelee sekä kokemustensa, toisilta agenteilta saadun tiedon että ympäristöstä tekemiensä havaintojen perusteella. Päättelyssään agentti käyttää usein sumeaa tai todennäköisyyslogiikkaa. Esimerkiksi etsiessään dokumentteja agentti voi päättelyssään sumeaa logiikkaa soveltamalla etsiä dokumentteja, jotka eivät termeiltään täysin vastaa hakutermejä, mutta ovat "sinne päin". Liikkuvan agentin on osattava toimia yllättävissäkin ympäristöissä ja tilanteissa, joita kaikkia ei voi ennalta ohjelmoida, ja pääteltävä miten eri tilanteissa olisi parasta toimia.
Agenttiyhteisöt
Marvin Minskyn [20.] mukaan yksi agentti ei voi olla älykäs, vaan tarvitaan useita eri tehtäviin ohjelmoituja agentteja, jotka yhdessä muodostavat älykkään yksikön. Minskyn mukaan myös ihmisaivot muodostuvat sinänsä yksinkertaisista agenteista, jotka yhteistoiminnallaan muodostavat älykkyyden. Agenttiyhteisö voi palvella yhtä käyttäjää, eri agenttien suorittaessa eri toimintoja ja kommunikoidessa keskenään. Toisaalta agentit voivat olla yhteistyössä toisten käyttäjien agenttien kanssa, ja oppia sekä vaihtaa tietoja niiden kanssa. Agenttien yhteistyössä tärkeää on löytää yhteinen kommunikointikieli, jolla agentit voivat vaihtaa tietoja olennaisista asioista. Tällä hetkellä kaksi keskeistä kommunikointikieltä ovat KQML ja FIPA:n spesifikaatio. Kielten vähäinen testaaminen käytössä, turvallisuusongelmat ja kehittymätön semantiikka ovat kuitenkin vielä näiden kielten ongelmia. [16.]
Agenttiyhteisöjä tutkittaessa on toisinaan pyritty soveltamaan teorioita tekoelämästä (Artificial life), tällaiset agentit kilpailisivat toistensa kanssa "ruuasta" ja muista resursseista, vahvimmat voisivat muodostaa "lapsiagentteja" ja heikoimmat, jotka eivät menesty tehtävässään, kuolevat pikkuhiljaa pois. Eli jotkut tutkijat uskovat evoluution (artificial evolution) kehittävän agenttimaailmoissakin toimivimmat agentit. Agenttien kommunikoinnissa ja yhteistoiminnassa olevat ongelmat siirtänevät kuitenkin tämän skenaarion tulevaisuuteen. [19.]
3. Agentit ja hakukoneet
Agentit ja hakukoneet
Internetistä löytyviä hakukoneita sanotaan toisinaan agenteiksi, ja agentin laajan määritelmän mukaan ne ovatkin. Jos kuitenkin halutaan supistaa agentit ohjelmistoryhmäksi, joka toimii autonomisesti, ehkä "älykkäästikin", hakukoneita ei voi luokitella agenteiksi. Björn Hermans [15.] on tutkimuksessaan koonnut hakukoneita ja agentteja erottavia piirteitä. Tosin kaikki hänen löytämänsä piirteet eivät selvennä eroa, hakukoneistakin löytyy entistä enemmän "fiksuja" piirteitä, kuten esim. haku käsitteiden, ei pelkkien hakusanojen perusteella. Seuraavaan taulukkoon on koottu Hermansin jaottelu.
Hakukoneen piirre: Parannus, jonka agentti voi tarjota: Viitteitä haetaan käyttäjän antamien hakusanojen perusteella, jos käyttäjä ei ole löytänyt sopivia hakusanoja, tulokset ovat huonot. Agentit hakevat tietoa käsitteiden, ei pelkkien hakusanojen perusteella. Agentit voivat jopa muotoilla hakua, esimerkiksi käyttäjän toiminnasta oppimiensa mallien mukaan. Tieto kerätään tietokantaan suoraan saatavilla olevista dokumenteista, ja tämä aiheuttaa ruuhkaa verkkoon, vie aikaa ja on tehotonta. Agentti luo tietämyskannan saatavilla olevista tietoresursseista, päivittäen ja muutaen sitä toimintansa ja tuloksien mukaan. Agentit löytävät tiedon silloinkin, kun se on siirretty toiseen paikkaan. Lisäksi agentit voivat tulevaisuudessa kommunikoida keskenään, ja saada näin tietoa sopivista resurssilähteistä. Tiedonhaku on rajoitettu usein vain WWW -sivujen hakuun. Käyttäjän tarvitsee huolehtia vain mitä tietoa haetaan, ei siitä mistä sitä haetaan, ja agentti huolehtii eri protokollat. Hakukoneet voivat olla ruuhkautuneita tai muuten poissa käytöstä. Koska agentti on yleensä käyttäjän omalla koneella, se on aina käytettävissä. Dokumentista ei tietoa indeksoitaessa eroteta käsitteitä, vaan yksittäiset sanat, jotka irrotetaan asiayhteydestä. Agentit etsivät tietoa käsitteiden ja kontekstin perusteella. Hakukoneet ja indeksointirobotit eivät pysy muutoksien perässä, usein tuloksissa on vanhoja tai toimimattomia linkkejä. Agentit voivat sopeuttaa itsensä käyttäjänsä mieltymysten ja toiveiden mukaan. Ne voivat jatkuvasti käydä läpi Internetin materiaalia ja etsiä käyttäjän toivomaa, ajankohtaista tietoa. Taulukossa kuvatunlainen agentti on lähinnä ideaali, eivätkä hakukoneiden ja agenttien erot ole näin räikeitä. Molemmilla on oma sijansa tiedonhaun apuna, ja hakukoneita pyritään kehittämään jatkuvasti entistä paremmiksi, mm. ääni- ja kuvatiedostojen hakuun, tai kuvailemalla valikoituja linkkejä. Internet on tietovarantoineen yhtä iso sekä indeksointiroboteille että agenteille, vaikkakin agenttien reaaliaikainen haku verkosta, mahdollinen oppiminen ja sisältöjen hahmottaminen voi tehdä agentista tehokkaamman, ja korvata hakukoneen käyttöä.
4. Älykkäiden agenttien kritiikkiä
Charles J. Petrie kirjoittaa IEEE Expert -lehden artikkelissa [23.] kahdesta yleisimmin agenttejä määrittävistä termeistä 'älykäs' ja 'autonominen'. Hän kritisoi älykäs agentti -käsitettä siitä, ettei agentin älykkyydelle ole yhtään selkeää määritelmää, joka erottaisi sen selvästi tavallisista ohjelmista tai muista 'älykkäistä' sovelluksista. Hän kirjoittaa myös, ettei älykkään agentin kehitteleminen sinänsä ole järkevää, agenttien kehittelijät vain toivovat että tehtävä, jota tekemään agentti ohjelmoidaan, on niin vaativa että ohjelmaa pidettäisiin sen ansiosta älykkäänä. Hän pitääkin parempana erottaa agentti muista ohjelmista autonomisuutensa, ei älykkyytensä perusteella. Autonomisuuden käsitekään ei kuitenkaan ole selvä, raja on hyvin häilyvä myös autonomisuuden suhteen. Petrien mielipide on, että 'älykäs/autonominen agentti' on termi, jolla ei ainakaan vielä ole käyttöä WWW:ssä ja käytännön sovelluksissa, vaan se tulisi jättää tutkimuskirjallisuuteen. IEEE Internet Computing -lehdessä Petrie jatkaa kritiikkiään. [24.] Hän kuvaa älykkäiden agenttien tutkimuksen alkaneen, jotta tekoälyn tutkimus nousisi aallonpohjastaan, jonne se oli joutunut liian suurien lupausten ja liian vähäisten tulosten vuoksi. Tekoälyn tutkimus sai taas yleisön mielenkiinnon (ja lisää rahaa tutkimukseen), kun tutkijat kertoivat pyrkivänsä jäljittelemään ihmisten älykkyyttä ja ajattelua. Älykästä agenttia ei ole missään määritelty selvästi ja yksiselitteisesti, vaan termi kuvaa ainoastaan käyttäjien unelmaa jostain ohjelmasta, joka ratkaisisi esim. tiedonhaun ongelmia. Älykäs agentti -teknologiaakaan ei sinänsä ole, vaan jo käytössä olevia tekniikoita ja keinoja tulisi kehittää edelleen, kutsuttakoon niitä sitten älykkäämmiksi kuin entisiä ohjelmia, tai ei.
Hermans [15.] on koonnut kriittisiä näkemyksiä agenttiteknologiasta:
- AI -tutkimus ei ole menestynyt toivotulla tavalla ja agenttitutkimus on yritys paeta epäonnistumisia
- kaikki, mitä nimitetään agentiksi, myy hyvin, sekä kaupallisena sovelluksena että tutkimuksena
- useimmilla nykyisistä agenteista ei ole mitenkään kehittynyt tai kompleksinen arkkitehtuuri, ja monet ihmettelevät, mikä tekee niistä älykkäitä
- se mitä nykyisin tehdään agenttiteknologian avulla, voitaisiin aivan yhtälailla tehdä perinteisiä tekniikoita kehittämällä ja hyödyntämällä.
Liikkuvuutta (mobility) pidetään olennaisena agenttiuden kriteerinä, mutta sen pelätään myös aiheuttavan turvallisuusongelmia. Agentti voi levittää viiruksia, sekoittaa palvelimen toimintaa, käyttäjän tietosuoja voi heikentyä, jos agentin tietoja ei ole suojattu tarpeeksi hyvin, ja verkko kuormittuu. Palvelimen ylläpitäjän on voitava saada selville henkilö, jolle agentti suorittaa tehtävää, ja agentin on osattava lopettaa toimintansa, jos esim. palvelin kaatuu. Lisäksi agentin tulee noudattaa tiedostoja, joissa toivotaan robottien (agenttien voidaan katsoa kuuluvan samaan ryhmään) pysyvän poissa tietyltä palvelimelta tai tiedostoista. [14.]