Gestimuleerd door de stormachtige ontwikkeling van World Wide Web op Internet is het begrip agent ontwikkeld: een programma dat allerhande elektronische diensten in een netwerk kan verrichten. ‘Agents’ kunnen veel nuttige functies vervullen, zowel voor individuele gebruikers als voor bedrijven, zo blijkt uit een interview met drs R.A.M. Meijer, senior onderzoeker en adviseur bij het TNO Studiecentrum voor Technologie en Beleid te Apeldoorn.
Agents bestaan al lange tijd. Het zijn programma’s die op bevel van een gebruiker of besturingssysteem bepaalde taken verrichten, meestal in een netwerk. In het Osi-model (Open Systems Interconnection) bijvoorbeeld wordt een agent gebruikt voor het beheer van de managed objects in een netwerk. Andere bekende voorbeelden zijn de broker (makelaar) in Corba (Common Object Request Broker Architecture) van OMG (Object Management Group) en de MTA (Message Transfer Agent) in X.400. Volgens overlevering is het agent-idee ooit in een laboratorium ontstaan, om fouten in een complex netwerk op te speuren.
De belangstelling voor agents is het afgelopen jaar enorm toegenomen. De inzet ervan in verband met netwerken speelt een rol, maar het gaat specifiek om het gebruik ervan voor World Wide Web op Internet. De groei van www en daardoor van het probleem om specifieke informatie te zoeken is één van de stimulansen voor de interesse, maar er zijn ook andere redenen, zo bleek tijdens een workshop die TNO april dit jaar organiseerde.
Drs R.A.M. Meijer, senior onderzoeker en adviseur bij het TNO Studiecentrum voor Technologie en Beleid te Apeldoorn: "Als studiecentrum hebben we een brede belangstelling, zeker voor alle nieuwigheden op Internet. Het blijkt dat agents veel nuttige functies kunnen vervullen, zowel voor individuele gebruikers als voor bedrijven. TNO is opgezet als intermediair om nieuwe technologieën in Nederland te introduceren, maar daarnaast verrichten wij ook veel werk in opdracht van bedrijven. De workshop was ondermeer bedoeld als acquisitie."
Classificatie
Het begrip ‘agent’ is nogal vaag en omvat zeer veel verschillende ideeën, zo vertelde Meijer tijdens de workshop. Waarom gebruikt men dan toch één naam? "Dat zijn modewoorden die in zwang komen en daar sluit iedereen zich dan bij aan", zegt Meijer. "In ons rapport staat een typologie van agenten: speurende (die op zoek gaan naar bepaalde informatie en het gevondene samenvatten en presenteren), lerende (die zich automatisch aanpassen aan de gebruiker), winkelende (die elektronische winkels afschuimen op zoek naar de goedkoopste prijzen voor een bepaald produkt), informatiezoekende (die gericht kunnen zoeken in Internet) en helpende (die problemen in een netwerk vinden en verhelpen). Deze typen functies zijn heel goed te combineren en daarom is er geen eenvoudige functie-typologie te maken."
Een in 1994 verschenen Ovum-rapport over intelligente agents geeft als toepassingsindeling: messaging (e-mail), pda’s (personal digital assistants), gebruikers-interface, desktop-business (elektronische handel), werkstroom/groupware, netwerkbeheer, informatie verzamelen en taak-automatisering. Er zijn dus vele manieren om de toepassingen van agents te classificeren.
Voor de implementatie van agents bestaan verschillende mogelijkheden. In de client/server-terminologie kan de client een agent sturen naar de server. Deze werkt daar de opdracht af en brengt het resultaat terug naar de client. Een andere mogelijkheid is de aanwezigheid van een tegenhanger in de server. In de server ontstaat dan een dialoog tussen de client- en de server-agent (met mogelijk tussentijdse raadpleging van de client/gebruiker), waarna de client-agent de opdracht vervuld verklaart. Een ander alternatief is dat er een agent vanuit de server naar de client komt, bijvoorbeeld in de vorm van een Java-applet (een toepassingsprogramma geschreven in de Java-taal van Sun). In een vierde vorm is de agent uitsluitend in de client werkzaam, bijvoorbeeld om e-mail te sorteren op urgentie of om de gebruiker te helpen bij het leren van de werking van een bepaald programma. Ook de implementatie biedt dus weinig aanknopingspunten voor een classificatie.
Communicerende objecten
In principe is er weinig verschil tussen agents, client/server en object-oriëntatie – het gaat allemaal over communicerende objecten. Tegenwoordig spreekt men vooral over ‘intelligente agents’ – een nieuw concept of alleen een nieuwe naam?
"In al deze min of meer nieuwe technieken gaat het om dezelfde opzet; de grenzen zijn meer emotioneel dan rationeel", aldus Meijer. "Bij intelligente agents ligt de nadruk op vijf kenmerken: autonomie – het programma heeft een grote mate van autonomie en/of beslissingsbevoegdheid; intelligentie – het programma kan zich aanpassen aan de omgeving of de gebruiker; mobiliteit – veel agents kunnen zich door het netwerk verplaatsen; communicatie – protocollen voor communicatie en onderhandelen met andere partijen; en betrouwbaarheid – de agent moet voldoende betrouwbaar gevonden worden voor de opgedragen taken."
Al deze functies veronderstellen communicatie met andere objecten en toepassingen. Dat vereist dat protocollen van te voren zijn afgesproken of genormeerd (bedrijfsnormen als met Java en Telescript of formele normen als in Osi en Corba). Wat voor normen worden gebruikt? Meijer: "Ook dat is nog niet uitgekristalliseerd, en misschien zal dat wel nooit gebeuren. Ik beschouw agents voornamelijk als maatwerk, en daarbij zijn normen niet strikt nodig. Universeel gebruik van agents ligt nog in de verre toekomst, voor zover ik het kan bekijken. Voor universeel gebruik moet men niet alleen de taal, bijvoorbeeld Java, maar ook de gedetailleerde communicatieprotocollen vastleggen. Hiervoor verschillen de toepassingen te veel."
Bij normen speelt daarnaast het probleem van de juiste timing, zo stelt Meijer. Als men te vroeg normeert, ontwikkelt de techniek zich verder en zal de norm niet gebruikt worden (dit zou nu al een probleem geven vanwege de snel opeenvolgende versies van Html, hypertext markup language, en Java). Als men te laat normeert, blijft de de facto norm in gebruik (iedereen gebruikt TCP/IP, niet Osi).
Het vertrouwen
Meijer demonstreert Firefly en Bargainfinder als voorbeelden van geavanceerde agents. Firefly is een agent van een intermediaire organisatie op www en hij helpt bij het kiezen van CD’s. Via een browser gaat de gebruiker naar de Firefly www-site. Na invoering van naam en wachtwoord krijgt hij toegang tot de site. Via de interface kan hij: zien welke CD’s van een bepaalde artiest beschikbaar zijn, met winkelpersoneel ‘praten’ en (met een multimedia PC) een stukje muziek horen van een geselecteerde CD. Hij kan ook om een aanbeveling vragen. De intermediaire agent bepaalt die aan de hand van de smaak van de gebruiker. De smaken en keuzes van voorgangers leiden tot een aanbeveling van muziek die de gebruiker, statistisch gezien, waarschijnlijk leuk vindt.
Via Bargainfinder kan hij vervolgens de intermediaire agent laten uitzoeken waar hij de geselecteerde CD zo goedkoop mogelijk kan bestellen. De prijsinformatie wordt via www online opgevraagd en gepresenteerd. Na keuze van een winkel volgt de bestelling per creditcard, waarbij deze gevoelige informatie versleuteld wordt verstuurd. Trots laat Meijer het doosje zien van een op deze manier gekochte CD.
De werking van Firefly en Bargainfinder is waarschijnlijk slechts een voorproefje van wat gaat komen. Communicatie is al gangbaar op www, maar agent-programma’s kunnen van alles overnemen, dingen beslissen en zaken veranderen in de PC van de gebruiker. Meijer: "Daarom moeten er goede afspraken zijn over wat de agents doen. De technologie ontwikkelt zich snel – die vormt dus geen obstakel. Wel de regulering, de beveiliging en de ontwikkeling van het begrip van de betekenis van agents voor mensen. Echt verschil tussen een agent en een virus is er nauwelijks; dat verschil ligt vooral in de goede of slechte bedoelingen. Net als tussen mensen is het vertrouwen dat een gebruiker in een agent heeft van wezenlijk belang. Tijdens de workshop zei iemand dat hij een agent alleen dingen zou laten doen die hij ook aan zijn buurman zou vragen – dat vond ik een goede omschrijving." I. Asimov formuleerde in 1950 wetten voor het gebruik van (elektromechanische) robots, waaronder de wet dat ze nooit een mens mogen verwonden. Dergelijke regels kunnen ook nuttig zijn voor het ontwerp en gebruik van agents.
De beveiliging
In dit licht is het vreemd dat het Ovum-rapport over intelligente agents nauwelijks het probleem van de beveiliging aanvoert, terwijl dat toch essentieel lijkt. Is het mogelijk om op een veilige manier met agents te werken? Meijer: "Ik denk dat het mogelijk is, mits de essentiële informatie maar versleuteld wordt verzonden; voor het passief presenteren van informatie is dat onnodig. Het Ovum-rapport stamt overigens uit 1994 en dat is gezien de snelheid van de huidige ontwikkelingen lang geleden: het Web was toen nog maar net aan zijn opmars begonnen."
"Overigens geloof ik dat agents vooral toepassing zullen vinden in intranetten: bedrijfsimplementaties van Internet met veilige verbindingen. In zo’n intranet is de beveiliging veel beter te beheersen en kun je specifieker agents inschakelen. Bedrijven werken intern met beveiligde verbindingen. Alle acties en transacties zijn te traceren en de toegang tot bestanden is geregeld, zodat de kans op insluipers en virussen kleiner is. Door een gerichte keuze van protocollen, programmeertalen en systeemomgevingen kunnen agents specifieker worden gemaakt en daardoor effectiever werken. Generieke agents zullen moeilijker te beveiligen zijn."
Uit het themanummer over intelligente agents van Communications of the ACM blijkt dat de AI-wereld (artificial intelligence) zich massaal op het onderzoeken van agents heeft gestort. Alle AI-thema’s, zoals leren, onderrichten en menselijke uitingen als natuurlijke taal, komen in dat themanummer aan bod. Na kennis-gebaseerde engineering spreekt men nu ook over agent-gebaseerde software-engineering, de rol van emotie in gelovenswaardige agents en hoe agents zullen denken over mensen. "Ik denk dat dit de afspiegeling is van het feit dat intelligente agents nog maar aan het prille begin van hun ontwikkeling staan", zegt Meijer. "De verhouding tussen een gebruiker en zijn agents is van cruciaal belang voor het vertrouwen dat mensen in die agents zullen hebben. Daarvoor moet nog veel werk gedaan worden. Het is dus helemaal niet zo slecht dat ook AI-mensen zich daarmee bemoeien."
Meijer is enthousiast over het leren begrijpen van de smaak van gebruikers via Firefly, maar geeft toe dat dit gebeurt door middel van een vast statistisch algoritme op basis van een zich uitbreidende database. Mensen kunnen heel goed algoritmen ontwikkelen, maar zijn meestal niet in staat grote hoeveelheden gegevens statistisch te verwerken.
Geïnterpreteerde talen
Welke talen worden gebruikt voor het programmeren van agents? Meijer: "Het bekendste nieuwe voorbeeld is Java van Sun Microsystems, dat door vrijwel iedereen in licentie is genomen, inclusief Netscape, IBM en Microsoft. Verder worden C++ en Html gebruikt, naast andere talen. Martin Healey schreef onlangs dat hij verwacht dat Microsoft zelf een nieuwe taal zal ontwikkelen en voorzieningen daarvoor in zijn besturingssystemen zal opnemen. Als dat inderdaad doorgaat en ze doen het op een goede manier, zal dit voor een omwenteling op het gebied van bedrijven rond agents zorgen."
Er is een trend naar zogenaamde geïnterpreteerde talen. Dat wil zeggen dat de broncode van een agent-programma direct – zonder voorafgaande compilatie – wordt verzonden en uitgevoerd. Dit vereist dat in de gebruikte systeem-omgeving een interpreter beschikbaar is. Microsoft heeft inmiddels aangekondigd dat het een compiler voor het gebruik van Java onder Windows gaat leveren, om de uitvoering van applets te versnellen.
Wat voor soort bedrijven houdt zich bezig met het ontwikkelen van agents? Meijer: "Het bedrijf dat zich hier al vijf jaar mee bezighoudt is General Magic van Marc Porat. Zij hebben daarvoor de taal Telescript ontwikkeld, en het concept van een speciale netwerkdienst, die beide zeer geavanceerd zijn. AT&T zal echter Personalink, de dienst hiervoor die anderhalf jaar geleden in gebruik is genomen, binnenkort beëindigen wegens gebrek aan belangstelling. Zo vergaat het veel pioniers, helaas. Ik heb gelezen dat het zijn kennis en expertise nu op Internet zal richten. Zeer actief bij het ontwikkelen van agents is Andersen Consulting (zie: http://www.ac.com/). En verder zijn er allerlei zoekdiensten op Internet, zoals Altavista (van Digital) en Yahoo!; de laatste is onlangs met succes naar de beurs gegaan. De agents van deze zoekdiensten speuren dagelijks het net af om een index te bouwen voor Internet-gebruikers; die bedrijven verdienen hun geld door het meesturen van reclameboodschappen."
‘Nederland Distributieland’
Op dit moment staart iedereen zich blind op www. Er bestaan echter ook andere mogelijkheden. Meijer: "Het Web heeft voordelen omdat iedereen zich nu daarmee bezighoudt, maar het zal niet de meest optimale gebruikers-interface blijken te zijn. Ik denk bijvoorbeeld aan Vemmi (Videotex Enhanced Multimedia Interface), dat recent door de Fransen is ontwikkeld voor hun Minitel (en voor het Web). Het Franse videotex-systeem is erg populair geworden in Frankrijk omdat de Franse PTT de toestellen gratis verstrekte, maar de snelheid (1200/75 bit/s) en de grafische voorzieningen zijn allang verouderd. Het nieuwe systeem werkt sneller, heeft een heel aantrekkelijke gebruikers-interface en bezit een grotere functionaliteit."
Meijer heeft enige tijd als interim-manager gewerkt bij Videotex Nederland en ziet wel wat in een nieuw soort videotex. Hij noemt als voordeel van videotex boven www dat de communicatie blijft doorgaan terwijl de gebruiker het beeldscherm leest of inactief is; dit kan de wachttijd op nieuwe informatie verkleinen. Op www is er dan alleen een verbinding met de toegangsleverancier, en niet met Web-sites.
De meeste software, ook voor agents, komt uit de Verenigde Staten. Het initiatief van TNO voor de workshop is nuttig, maar eenmalig. Agents lijken een belangrijke ontwikkeling te worden, vooral voor elektronische handel. ‘Nederland Distributieland’ zou daar een rol in moeten spelen. Wat moet er gebeuren om de rol van Nederland te versterken – een nationaal platform ter bevordering van agents? Meijer: "Dat zou zeker nuttig zijn, maar omdat agents zo’n vaag begrip vormen, is dat waarschijnlijk moeilijk te realiseren. Het is geen produkt, het loopt door alle industrietakken heen, enzovoort. Het probleem is dan om zo’n platform te financieren. Agents zijn bedreigend voor Nederland, omdat ze de mondialisering van de handel bevorderen en dus bedrijvigheid kunnen weghalen. Maar wie zijn de klanten voor agents die zo’n platform zouden willen financieren? Mede omdat er zoveel partijen zijn, zal het erg ingewikkeld zijn om zoiets van de grond te krijgen." Hoewel TNO een algemene, door de overheid gesubsidieerde stimuleringsfunctie heeft, is het in toenemende mate aangewezen op externe financiering. Daardoor is het een niet meer neutrale meespeler op de dienstenmarkt geworden.
Achterliggende bedoeling
Agents zijn in feite niet zulke speciale programma’s, maar ze kunnen een bedreiging vormen. Waarschijnlijk is het meer het idee dat aan een agent-programma ten grondslag ligt dan de werkelijke uitvoering die agents zo anders maakt dan traditionele programma’s. Wellicht is de achterliggende bedoeling wel het meest overheersende aspect van agents. Meijer heeft een agent geprogrammeerd om informatie over agents op Internet te zoeken. Dit soort meta-aspecten maakt agents toch iets anders dan een willekeurig client/server- of object-georiënteerd programma. Agents danken hun bestaan overigens aan informatie; naar verwachting zullen ze een belangrijk onderdeel van de toekomstige informatiemaatschappij vormen.
Het ziet ernaar uit dat agents een belangrijke ontwikkeling in de informatica-wereld zullen vormen. Het is het soort ontwikkeling dat niet alleen informatici, maar iedereen goed in de gaten moet houden. De vraag blijft of die ontwikkeling in een bepaalde richting gestuurd moet worden – als dat al mogelijk is. Daarnaast is de vraag hoe Nederland als distributieland agents kan benutten. Meijer sluit niet uit dat het nog wel tien jaar kan kosten voor we een juist begrip hebben ontwikkeld van de rol en uitvoering van agents in de samenleving.
Hein van Steenis, freelance medewerker Computable
LITERATUUR
– Intelligent agents. Themanummer. Communications of the ACM, juli 1994, vol. 37-7.
– C. Guilfoyle en Ellie Warner : Intelligent agents: the new revolution in software. Londen: Ovum, 1994.
– H. van Steenis : Een echte visie overvalt je (Marc Porat). Telecommagazine, april 1994, p. 18-22.
– R.A.M. Meijer en A.L. van Stralen : Intelligente software agents: kansen en bedreigingen voor het bedrijfsleven. Apeldoorn: TNO-rapport STB/96/017, april 1996.
– Agents of change. Thema-artikel. Byte, maart 1995, p. 95-114.
AGENT-ETIQUETTE
Een correcte agent moet zich aan de volgende regels houden:
(D. Eichmann, Byte, vol. 20-3, maart 1995, p. 102).
Hoewel de openheid van Internet het niet mogelijk maakt deze of andere regels af te dwingen, zal naar verwachting de druk van medegebruikers leiden tot meer samenwerking en frequenter gebruik. Tot de identificatie zou ook een soort waarmerk of code kunnen behoren, die aangeeft aan welke regels de agent zich zal houden.