Intelligente digitale Dienstboten

09.04.2001 von Alfred  Baumann
Künstliche Intelligenz rangiert derzeit recht abgeschlagen unter 'Ferner liefen' im Bereich der populären Technikthemen. Neue mobile Agentensysteme fürs Web könnten jedoch eine Renaissance der KI einläuten.

In seinem Bestseller  "Out of Control - The New Biology of Machines, Social Systems and the Economic World" stellt Kevin Kelly, Futurologe und einstiger Chefredakteur des Kult-Magazins Wired eine gewagte Prognose. Über kurz oder lang, so prophezeit er, wird sich die Technik aus der Gängelung durch ihre menschlichen Anwender befreien und weitgehend autonome Systeme hervorbringen. Die Maschinen der Zukunft werden Fähigkeiten besitzen, wie wir sie heute nur von Lebewesen kennen - das Vermögen sich fortzupflanzen eingeschlossen.

Nicht alles an dieser Vision ist Science Fiction. Die Industrie beginnt bereits, in Out-of-Control-Technologien einzusteigen. Dies beweisen beispielsweise aktuelle Entwicklungen auf dem Feld des Distributed Computing: Softwarelaboratorien rund um den Globus arbeiten emsig an Agentensystemen - intelligenten Programmen mit biomorphen Fähigkeiten wie Autonomie, Mobilität, Reaktivität, Proaktivität und Soziabilität.

Eigenschaften digitaler Dienstboten

Der typische Agent ist ein intelligenter, geselliger und reisefreudiger Softwareroboter. Folgende fünf Eigenschaften zeichnen ihn aus:

Mit dem Internet ist ein "Lebensraum" entstanden, in dem solche digitalen Dienstboten sich einmal millionenfach tummeln könnten. Reichlich Beschäftigungsmöglichkeit böten beispielsweise elektronische Marktplätze. Deren Angebotsvielfalt kann schon heute kein Mensch mehr übersehen, geschweige denn effizient nutzen.

Agenten feilschen um den Preis

Softwareagenten, von ihren Schöpfern mit so etwas wie künstlichem Geschäftssinn ausgestattet, ließen sich für zeitaufwendige Recherchetätigkeiten einspannen. Sie könnten Angebote vergleichen, Reservierungen vornehmen und Abschlüsse tätigen. Bei entsprechender Programmierung wären sie sogar in der Lage, eine Art elektronischen Feilschens zu praktizieren, um für ihren Auftraggeber bestmögliche Konditionen herauszuschlagen.

Neben dem e-Commerce werden natürlich auch noch andere Einsatzmöglichkeiten angepeilt: Workflow- und Reiseinformationssysteme, persönliche Informationsmanager, mobilitätsunterstützende Telematikdienste, Service- und Netzwerkmanagement sowie intelligente Gebäudesteuerung oder die Unterstützung von Call-Centern.

Softwaretechnisch repräsentieren mobile Agenten eine Variante des "Verteilten Rechnens" und bilden somit eine Alternative zum traditionellen Client-Server-Computing. Agentenprogramme werden in hardwareunabhängigen Computersprachen geschrieben und von speziell präparierten Runtime-Environments - so genannten Wirtssystemen - ausgeführt.

Agenten leben gefährlich

Zu den Besonderheiten der mobilen Form der Agenten gehört, dass sie während der Laufzeit ihren Arbeitsplatz wechseln können - etwa wenn es darum geht, Preisvergleiche auf unterschiedlichen virtuellen Marktplätzen anzustellen. Sie wandern im Netz so lange von Wirtssystem zu Wirtssystem, bis der ihnen aufgetragene Job erledigt ist und die Reise zum Ausgangsrechner zurückführt.

Der Programmcode eines mobilen Agenten wird nach Ankunft an einem Reiseziel nicht etwa immer von neuem gestartet. Agentenobjekte konservieren vielmehr vor jeder "Abreise" ihren aktuellen Ausführungsstatus. Dies ist gewissermaßen das "Gedächtnis", welches erst mit seinem "Tod" gelöscht wird. Sobald er von seinem Auftraggeber nicht mehr gebraucht wird, kann es dem Agenten wie in schlechten Spionageromanen ergehen. Das System "killt" den überflüssig gewordenen.

