Freigeben über


Einen untergeordneten Agent hinzufügen

Ein untergeordneter Agent ist ein leichtgewichtiger Agent, der im Kontext des Hauptagenten besteht. Mit untergeordneten Agenten können Sie Tools, Anweisungen und Wissen logisch in klar definierte Unteragenten innerhalb eines übergeordneten Agenten gruppieren. Sie eignen sich ideal für einzelne Anwendungsfälle, die auf eine einzelne Absicht reagieren oder eine einzelne Aufgabe ausführen. Dieser Artikel erklärt, wie Sie einen untergeordneten Agenten erstellen und verwalten.

Einen untergeordneten Agenten erstellen

  1. Wechseln Sie zur Seite Agents für Ihren Haupt-Agent, und wählen Sie Agent hinzufügen aus.

  2. Wählen Sie Neuen untergeordneten Agenten aus.

  3. Geben Sie einen eindeutigen Namen für Ihren neuen untergeordneten Agenten ein.

  4. Bestimmen Sie, wann Ihr Agent verwendet werden soll. Standardmäßig reagieren Agents auf Benutzer oder Trigger basierend auf ihrer Beschreibung.

    • Wenn Sie das Standardverhalten verwenden möchten (Der Agent wählt – basierend auf der Beschreibung) geben Sie eine kurze Beschreibung des Zwecks Ihres Agents ein.
    • Erweitern Sie andernfalls die Liste unter Wann wird dies verwendet? und wählen Sie das gewünschte Verhalten aus. Weitere Informationen zu den unterstützten Verhaltensweisen finden Sie unter Bestimmen, wann Ihr Agent verwendet werden soll.
  5. Geben Sie klare Anweisungen ein, denen Ihr Agent folgen soll, wenn er aufgerufen wird. Wenn Sie in Ihren Anweisungen auf Tools, Variablen oder Power Fx-Formeln verweisen möchten, geben Sie einen Schrägstrich (/) ein, und wählen Sie die gewünschte Option aus dem daraufhin angezeigten Menü aus.

    Wichtig

    Wenn Sie bestehende Werkzeuge in Ihren Subagenten-Anweisungen referenzieren, entscheiden Sie, ob das Tool direkt von Ihrem Hauptagenten zugänglich sein soll oder nur, wenn es explizit innerhalb der Subagenten-Anweisungen aufgerufen wird. Die Beschränkung der Nutzung eines Tools auf explizite Instruktionsreferenzen hilft, Verwirrung durch Orchestrator zu vermeiden, wenn ähnliche Werkzeuge oder Agenten existieren. Wenn Sie beispielsweise über einen Agent namens „Kontostand überprüfen“ und ein ähnliches Tool namens „Kontostand abrufen“ verfügen, beschränken Sie das Tool so, dass es nur von dem Agent aufgerufen wird, um Überlappungen zu vermeiden. Um ein Tool darauf zu beschränken, nur verfügbar zu sein, wenn es von einem anderen Agenten referenziert wird, deaktivieren Sie die Eigenschaft, dass Agenten dynamisch entscheiden dürfen, wann dieses Tool verwendet wird im Abschnitt Zusätzliche Details auf der Detailseite des Tools.

  6. Optional fügen Sie Wissen und Werkzeuge hinzu, die nur dieser Kindagent nutzen kann:

    • Wählen Sie im Abschnitt "Wissen " die Option "Hinzufügen" aus, und fahren Sie wie beim Hinzufügen von Wissen zu Ihrem Hauptagenten fort.
    • Wählen Sie im Abschnitt Extras die Option Hinzufügen aus und fahren Sie wie beim Hinzufügen von Werkzeugen zu Ihrem Hauptagenten fort.
  7. Wenn dieser Agent noch nicht aktiv sein soll, schalten Sie Aktiviert aus. Sie können Ihren untergeordneten Agenten später aktivieren.

  8. Wählen Sie Speichern aus.

Ein- und Ausgaben verwalten

Standardmäßig erhält ein untergeordneter Agent vom Haupt-Agent eine Aufgabe in natürlicher Sprache, die er ausführen soll, wenn der Agent ihn aufruft. Wenn er seine Aufgabe erfüllt hat, gibt er eine natürliche Sprachzusammenfassung dessen zurück, was während der Ausführung passiert ist. In einigen Fällen möchten Sie möglicherweise explizitere Eingabe- und Ausgabewerte für den Agent angeben.

