(Klicken Sie auf das obige Bild, um das Video dieser Lektion anzusehen)
Sobald Sie mit einem Projekt beginnen, das mehrere Agenten beinhaltet, müssen Sie sich mit dem Multi-Agenten-Designmuster auseinandersetzen. Es ist jedoch möglicherweise nicht sofort klar, wann man zu Multi-Agenten wechseln sollte und welche Vorteile dies mit sich bringt.
In dieser Lektion werden wir versuchen, die folgenden Fragen zu beantworten:
Nach dieser Lektion sollten Sie in der Lage sein:
Was ist das Gesamtbild?
Multi-Agenten sind ein Designmuster, das es mehreren Agenten ermöglicht, gemeinsam auf ein gemeinsames Ziel hinzuarbeiten..
Dieses Muster wird in verschiedenen Bereichen häufig eingesetzt, darunter Robotik, autonome Systeme und verteilte Systeme.
Welche Szenarien eignen sich also gut für den Einsatz von Multi-Agenten? Die Antwort ist, dass es viele Szenarien gibt, in denen der Einsatz mehrerer Agenten vorteilhaft ist, insbesondere in den folgenden Fällen:
Ein einzelnes Agentensystem könnte für einfache Aufgaben gut funktionieren, aber für komplexere Aufgaben kann die Verwendung mehrerer Agenten mehrere Vorteile bieten.
Nehmen wir ein Beispiel: Wir buchen eine Reise für einen Benutzer. Ein einzelnes Agentensystem müsste alle Aspekte des Reisebuchungsprozesses übernehmen, von der Flugsuche über die Hotel- und Mietwagenbuchung. Um dies mit einem einzelnen Agenten zu erreichen, müsste der Agent über Werkzeuge zur Bewältigung all dieser Aufgaben verfügen. Dies könnte zu einem komplexen und monolithischen System führen, das schwer zu warten und zu skalieren ist. Ein Multi-Agenten-System hingegen könnte verschiedene Agenten haben, die auf die Suche nach Flügen, die Buchung von Hotels und Mietwagen spezialisiert sind. Dies würde das System modularer, leichter zu warten und skalierbarer machen.
Vergleichen Sie dies mit einem Reisebüro, das als kleines Familienunternehmen geführt wird, im Gegensatz zu einem Reisebüro, das als Franchise geführt wird. Das kleine Familienunternehmen hätte einen einzelnen Agenten, der alle Aspekte des Reisebuchungsprozesses übernimmt, während das Franchise unterschiedliche Agenten hätte, die sich um verschiedene Aspekte des Reisebuchungsprozesses kümmern.
Bevor Sie das Multi-Agenten-Designmuster implementieren können, müssen Sie die Bausteine verstehen, aus denen das Muster besteht.
Machen wir dies konkreter, indem wir noch einmal das Beispiel der Reisebuchung für einen Benutzer betrachten. In diesem Fall wären die Bausteine:
Es ist wichtig, dass Sie Einblick haben, wie die einzelnen Agenten miteinander interagieren. Diese Sichtbarkeit ist unerlässlich für die Fehlersuche, Optimierung und Gewährleistung der Gesamteffektivität des Systems. Um dies zu erreichen, benötigen Sie Werkzeuge und Techniken zur Verfolgung von Agentenaktivitäten und -interaktionen. Dies kann in Form von Protokollierungs- und Überwachungswerkzeugen, Visualisierungswerkzeugen und Leistungsmetriken erfolgen.
Beispielsweise könnten Sie im Fall der Buchung einer Reise für einen Benutzer ein Dashboard haben, das den Status jedes Agenten, die Präferenzen und Einschränkungen des Benutzers sowie die Interaktionen zwischen den Agenten anzeigt. Dieses Dashboard könnte die Reisedaten des Benutzers, die vom Flugagenten empfohlenen Flüge, die vom Hotelagenten empfohlenen Hotels und die vom Mietwagenagenten empfohlenen Mietwagen anzeigen. Dies würde Ihnen einen klaren Überblick darüber geben, wie die Agenten miteinander interagieren und ob die Präferenzen und Einschränkungen des Benutzers erfüllt werden.
Betrachten wir jeden dieser Aspekte genauer.
Protokollierungs- und Überwachungswerkzeuge: Sie möchten, dass für jede vom Agenten ausgeführte Aktion eine Protokollierung erfolgt. Ein Protokolleintrag könnte Informationen über den Agenten, der die Aktion ausgeführt hat, die ausgeführte Aktion, den Zeitpunkt der Aktion und das Ergebnis der Aktion speichern. Diese Informationen können dann zur Fehlersuche, Optimierung und mehr verwendet werden.
Visualisierungswerkzeuge: Visualisierungswerkzeuge können Ihnen helfen, die Interaktionen zwischen Agenten auf intuitivere Weise zu erkennen. Sie könnten zum Beispiel ein Diagramm haben, das den Informationsfluss zwischen den Agenten zeigt. Dies könnte Ihnen helfen, Engpässe, Ineffizienzen und andere Probleme im System zu identifizieren.
Leistungsmetriken: Leistungsmetriken können Ihnen helfen, die Effektivität des Multi-Agenten-Systems zu verfolgen. Sie könnten zum Beispiel die benötigte Zeit zur Erledigung einer Aufgabe, die Anzahl der pro Zeiteinheit erledigten Aufgaben und die Genauigkeit der von den Agenten gemachten Empfehlungen verfolgen. Diese Informationen können Ihnen helfen, Verbesserungspotenziale zu identifizieren und das System zu optimieren.
Tauchen wir ein in einige konkrete Muster, die wir zur Erstellung von Multi-Agenten-Anwendungen verwenden können. Hier sind einige interessante Muster, die es wert sind, in Betracht gezogen zu werden.
Dieses Muster ist nützlich, wenn Sie eine Gruppenchat-Anwendung erstellen möchten, bei der mehrere Agenten miteinander kommunizieren können. Typische Anwendungsfälle für dieses Muster sind Teamkollaboration, Kundensupport und soziale Netzwerke.
In diesem Muster repräsentiert jeder Agent einen Benutzer im Gruppenchat, und Nachrichten werden zwischen den Agenten über ein Nachrichtenprotokoll ausgetauscht. Die Agenten können Nachrichten an den Gruppenchat senden, Nachrichten aus dem Gruppenchat empfangen und auf Nachrichten von anderen Agenten antworten.
Dieses Muster kann mit einer zentralisierten Architektur, bei der alle Nachrichten über einen zentralen Server geleitet werden, oder einer dezentralen Architektur, bei der Nachrichten direkt ausgetauscht werden, implementiert werden.