Einige Vorteile des Agentenparadigmas gegenüber dem herkömmlichen Client-Server-Modell sind ziemlich offensichtlich. Beispielsweise kann der Auftraggeber eines Agenten während der Zeit, die sein virtueller Knecht mit dem Erledigen von Aufgaben verbringt, die Verbindung zum Internet kappen und sogar seinen Rechner ausschalten. Eine flächendeckende Durchsetzung der Agententechnik könnte also unter Umständen zu verminderter Belastung von Netzwerken führen, weil eine Vielzahl von Kommunikationsvorgängen und Transaktionen bloß mehr rechnerintern ablaufen würde.

Schwarmintelligenz für Höchstleistungen

Das besondere Interesse der Agententechnologen richtet sich auf Aspekte, die weniger banal als simple Preisrecherchen sind. Einer davon wird durch das Stichwort "Schwarmintelligenz" bezeichnet. Anspruchsvolle Softwareagentensysteme sollten schon um der Mobilität willen im allgemeinen nicht als schwergewichtige Alleskönnerprogramme implementiert werden. Ihre Intelligenz soll durch das Zusammenwirken leichtgewichtiger Einzelakteure entstehen.

Vorbild sind staatenbildende Insekten wie Ameisen, Bienen und Termiten. Diese agieren als Individuen "ziemlich beschränkt", ihre Gesellschaften sind aber ungemein leistungsfähig. Forscher entdeckten, dass die Zusammenarbeit innerhalb der Kolonien größtenteils selbstorganisiert ist. Jedes Insekt handelt selbstständig und doch wirken die Insektenstaaten als Ganzes hoch organisiert. Dabei erfordert die nahtlose Zusammenfügung aller individuellen Aktivitäten zu einem Ganzen keinerlei zentrale Oberaufsicht.

Solcherlei "Schwarmintelligenz" - das ist die Hoffnung einer Richtung der KI-Forschung, der so genannten Verteilten Künstlichen Intelligenz (VKI) - lässt sich auch durch künstliche Agenten hervorbringen. Dass die Umsetzung solcher Konzepte noch in den Kinderschuhen steckt, wird nicht überraschen. Die Erwartungen sind nichtsdestoweniger bei einigen Agentenforschern enorm hochgesteckt. VKI-Protagonisten wie Marvin Minsky glauben prinzipiell, dass alle höheren kognitiven Leistungen - insbesondere die menschlichen - das Resultat von Agentenkooperation sind. Minsky spricht von einer Society of Mind.

KQML als Repräsentationssprache

Wie dem auch sei, zu den unabdingbaren Voraussetzungen für Agentenkooperation zählt die Kommunikation. Es wurden dafür spezielle Wissensrepräsentationssprachen entwickelt. Die Knowledge Query and Manipulation Language (KQML) sind die bekanntesten Vertreter. KQML lässt sich für den Austausch von Informationen verwenden, um Aktionen zu koordinieren, Aufgaben, Pläne, Ziele zu verteilen, Verhandlungen durchzuführen, Ressourcen gemeinsam zu verwalten sowie um Konflikte zu erkennen und zu vermeiden. Nachfolgend das Beispiel eines typischen KQML-Statements:

(tell :sender Willi
:receiver Willi_Persona
:in-reply-to msg4711
:ontology Abstammung
:language Prolog
:content "mutter(Eva, Abel)")

Einem Agenten namens Willi_Persona (receiver) wird hier schlicht und ergreifend vom Agenten Willi (sender) mitgeteilt, dass Eva die Mutter von Abel ist. Das Schlüsselwort "tell" ist entscheidend. Es legt fest, dass es sich um einen mitteilenden Sprechakt handelt (im Unterschied beispielsweise zu einem fragenden Sprechakt, der mit "ask" eingeleitet würde). Die vorletzte, dritt- und viertletzte Zeile erläutern den Kontext, über den sich die volle Bedeutung überhaupt erst konstituiert:

Werkzeuge für Agentenbauer