Eingaben konfigurieren und Eingabeerfassung

  1. Wählen Sie auf der Seite Ihrer Elternagenten Ihren Kindermakler aus.

  2. Scrollen Sie zum Abschnitt Eingaben .

  3. Wählen Sie Eingabe hinzufügen aus, um eine Eingabe hinzuzufügen. Definieren Sie einen Anzeigenamen und eine Beschreibung, die dem Agent dabei helfen, den Zweck der Eingabe zu verstehen, sodass er die Eingabe mit einem relevanten Wert ausfüllen kann, wenn dieser Agent aufgerufen wird.

  4. Wählen Sie einen Datentyp aus.

  5. Wählen Sie optional Diese Eingabe erforderlich machen aus, damit die Eingabe einen Wert aufweist, bevor der Agent aufgerufen werden kann.

  6. Wählen Sie Speichern aus.

Fortschrittliche Eingangskonfigurationen

Wähle Erweitert, um den Abschnitt zu erweitern und die anderen Einstellungen zu sehen, die du für die Eingabe konfigurieren kannst.

Erweiterte Einstellungen umfassen folgende Einstellungen, die sich darauf beziehen, wie der Agent den Eingabewert beim Aufruf des Kindagenten ausfüllt:

  • Sollte den Benutzer auffordern: Wenn diese Einstellung aktiviert ist, fordert der Agent den Endnutzer explizit nach einem Wert für die Eingabe an, falls der Agent den Wert aus dem verfügbaren Kontext nicht finden kann. Das ist nützlich, wenn du sicherstellen möchtest, dass der Agent einen Wert für diese Eingabe erhält, auch wenn der anrufende Agent keinen liefert oder keinen relevanten Kontext hat, um ihn auszufüllen. Wenn diese Einstellung aktiviert ist, generiert der Kindagent eine Aufforderung, um den Benutzer nach den erforderlichen Informationen zu fragen, was die Genauigkeit der Antwort des Agenten verbessern kann.
  • Prompt – Anpassung: Wähle aus, um die Formulierung eines bestimmten Prompts für die Sammlung anzupassen, um deterministischere Kontrolle zu erhalten.
  • Wie viele Reprompts: Gib an, wie oft der Agent den Benutzer für diese Eingabe erneut auffordern soll, falls der angegebene Wert nicht gültig ist. Dies ist nützlich, um sicherzustellen, dass der Agent einen gültigen Wert für diese Eingabe erhält. Du kannst bis zu zwei Reprompts auswählen.
  • Wiederholungsaufforderung - Anpassen: Wählen Sie diese Option, um die Formulierung spezifischer Eingabeaufforderungen für Rückfragen anzupassen, wenn der angegebene Wert die festgelegten Bedingungen nicht erfüllt, um eine deterministischere Steuerung zu ermöglichen.
  • Bedingung: Spezifizieren Sie Bedingungen, die die angegebene Eingabe erfüllen muss, um als gültig zu gelten.
  • Bedingung nicht erfüllt: Passen Sie die Formulierung eines bestimmten Prompts so an, dass der Nutzer einen anderen Wert anfordert, wenn der angegebene Wert die angegebenen Bedingungen nicht erfüllt.
  • Aktion, wenn keine Entität gefunden wurde: Spezifizieren Sie die Aktion, die der Agent ausführen soll, wenn der Agent keinen Wert für diese Eingabe aus dem verfügbaren Kontext oder durch Prompting finden kann. Wähle aus, ob du eskalierst, die Variable auf einen bestimmten Wert setze oder den Wert leer lässt.
  • Keine Entität gefunden-Meldung: Wenn du dich entscheidest, dass der Agent eskaliert, obwohl für diese Eingabe kein Wert gefunden wird, passe die Nachricht an, die der Agent an den Nutzer sendet.

Konfigurieren Sie die Ausgaben von Unteragenten und das Vervollständigungsverhalten

Unter Ausgaben können Sie die Ausgabewerte konfigurieren, die Ihr Kindagent an den Elternagenten zurückgibt, wenn er fertig ist. Du kannst auch das Verhalten des Elternagenten konfigurieren, nachdem der Kindagent abgeschlossen ist.

Konfigurieren Sie das Verhalten des Elternagenten nach Abschluss des Kindagenten

