Een eenduidige definitie van een ‘agent’ is moeilijk te geven. Een goede agent is volgens deskundige Leonard Foner (MIT) autonoom, zelflerend, past zich aan de gebruiker aan, en kan communiceren met anderen. Van agents werd veel verwacht, maar nog steeds zijn draaiende toepassingen niet voorhanden. Ook het Nederlandse Tryllian, ontwikkelaar van agents, heeft nog geen orders voor zijn software voor havens en verzekeraars.
"Schrijven over software-agents, zonder Tryllian te spreken, dat kan een Nederlandse journalist niet", zeg ik bij het weggaan. "Ik ben blij dat je er zo over denkt", reageert Rudy Megens. De Tryllian-consultant heeft net twee uur van zijn tijd in het interview gestoken en is duidelijk opgelucht met mijn conclusie.
Blijkbaar ben ik ervan overtuigd geraakt dat software-agents en dus ook Tryllian wat voorstellen. Helaas voor hem en mij moet je nog steeds vooral gelóven in deze visie van ‘verbeterde middleware’. In principe gaat deze software verder dan de huidige middleware van onder meer webdiensten. Een webdienst koppelt bijvoorbeeld een legacy-toepassing op een mainframe met een website. Via de webinterface voert de gebruiker zijn gegevens in, zonder in de gaten te hebben dat de data op de mainframe wordt ingevoerd. Software-agents daarentegen halen bij de gebruiker eigenhandig de data op en zorgen dat deze op de mainframe-applicatie wordt ingevoerd. Het resultaat wordt gepresenteerd aan de gebruiker. Door het gebruik van software-agents verdwijnen de nadelen van interfaces voor gegevensinvoer. De gebruikelijke desktop, zoals die wordt afgebeeld op de huidige besturingssystemen, is maar een van de manieren waarop digitale gegevens inzichtelijk gemaakt kunnen worden. Zelfstandige software-agents kunnen dus een alternatief bieden. Ook verhelpen ze problemen met gedistribueerde systemen, zoals bij uitval van onderdelen en het verdelen van de rekenkracht.
Kunstmatige intelligentie
Volgens ingewijden is een agent software met eigenschappen die grenzen aan kunstmatige intelligentie. Maar waar blijft nou het spraakmakende voorbeeld waarmee de ontwikkelaars het bestaansrecht van software-agents kunnen aantonen? Nieuw zijn hun ideeën namelijk niet. De Amerikaans geleerde Vannevar Bush zinspeelde in 1945 als eerste op iets als intelligente software in zijn boek "As we may think". Tijdens de Tweede Wereldoorlog had Bush als directeur van ’the Office of scientific research and development’ zo’n zesduizend onderzoekers onder zich, waaronder zij die werkten aan de atoombom in het Manhattan-project. Ver voor ‘Google’ beschreef hij onder meer hoe een toekomstig apparaat een onderzoeker helpt om bijvoorbeeld de kruisboog te onderzoeken door het bouwen van een spoor van relevante informatie. Het eerste concept van een agent dateert, volgens de Britse onderzoeker Hyancinth Nwana, uit 1977. Wetenschapper Carl Hewitt schrijft dan over een actor, "een rekenkundige agent met een mail-adres en gedrag. Actoren communiceren door het uitwisselen van berichten en voeren tegelijkertijd hun acties uit." Met de explosieve groei van internet midden jaren negentig raakt ook de agent-hype op een hoogtepunt. Een agent is volgens sommigen slimme software die op websites de prijzen van producten vergelijkt en op zoek gaat naar de goedkoopste aanbieder. Anderen rekenen tot agents de ‘meta-crawlers’ waarmee zoekmachines eerst de warboel aan informatie op het wereldwijde web vergaren.
In de toekomst kan een agent menselijke taal begrijpen, beloven ai-onderzoekers.
Volgens de Britse Nwana is het leuk om een ontwikkelaar van software-agents naar de definitie ervan te vragen. Dat is net zoiets als vragen naar de definitie van intelligentie. Ook bij Tryllian in Amsterdam ontwijkt men het antwoord. "Hoe zet je het in de markt?", weerkaatst de kersverse directeur Jan van der Pouw. Adviseur Rudy Megens somt een aantal vereisten op. "Een agent is multi-platform, multi-applicatie, multi-locatie, multi-partij en vervangt routinematig menselijk handelen." Het lijstje is wel heel nuttig, maar het geeft geen definitie.
De bot Julia
Zonder definitie is het natuurlijk erg eenvoudig om code te produceren die vervolgens agent wordt genoemd. Na Hewitts artikel duurt het nog tientallen jaren voor de ‘eerste echte’ softwareagent verschijnt. Eraan vooraf gingen vele pogingen van marketeers die de langzaam groeiende belangstelling wilden vertalen in klinkende munt. Zo werd het Macintoshprogramma Magnet in het begin van de jaren negentig door de makers aangeprezen als ‘de eerste intelligente agent voor de Mac’.
"Dat? Dat is niet meer dan een programma voor bestandbeheer" misprijst Leonard Foner, bij het MIT specialist op het gebied van software agents. Volgens hem is ‘multi-user-dungeon’ bot Julia (mud’s, op tekst gebaseerde netwerkspellen) de eerste software die het best benadert wat een software-agent kan. Julia werd in 1990 geschreven in C door Michael Mauldin, later de oprichter van portaalsite Lycos. Mauldin werkte begin jaren negentig in het Center for Machine Translation, Carnegie Mellon University in Pittsburgh. Zijn creatie gedroeg zich in de mud’s die zij bezocht ongeveer als de menselijke bezoekers. Ze beantwoordde vragen, wees onbekenden de weg in de tekstdoolhoven en liet veel eenzame mannen een blauwtje lopen: de legende verhaalt dat vele mud-bezoekers lang dachten dat ze een echt mens was. Foner citeert in zijn vermakelijke artikel over agents uit 1993 veel uit de conversaties van Julia. Hieronder wordt Julie op de proef gesteld door zijn studente Robyn
Robyn zegt: "Julia, ben je een mens?"
Julia zegt: "Is de Paus een Pool?"
Robyn zegt: "Ja, Julia, maar ben jij een mens?"
Julia knipoogt naar Robyn.
Foner concludeert: een goede agent is autonoom, past zich aan de gebruiker aan, is zelflerend en kan communiceren met anderen. De agent vervolmaakt zoveel mogelijk zijn taken, om op die manier het vertrouwen te winnen van de eigenaar/gebruiker. Het zijn een paar van de eisen die Foner vaststelt. En Julia voldoet aan de meeste ervan, schrijft hij in 1993. Negen jaar later lopen de sporen van Julia op internet allemaal dood.
Het kan verkeren. James Odell constateerde begin van dit jaar in Computable dat de agent-technologie nog steeds in zijn kinderschoenen staat. De methodoloog Odell is een bekendheid op het gebied van agents, in zijn ogen een doorontwikkelde vorm van objectgeoriënteerde programmeertalen. Software-agents zijn extensies van objecten. Hierin zijn identiteit, toestand en gedrag vastgelegd. Een actieve agent regelt zelf daarnaast nog het ‘wanneer?’; een mobiele agent regelt zelf ook nog eens het ‘waar?’. Kernpunt is in ieder geval de zelfstandigheid. Odell: "Agents kunnen vertrekken en ze kunnen ‘nee’ zeggen. Het zijn niet alleen gegevens en handelingen, het zijn gegevens en geintegreerde processen."
Mieren in de telefonie
Belangrijke kandidaat voor ‘multiple agent systems’ is, aldus Odell, de automatisering
van industriële processen. British Telecom-medewerkers Ian Pearson en Chris Winter zijn het met hem eens. De telecomnetwerken van de toekomst worden bediend door software die zich gedraagt als mieren in een kolonie, schrijven ze in "Where is IT going" (1999). Het zijn autonomous network telephers (ants, Engels voor mieren). Iedere mier beschikt over kennis die hem in staat stelt te communiceren met processors, routers en collega-mieren en wordt zo ingezet bij netwerkbeheer, reparatie of software-updates. Voorlopig blijven de telefoonnetwerken nog dom, weten de twee ict’ers. Software-agents zijn toekomstmuziek. Wanneer ze hun intrede doen; wie het weet mag het zeggen. Volgens het boek Software Agents (1997) van onder meer Jeffrey Bradshaw gebeurt het binnen enkele jaren. Volgens Odell kan het nog wel vijftien jaar duren voor software-agents net zo geaccepteerd zijn als object georiënteerd programmeren nu.
Dat ziet er dan slecht uit voor het Nederlandse softwarebedrijfje Tryllian. Vorig jaar won het nog de Computable ICT-award, omdat het volgens de jury "een van de weinige werkelijk vernieuwende kandidaten is". Vernieuwend mag de Agent Development Kit 2.0 die Tryllian in juli uitgaf, genoemd worden. De ADK levert programmeurs geen complete ontwikkelomgeving (IDE), maar kan worden ingezet in alle Java-ontwikkeltools. Met de ADK en de bijgeleverde Agent Foundation Classes (libraries) definieert de ontwikkelaar agents en hun leefomgeving: ‘rooms’ en habitats (meerdere rooms). Deze krijgen adressen, zodat ze in een netwerk geïdentificeerd en benaderd kunnen worden. Een habitat is bijvoorbeeld de ruimte op een Windows 98 pc van een huisarts. Een agent hierbinnen leest bijvoorbeeld data uit het patiënten-registreersysteem, een ander zorgt voor het up-to-date zijn van het anti-virusprogramma. Een agent in een habitat bij een verzekeraar krijgt van de gegevens-agent het patiëntnummer, een agent bij de softwareboer krijgt te horen welke versie in gebruik is. Feit is dat Tryllian, vier jaar na de oprichting, nog steeds geen concrete klus, opdrachtgever of draaiende toepassing heeft waarmee het de levensvatbaarheid van software-agents kan aantonen. Ja, er is een toepassing voor een datingservice, die nu getest wordt op http://www.vakantiedate.nu. Op basis van persoonlijke voorkeuren van deelnemers aan deze sms-dienst, leggen Tryllian-agents contact met gelijkgezinden. In een artikel over de dating-dienst op de website http://www.emerce.nl, blijft Tryllian-oprichter Christine Karman in augustus van dit jaar opvallend vaag over concrete andere toepassingen. "We zien mogelijkheden die verder gaan dan dating. Je zou er ook beursorders mee kunnen plaatsen."
Karman, een van de weinige vrouwen in de Nederlandse ict-top, trad in september terug. Ze blijft als adviseur verbonden aan de Raad van Commissarissen, zegt Van der Pouw. "Ze is nu met andere dingen bezig. Ze heeft een woelige geest." Van der Pouw is duidelijk aangetrokken om te zorgen dat het bedrijf resultaten laat zien. De dating-toepassing veroorzaakt inderdaad niet de aardverschuiving op de markt voor middleware, geeft Van der Pouw medio september toe. Er lopen wel veel pilots en voorstellen met serieuze toepassingen, bij een landelijke verzekeraar, bij een groep cardiologen, bij vier samenwerkende ziekenhuizen, bij een bank en Defensie. Maar tot concrete orders is het nog niet gekomen. Zo’n doorbraak wil Van der Pouw binnen een half jaar gerealiseerd hebben. "Ze zijn nu nog geduldig, maar geldschieters zoals de (Belgische) GIMV en FLV Fund of (het Japanse) NIF willen uiteindelijk wel winst zien."
Containervervoer
Over de proeven is iedereen enthousiast, zo blijkt uit het gesprek met Van der Pouw en Megens. ‘Wow’, riepen ze volgens Megens bij de Rotterdamse haven. Hier kunnen software-agents zorgen voor een verbeterde afhandeling van de gegevens tussen containervervoerder en expediteur.
Waarom de haven niet overgaat tot invoering van het systeem? De politiek wil het besluit niet nemen, midden- en kleinbedrijven vechten allemaal voor hun eigen belang, en het algemeen belang van de haven delft het onderspit. Het economisch tij is er daarnaast de reden van dat banken en verzekeraars de veelbelovende toepassingen blijven uitstellen. Dat excuus gebruikt in elk geval de landelijke verzekeraar waarvoor CMG Noord-Nederland een agent-infrastructuur demonstreerde.
Bij verzekeraars vindt veel handwerk plaats, zoals data-invoer, vergelijking van gegevens, vereffenen van rekeningen en veel nabellen. Tel daarbij op de inrichting met een centrale mainframe-infrastructuur en de wirwar van software en gegevens aanwezig bij tussenpersonen, en je hebt een ideale omgeving voor het inzetten van software-agents. In plaats dat de verzekeraar software-updates op cd-rom verstuurt naar de tussenpersoon, zorgt een software-agent van de verzekeraar hiervoor. Het overtikken van klantgegevens in de spreadsheet van de mainframe-database van de verzekeraar is niet meer nodig, een software-agent regelt dit. "De tussenpersoon blijft baas over zijn eigen systeem en baas over zijn eigen gegevens", vertelt CMG’er John Kuin. De variatie van besturingssystemen en applicaties bij de tussenpersonen (daar kom je van alles tegen, aldus Van der Pouw) is nauwelijks een hindernis. Een agent is gericht op alle applicaties die draaien op Windows 98 of hoger. Ook maakt het niet uit of de verzekeraar in de backoffice bijvoorbeeld Oracle of BEA gebruikt.
Een ander interessant voorbeeld is een demonstratie voor de vreemdelingenketen, al willen CMG en Tryllian er niet teveel over kwijt. Het doel is om bij verschillende instanties gegevens uit databases te halen. Probleem is echter dat onderdelen van de informatie in bepaalde databases niet zomaar beschikbaar gesteld mogen worden. Software-agents halen daarom bijvoorbeeld eerst alle toegestane data op en bereiden daarnaast het dossier voor waarmee een medewerker toestemming kan vragen voor de overige gegevens. "Als de elektronische handtekening geldig was, dan kon zelfs dat traject worden geautomatiseerd", vertelt Megens. Deze door CMG en Tryllian bedachte toepassingen lijken het nut van software-agents te gaan bewijzen. De verzekeraar gaf al het ok voor de proef, alleen neemt zij maar geen beslissing wanneer die gaat plaatsvinden. Trok de economie nu maar weer een beetje aan.
Gijs Hillenius