Sprachen interessieren natürlich auch, wenn es um die Programmierung von Agenten geht. Als eine Art Urahn der Agentenentwicklungssysteme gilt Telescript. Anfang der neunziger Jahre machte die Firma General Magic damit Furore. Allerdings bloß um die Entwicklung des Systems 1996 sang- und klanglos wieder einzustellen.

Mit Telescript ließen sich zwei Typen von Agenten bauen: eine mobile Variante, die in der Lage war durchs Netz zu reisen, und Places, stationäre Agenten, die auf dem Hostsystem residierten und mit ihren mobilen Verwandten interagierten. Die Sprache selbst war streng objektorientiert und erinnerte in gewisser Hinsicht an Suns Java. Telescript-Agenten waren in so genanntem High-Telescript-Code zu erstellen, um dann in maschinenneutrales Low-Telescript kompiliert zu werden. Auf dem jeweiligen Netzwerkhost wurde der virtuelle Maschinencode dann von einer Telescript Engine ausgeführt.

Man darf mutmaßen, dass das Produkt nicht an technischer Insuffizienz gescheitert ist, sondern an der ungeschickten Politik von General Magic. Im Unterschied zu Sun konnte sich die Firma nicht dazu durchringen, die Interna der Sprache offenzulegen. Zudem wurden Interessenten durch hohe Lizenzgebühren abgeschreckt.

Java als Sprache der Wahl

Mittlerweile heißt die Leib- und Magensprache der Agentenszene Java. Dies ist alles andere als ein Zufall. Java weist neben seiner freien Verfügbarkeit einige Eigenschaften auf, die es für diesen Einsatz geradezu prädestinieren. Es ist plattformunabhängig und erlaubt die abgesicherte Ausführung von Programmcode in einer systemschützenden Sandbox. Es beherrscht das dynamische Nachladen von Klassen übers Netz und vor allem die Serialisierung bzw. Deserialisierung von Objekten. Mit Hilfe des letztgenannten Features lassen sich Agentenprogramme ohne langes Federlesen in Strings transformieren und zur nächsten Station ihrer "Arbeitsreise" transportieren.

So herrscht denn auch an javabasierten Entwicklungssystemen kein Mangel. Tryllian Software bietet beispielsweise ein Agent Development Kit an, bestehend aus den Agent Foundation Classes (AFC) und einem Agent Runtime Environment (ARE). Das AFC enthält Java-Klassenbibliotheken mit "vorgefertigten Standardverhaltensweisen" für Agenten. Das ARE beinhaltet die Software zum Aufbauen und Managen von Agenten-Infrastrukturen.

Agentensystem live in action

Wer ein Agentensystem mit einer hübschen Oberfläche in Aktion erleben will, sollte sich Tryllians Gossip herunterladen. Gossip makelt mit Informationen. Agenten reisen bepackt mit Special-Interest-Themen ihrer Auftraggeber zu einer Art Börse und suchen dort nach Agenten, die ähnliche Interessen vertreten.

Entwicklungssysteme, die mit dem von Tryllian vergleichbar sind, vertreiben auch Toshiba mit Plangent oder das kalifornische Softwarehaus Reticular Systems mit Agentbuilder

Einen etwas anderen, nämlich einen hybriden Ansatz verfolgt ObjectSpace. Deren Voyager führt traditionelle Client-Server-Technologie und Agentenparadigma zusammen. Voyager ist ein javaerweiterter Object Request Broker (ORB) der CORBA mit mobiler Agenten-Technologie verbindet. Er erlaubt sowohl die Entwicklung von Client/Server- als auch die von Agenten-Applikationen. Erhältlich ist das Produkt sowohl für Windows als auch für die Linux-Plattform.

Agentensystem als Freeware

Neben den kommerziellen Entwicklungsumgebungen darf zumindest ein freier Konkurrent nicht unerwähnt bleiben - das Aglet Development Kit. Ursprünglich von IBM Japan entwickelt, steht ADK mittlerweile zu kostenloser Nutzung zur Verfügung. Ein Wermutstropfen trübt allerdings die Freude an den Aglets ein wenig: Sie sind (noch) nicht Java2-fähig. Entwickler müssen JDK 1.1.X aus der Mottenkiste holen.

