Software-Agenten

Ein Software-Agent ist ein Stück Software, das handelt (agent: lat. agere - tun, machen), um selbstständig bestimmte Ziele zu erreichen; im Gegensatz zu anderen Computerprogrammen arbeiten Agenten autonom, nehmen ihre Umgebung wahr, führen selbstständig kontextrelevante Handlungen aus, passen sich an und verfolgen (veränderliche) Ziele; ein rationaler Agent handelt so, dass er das beste Ergebnis oder - bei Ungewissheit - das beste erwartete Ergebnis erzielt. In seinem berühmten frühen Aufsatz aus dem Jahr 1950 erwägt Alan Turing [2], seine intelligenten Maschinen von Hand zu programmieren. Er schätzt, wie viel Arbeit dies erfordern würde, und kommt zu dem Schluss: „Eine schnellere Methode scheint wünschenswert“. Die von ihm vorgeschlagene Methode bestand darin, lernende Maschinen zu bauen und sie dann zu unterrichten. Heute ist dies die gängige Methode in der KI.
Ein lernender Agent, ausgestattet mit logischem Denken, Lern- und Anpassungsfähigkeit, ist in der Lage, in einer anfangs unbekannten Umgebung zu operieren und kompetenter zu werden, als es sein anfängliches Wissen allein erlauben würde.
Jede Art von Daten – wie Medien- oder Dateiinhalte, Ereignismeldungen von anderen Systemen oder Netzwerkverkehr – kann als Umgebung eines Softwareagenten dienen und sein Verhalten beeinflussen..
Die Architekturen autonomer Softwareagenten grenzen diese klar von ihrer Umgebung ab, mit der sie durch Beobachtung und Aktion interagieren. Dies führt zu einer klaren Trennung der Verantwortlichkeiten in Arbeitsabläufen und weist jedem Agenten eine spezifische Aufgabe mit einem eindeutigen Ziel zu.
Anders als traditionelle Softwareprogramme, die vorgegebenen handgeschriebenen Regeln folgen, versuchen autonome Agenten ihr Ziel auch unter wechselnden Bedingungen selbstständig zu erreichen. Sie lernen und optimieren ihre Handlungsabläufe in wiederholten Durchläufen und nutzen kurz- oder langfristige Planungshorizonte. Software-Agenten basieren dabei auf unterschiedlichen Paradigmen aus dem Bereich der symbolischen KI, der konnektionistischen KI oder beiden kombiniert in der neuro-symbolischen KI.
Wie kann das Verhalten autonomer Software-Agenten bewertet werden? Ein Software-Agent erzeugt aus einer Folge von Beobachtungen eine Folge von Aktionen. Entspricht diese Sequenz dem gewünschten Verhalten, erbringt der Agent eine „gute“ Leistung. Der Begriff „erwünscht“ wird durch ein Leistungsmaß ausgedrückt, das je nach Umgebung, Anwendungsfall und Domäne individuell definiert und festgelegt werden muss.