Agenten- und Multi-Agenten-Anwendungen#

Ein Agent ist eine Software-Entität, die über Nachrichten kommuniziert, ihren eigenen Zustand aufrechterhält und als Reaktion auf empfangene Nachrichten oder Zustandsänderungen Aktionen ausführt. Diese Aktionen können den Zustand des Agenten ändern und externe Effekte erzielen, wie z. B. das Aktualisieren von Nachrichtenprotokollen, das Senden neuer Nachrichten, das Ausführen von Code oder das Tätigen von API-Aufrufen.

Viele Softwaresysteme können als eine Sammlung unabhängiger Agenten modelliert werden, die miteinander interagieren. Beispiele hierfür sind

  • Sensoren auf einem Fabrikboden

  • Verteilte Dienste, die Webanwendungen ermöglichen

  • Geschäftsprozesse, an denen mehrere Beteiligte beteiligt sind

  • KI-Agenten, wie z. B. solche, die auf Sprachmodellen (z. B. GPT-4) basieren, welche Code schreiben, mit externen Systemen interagieren und mit anderen Agenten kommunizieren können.

Diese Systeme, die aus mehreren interagierenden Agenten bestehen, werden als Multi-Agenten-Anwendungen bezeichnet.

Hinweis
KI-Agenten verwenden typischerweise Sprachmodelle als Teil ihres Software-Stacks, um Nachrichten zu interpretieren, Schlussfolgerungen zu ziehen und Aktionen auszuführen.

Merkmale von Multi-Agenten-Anwendungen#

In Multi-Agenten-Anwendungen können Agenten

  • Innerhalb desselben Prozesses oder auf derselben Maschine laufen

  • Auf verschiedenen Maschinen oder über organisatorische Grenzen hinweg arbeiten

  • In verschiedenen Programmiersprachen implementiert sein und unterschiedliche KI-Modelle oder Anweisungen verwenden

  • Gemeinsam auf ein gemeinsames Ziel hinarbeiten und ihre Aktionen durch Messaging koordinieren

Jeder Agent ist eine in sich geschlossene Einheit, die unabhängig entwickelt, getestet und bereitgestellt werden kann. Dieses modulare Design ermöglicht die Wiederverwendung von Agenten in verschiedenen Szenarien und deren Kombination zu komplexeren Systemen.

Agenten sind von Natur aus komponierbar: einfache Agenten können zu komplexen, anpassungsfähigen Anwendungen kombiniert werden, wobei jeder Agent eine spezifische Funktion oder einen Dienst zum Gesamtsystem beiträgt.