Auch hierzulande ist man nicht untätig. Das Distributed-Artificial-Intelligence-Labor (DAI) der TU Berlin glänzt mit JIAC, der Java Intelligent Agent Componentware Architecture. Die Toolbox der Berliner enthält Objektklassen für so genannte Content-Provider-Agenten, die Informationen zur Verfügung stellen, für Service-Provider-Agenten, die komplexe (Mehrwert-) Dienste anbieten, für Manager-Agenten, die Marktplätze verwalten, sowie verschiedene User-Agenten, die Anwendern eine grafische Benutzeroberfläche bereitstellen, Eingaben aufnehmen und Ergebnisse anzeigen.

Ähnlich wie bei den Aglets liegt die Stärke der JIAC-Agentenarchitektur insbesondere auf dem Mobilitäts- und Kommunikationsaspekt. So wird etwa KQML unterstützt. Neben dem Objektklassen-Bausatz gehören zu JIAC auch Laufzeitwerkzeuge. Ein so genannter Marktplatzmonitor erleichtert es Benutzern und Administratoren, ihren digitalen Abgesandten beim Arbeiten auf die Finger zu schauen.

Roboter-Agenten

Die Erstellung nichttrivialer Agentensysteme steckt noch in den Kinderschuhen, dabei haben die Entwickler von Softwareagenten es gegenüber ihren Kampfgefährten von der Roboterentwicklungsfront geradezu einfach.

Die Intelligenz ihrer Geschöpfe wird "bloß" unter den kontrollierten Bedingungen von Wirtssystemen herausgefordert. In einer physikalischen Umwelt autonom und erfolgreich zu agieren ist hingegen noch ungleich schwieriger.

Dennoch - oder gerade deshalb - wird über Agentensysteme nachgedacht, die in der "richtigen" Welt zurande kommen. Die Entwicklung von Softwareagenten erscheint so gesehen als eine Art Warmlaufen für die Robotik.

Was die Visionen zu künftigen Roboter-Agenten-Generationen angeht, herrscht bei manchen Forschern keinerlei falsche Zurückhaltung. Im Scientific American veröffentlichte der schon erwähnte Marvin Minsky einen Artikel mit dem suggestiven Titel Will Robots Inherit the Earth?. Minskys Antwort auf die selbstgestellte Frage:

Roboter in Molekülgröße

Minskys Szenarien gehen konform mit den Ideen Eric Drexlers zu einer zukünftigen Nanorobotik. Drexler propagiert die Entwicklung von so genannten Assemblern, selbstkopierenden Robotern in Molekülgröße. Sein Foresight Institute im kalifornischen Palo Alto hat 1996 ein Preisgeld von einer Viertelmillion ausgelobt, und zwar für denjenigen, der erstens einen Roboterarm baut, der in einen Würfel von 100 Nanometer Seitenlänge passt, und zweitens einen Computer, der in einen Würfel von 50 Nanometer Kantenlänge gestopft werden kann und dabei Zahlen in einer Länge von 8 Bit addiert.

Drexler geht es um nicht weniger als um "Total Control over Matter". Bereits 1986 hat er die Möglichkeiten eines revolutionären "Produktionsparadigmas" in seinem Buch Engines of Creation ausgelotet. Assembler sollen einmal beliebige Materialien Atom für Atom rearrangieren können. In einer entwickelten Nanoindustrie würden die makromolekülgroßen, selbst vermehrungsfähigen Roboter-Agenten via Molecular Manufacturing beinahe alles herstellen, was der Mensch begehrt - von Kartoffelchips bis zum Snowboard. Dieselben Engines of Creation könnten auch (mit medizinischer KI) im menschlichen Körper beschädigte Gewebe "reparieren" oder Tumorzellen bekämpfen. Ohne Scheu spekuliert Drexler sogar über die Möglichkeit ewigen Lebens durch nanotechnische Eingriffe in den zellmetabolischen Mechanismus des Alterns.

Roboter bauen Roboter