Sie können das Verhalten des Elternagenten angeben, nachdem der Kindagent seine Ausführung beendet hat, unter Nach dem Ausführen im Abschnitt Ausgaben

  • Nicht antworten: Standardmäßig fährt der Elternagent mit dem nächsten Schritt seines Orchestrierungsplans fort, nachdem der Kindagent abgeschlossen ist und alle Ausgaben an den Elternagenten zurückgibt. Sie können auch auswählen, dass der Elternagent dem Benutzer unmittelbar nach Abschluss des Kindagenten eine Nachricht sendet, bevor Sie mit dem nächsten Schritt im Orchestrierungsplan fortfahren, indem Sie eine der anderen Optionen auswählen.
  • Schreiben Sie die Antwort mit generativer KI: Nachdem der Kindagent abgeschlossen hat, sendet der Elternagent dem Benutzer sofort eine Nachricht mit einer generativen KI-Antwort und verwendet dabei die Ausgaben des Kindagenten als Kontext.
  • Spezifische Antwort senden: Der Elternagent sendet dem Benutzer unmittelbar nach Abschluss des Kindagenten eine bestimmte Nachricht, unabhängig von den Ausgaben des Kindagenten. Wenn Sie diese Option auswählen, können Sie den Nachrichteninhalt anpassen.
  • Senden Sie eine adaptive Karte: Der Elternagent sendet dem Nutzer unmittelbar nach Abschluss des Kindagenten eine adaptive Karte. Wenn du diese Option auswählst, kannst du den adaptiven Karteninhalt anpassen.

Ausgaben konfigurieren

  1. Wechseln Sie zu den Details des untergeordneten Agenten.

  2. Scrollen Sie zum Abschnitt Ausgaben .

  3. Um die aktuelle Liste der Ausgaben anzuzeigen, erweitern Sie den Abschnitt Erweitert im Abschnitt Ausgaben.

  4. Um eine Ausgabe hinzuzufügen, wählen Sie Ausgabe hinzufügen aus. Definieren Sie einen Anzeigenamen und eine Beschreibung, die dem Agent dabei helfen, den Zweck der Ausgabe zu verstehen, sodass er sie mit einem relevanten Wert ausfüllen kann, wenn Werte zum aufrufenden Agent zurückgegeben werden.

  5. Wählen Sie einen Datentyp aus.

  6. Wählen Sie Speichern aus.

Im Abschnitt Ausgaben können Sie auch auswählen, dass eine Nachricht unmittelbar nach Abschluss des untergeordneten Agents an den Benutzer gesendet werden soll. Wenn Sie die Nachricht senden möchten, ändern Sie die Auswahl Nach der Ausführung.

Bestimmen, wann Ihr Agent verwendet werden soll

Standardmäßig reagieren untergeordnete Agenten auf eine Benutzerabfrage anhand ihrer Beschreibung. Sie können untergeordnete Agents auch unter Wann wird dies verwendet? so konfigurieren, dass sie andere Ereignisse abfangen und darauf reagieren.

Ereignis Beschreibung
Es wird eine Nachricht empfangen Wird aufgerufen, wenn eine Nachrichtenaktivität – die häufigste Art von Aktivität – empfangen wird. Wird empfangen, wenn ein Benutzer etwas eingibt oder zum Agent sagt. Standardmäßig antwortet der Agent auf beliebige Nachrichten. Verwenden Sie die Liste " Aktivitätstyp " unter "Zusätzliche Details", um die Agentantwort auf einen bestimmten Nachrichtentyp zu beschränken.
Es wird ein benutzerdefiniertes Client-Ereignis ausgeführt Wird aufgerufen, wenn eine Ereignis-Aktivität empfangen wird. Standardmäßig antwortet der Agent auf beliebige Ereignisse. Um die Agentantwort auf ein bestimmtes Ereignis zu beschränken, verwenden Sie die Eigenschaft "Ereignisname " unter "Zusätzliche Details".
Es wird eine Aktivität ausgeführt Wird aufgerufen, wenn ein beliebiger Aktivitätstyp empfangen wird. Um die Agentantwort auf einen bestimmten Aktivitätstyp zu beschränken, verwenden Sie die Liste " Aktivitätstyp " unter "Zusätzliche Details".
Unterhaltung ändert sich Wird aufgerufen, wenn eine Aktualisierungsaktivität für Gespräche empfangen wird. Beispielsweise sendet Teams eine Aktivität dieses Typs, wenn ein Benutzer einer Unterhaltung beitritt.
Es wird aufgerufen Wird aufgerufen, wenn eine Invoke-Aktivität empfangen wird. Wird am häufigsten aus dem Teams-Kanal empfangen, z. B. wenn der Benutzer mit einer Nachricht oder Sucherweiterung in Teams interagiert.
Es wird weitergeleitet zu Wird aufgerufen, wenn der Agent explizit innerhalb eines Themas aufgerufen wird.
Benutzer ist seit einer Weile inaktiv Wird aufgerufen, wenn der Benutzer nach einem konfigurierten Zeitraum nicht mit dem Haupt-Agent interagiert hat. Wählen Sie den gewünschten Inaktivitätsschwellenwert aus der Liste " Inaktivitätsdauer " unter "Weitere Details" aus.
Ein Plan schließt ab Wird aufgerufen, wenn der Haupt-Agent die Ausführung aller geplanten Schritte abgeschlossen hat, um auf eine Benutzerabfrage oder einen autonomen Trigger zu reagieren.
Eine KI-generierte Antwort wird in Kürze gesendet Wird aufgerufen, wenn der Haupt-Agent eine Antwort für einen Benutzer generiert, nachdem ein oder mehrere Themen, Tools oder Wissensquellen aufgerufen wurden. Verwenden Sie die Response.FormattedText Systemvariable, um die generierte Antwort anzuzeigen. Legen Sie die Variable ContinueResponse auf „false“ fest, wenn Sie verhindern möchten, dass die Orchestrierungsantwort gesendet wird (das heißt, wenn Sie die Nachricht ändern und ihre eigene mit einem Nachrichten-Knoten senden).