Dieses Muster ist nützlich, wenn Sie eine Anwendung erstellen möchten, bei der mehrere Agenten Aufgaben aneinander übergeben können.
Typische Anwendungsfälle für dieses Muster sind Kundensupport, Aufgabenverwaltung und Workflow-Automatisierung.
In diesem Muster repräsentiert jeder Agent eine Aufgabe oder einen Schritt in einem Workflow, und Agenten können Aufgaben basierend auf vordefinierten Regeln an andere Agenten übergeben.

Dieses Muster ist nützlich, wenn Sie eine Anwendung erstellen möchten, bei der mehrere Agenten zusammenarbeiten können, um Benutzern Empfehlungen zu geben.
Warum mehrere Agenten zusammenarbeiten sollten, liegt daran, dass jeder Agent unterschiedliche Fachkenntnisse haben kann und auf unterschiedliche Weise zum Empfehlungsprozess beitragen kann.
Nehmen wir ein Beispiel, bei dem ein Benutzer eine Empfehlung für die beste Aktie zum Kauf an der Börse wünscht.

Betrachten wir ein Szenario, in dem ein Kunde versucht, eine Rückerstattung für ein Produkt zu erhalten. Es können recht viele Agenten an diesem Prozess beteiligt sein, aber teilen wir ihn in Agenten auf, die speziell für diesen Prozess zuständig sind, und allgemeine Agenten, die auch in anderen Prozessen eingesetzt werden können.
Agenten, die speziell für den Rückerstattungsprozess zuständig sind:
Im Folgenden sind einige Agenten aufgeführt, die am Rückerstattungsprozess beteiligt sein könnten:
Allgemeine Agenten:
Diese Agenten können von anderen Teilen Ihres Unternehmens verwendet werden.
Es gibt eine ganze Reihe von Agenten, die zuvor sowohl für den spezifischen Rückerstattungsprozess als auch für die allgemeinen Agenten, die in anderen Teilen Ihres Unternehmens verwendet werden können, aufgeführt sind. Hoffentlich gibt Ihnen dies eine Vorstellung davon, wie Sie entscheiden können, welche Agenten Sie in Ihrem Multi-Agenten-System einsetzen möchten.
Entwerfen Sie ein Multi-Agenten-System für einen Kundensupport-Prozess. Identifizieren Sie die am Prozess beteiligten Agenten, ihre Rollen und Verantwortlichkeiten sowie die Art und Weise, wie sie miteinander interagieren. Berücksichtigen Sie sowohl Agenten, die spezifisch für den Kundensupport-Prozess sind, als auch allgemeine Agenten, die in anderen Teilen Ihres Unternehmens verwendet werden können.
Denken Sie nach, bevor Sie die folgende Lösung lesen, Sie benötigen möglicherweise mehr Agenten als Sie denken.
TIPP: Denken Sie über die verschiedenen Phasen des Kundensupport-Prozesses nach und berücksichtigen Sie auch die für jedes System benötigten Agenten.
Frage: Wann sollten Sie die Verwendung von Multi-Agenten in Betracht ziehen?
In dieser Lektion haben wir uns mit dem Multi-Agenten-Designmuster befasst, einschließlich der Szenarien, für die Multi-Agenten anwendbar sind, der Vorteile der Verwendung von Multi-Agenten gegenüber einem einzelnen Agenten, der Bausteine für die Implementierung des Multi-Agenten-Designmusters und wie Einblick in die Interaktionen der einzelnen Agenten miteinander erhalten werden kann.
Treten Sie dem Azure AI Foundry Discord bei, um andere Lernende zu treffen, Sprechstunden zu besuchen und Ihre Fragen zu KI-Agenten beantwortet zu bekommen.