So fantastisch sich allein scon die Vorstellung von der maschinellen Selbstvermehrung ausnimmt. Im Projekt Golem versuchen Wissenschaftler der Brandeis University die Grundlagen für eine Robotertechnik zu legen, bei denen sich Hard- und Software ohne Eingriff des Menschen entwickeln. Hod Lipson und Jordan Pollock beschrieben unlängst in der Wissenschaftszeitschrift Nature ("Automatic Design and Manufacture of Robotic Lifeforms", in: Nature 406, 31.08.2000, 974-978) erste Lösungen auf dem Weg zur Entwicklung einer maschinellen Lebensform, die sich selbst durch Reproduktion weiterentwickelt.

Ziel ist, ein "polymorpher Roboter", der automatisch seine Form verändern kann, wenn er für neue Aufgaben eingesetzt werden soll. Die Roboter konstruieren die neue Gestalt erst einmal virtuell aus ganz einfachen Bestandteilen, kopieren dann das Modell Stück für Stück und Schicht für Schicht und setzen es durch "Rapid Prototyping" in die Wirklichkeit um. Das Ganze geschieht natürlich noch nicht im Nanomaßstab. Mit einem so genannten 3D-Drucker lässt sich aber immerhin jetzt schon eine dreidimensionale Struktur durch sukzessive aufeinander aufgetragene Schichten aus Thermoplastik bilden.

Ausblick: Risiken und Super-GAUs

Leicht stellt sich bei solchen Szenarien Schwindelgefühl ein. Unverkennbar bewegen sich manche Out-of-Control-Technologien im Hochrisikobereich. Kniffelige Sicherheitsprobleme stellen sich bereits bei mobilen Softwareagenten. Beispielsweise deshalb, weil sie den Manipulationsversuchen übel wollender Wirtssysteme ausgesetzt sein werden.

Eine nicht zu unterschätzende Quelle ihrer Verwundbarkeit liegt zum Beispiel in der Tatsache, dass der Code eines Agenten und Teile der Daten, die er mit sich führt, vor dem Wirtssystem nur schwer geheim gehalten werden können. Würde der Code verschlüsselt, könnte die Ausführungsumgebung diesen schlichtweg nicht starten. Zudem sind zumindest solche Daten immer öffentlich, die ein Agent während seiner Reise durch das Netzwerk wiederholt benötigt. Selbst wenn er diese Information encodiert bei sich tragen würde, bräuchte er einen Schlüssel, um sie benutzen zu können. Auf diesen könnte dann aber auch das Wirtssysten zugreifen, um eventuelle Feindseligkeiten zu begehen.

Dass es für derartige Dilemmata technische Lösungen gibt - etwa kooperierende Agenten, die einander gegenseitig überwachen -, ist klar. Ein flaues Gefühl in der Magengegend aber bleibt.

Noch viel stärker allerdings ist Misstrauen gegen die Risiken der Nanorobotic angebracht. Vor einem furchterregenden Super-GAU hat im letzen Jahr niemand geringerer als der Software-Guru und Mitbegründer von Sun Microsystems Bill Joy gewarnt. In einem Artikel im gemeinhin nicht eben fortschrittsfeindlichen Wired hält er die Furcht, dass amoklaufende sich selbst replizierende Nanoroboter unseren Planeten in "grey goo" verwandeln für durchaus begründet. Joy: "Wir können an einen Punkt kommen, an dem wir Werkzeuge und Techniken besitzen, die auch die Spezies Mensch ersetzbar machen. In die natürliche Umwelt entlassen, haben Nanomaschinen potenziell die Fähigkeit, irgendeine Masse zu produzieren, die unsere Biosphäre zerstört." ala)

Literatur:

Caglayan, A.K., Harrison, C.G.: Intelligente Software-Agenten, C. Hanser Verlag, München 1998, ISBN 3-446-19269-7

Lüth, Tim C.: Technische Multi-Agenten-Systeme, C. Hanser Verlag, München 1998, ISBN 3-446-198468-1

Murch, R., Johnson, T.: Agententechnologie: Eine Einführung, Addison Wesley Verlag, München 2000, ISBN 3-8273-1652-9