Sonstige Details

Je nach Auswahl für Wann wird dies verwendet?, sind möglicherweise weitere Eigenschaften verfügbar. Die folgenden Eigenschaften sind immer verfügbar.

Bedingung

Geben Sie Bedingungen an, die erfüllt werden müssen, damit der Agent aufgerufen werden kann. Beispielsweise soll der Agent nur aufgerufen werden, wenn der von einem Mitarbeiter verwendete Kanal Microsoft Teams ist.

Screenshot einer Bedingung, um den Umfang eines untergeordneten Agents auf den Microsoft Teams-Kanal einzuschränken.

Wenn Sie komplexere Bedingungen benötigen, können Sie in den Power Fx Formeleditor wechseln: Wählen Sie Builder und dann Formel auswählen.

Screenshot mit der Option, zum Formeleditor zu wechseln.

Priorität

Für eine einzelne eingehende Aktivität, beispielsweise eine Nachricht, können mehr als ein Agent aktiv werden. Standardmäßig bestimmt die Option, die Sie für Wann wird dies verwendet? auswählen, in welcher Reihenfolge die Agenten ausgewählt werden.

Untergeordnete Agenten und Themenbereiche nutzen denselben Satz an Triggern oder Ereignissen, auf die sie reagieren können. Wenn ein Agent und ein Thema so konfiguriert sind, dass er bzw. es auf dasselbe Ereignis reagiert, z. B. Benutzerinaktivität, verwenden Sie die Prioritätseigenschaft, um zu bestimmen, welche zuerst kommt.

Reihenfolge der Ausführung:

  1. Es wird eine Aktivität ausgeführt
  2. Es wird eine Nachricht empfangen / Es ereignet sich ein benutzerdefiniertes Client-Ereignis / Die Unterhaltung ändert sich / Es wird aufgerufen
  3. Der Agent wählt

Wenn mehrere Agents oder Themen basierend auf demselben Ereignistyp aufgerufen werden müssen, werden sie in der Reihenfolge der Erstellung aufgerufen (älteste zuerst).

Sie können die Priority-Eigenschaft explizit festlegen. Eine niedrigere Zahl weist auf eine höhere Priorität hin.

Kinderagenten und Werkzeuge

Copilot Studio-Agents, die generative Orchestrierung verwenden, haben Einschränkungen in der maximalen und empfohlenen Anzahl von Tools, die sie verwenden können. Weitere Informationen finden Sie unter Einschränkungen von Werkzeugen in Agenten.

Wenn ein Child Agent aufgerufen wird, nutzt er eigene Werkzeuge und Wissen, um auf den Benutzer oder das Ereignis zu reagieren. Da Kind-Agenten ihre eigene Orchestrierung haben, haben sie ihre eigenen Begrenzungen für die Anzahl der Werkzeuge, getrennt von den Begrenzungen des Elternagenten.

Die separate Grenze ist einer der Vorteile der Verwendung von Kinderagenten: Man kann Werkzeuge und Wissen logisch in kleinere Agenten gruppieren, die sich auf bestimmte Aufgaben konzentrieren, ohne die Gesamtgrenzen des Hauptagenten zu beeinflussen. Es gibt jedoch einen Kompromiss in der Latenz, die durch die zusätzliche Orchestrierungsschicht hinzugefügt wird.