Freigeben über


Übergangsgespräche von Bot zu Mensch

GILT FÜR: SDK v4

Unabhängig davon, wie viel künstliche Intelligenz ein Bot besitzt, muss es möglicherweise trotzdem die Unterhaltung an einen Menschen übergeben. Eine solche Übergabe kann erforderlich sein, wenn der Bot den Benutzer nicht versteht (aufgrund einer KI-Einschränkung), oder wenn die Anforderung nicht automatisiert werden kann und eine menschliche Aktion erfordert. In solchen Fällen sollte der Bot erkennen, wann er die Unterhaltung übergeben und dem Benutzer einen reibungslosen Übergang bieten muss.

Microsoft Bot Framework ist eine offene Plattform, die Entwicklern die Integration in verschiedene Agent-Engagement-Plattformen ermöglicht.

Handoff-Integrationsmodelle

Microsoft Bot Framework unterstützt zwei Modelle für die Integration mit Agent-Engagement-Plattformen. Das Übergabeprotokoll ist für beide Modelle identisch, die Onboarding-Details unterscheiden sich jedoch zwischen den Modellen und den Agent-Engagement-Plattformen.

Ziel ist es nicht, eine universelle Lösung für die Integration in das System eines Kunden anzubieten, sondern eine gemeinsame Sprache und bewährte Methoden für Botentwickler und Systemintegratoren bereitzustellen, mit denen konversationale KI-Systeme mit menschlicher Beteiligung erstellt werden.

Bot als Agent

In dem ersten Modell, das als Bot als Agent bekannt ist, reiht sich der Bot in die Reihen der Live-Agents ein, die mit dem Agent-Hub verbunden sind, und antwortet auf Benutzeranfragen, als ob die Anfragen von einem anderen Bot Framework-Kanal stammen. Die Unterhaltung zwischen dem Benutzer und dem Bot kann an einen menschlichen Agenten übergeben werden. In diesem Moment zieht sich der Bot aus der aktiven Unterhaltung zurück.

Der Hauptvorteil dieses Modells ist die Einfachheit – Sie können dem Agent-Hub einen vorhandenen Bot mit minimalem Aufwand hinzufügen, und der Agent-Hub behandelt die Komplexität des Nachrichtenroutings.

Diagramm eines Agent-Hubs, der Nachrichten an einen Bot oder einen menschlichen Agenten weiterleiten kann.

Bot als Proxy

Das zweite Modell wird als Bot als Proxy bezeichnet. Der Benutzer spricht direkt mit dem Bot, bis der Bot entscheidet, dass er Hilfe von einem menschlichen Agenten benötigt. Die Nachrichtenrouterkomponente im Bot leitet die Unterhaltung an den Agent-Hub weiter, wodurch sie an den entsprechenden Agent gesendet wird. Der Bot ist auf dem Laufenden und kann das Transkript des Gesprächs sammeln, Nachrichten filtern oder zusätzliche Inhalte sowohl für den Agenten als auch für den Benutzer bereitstellen.

Flexibilität und Kontrolle sind die wichtigsten Vorteile dieses Modells. Der Bot kann mehrere Kanäle unterstützen und die Kontrolle darüber haben, wie die Unterhaltungen eskaliert und zwischen dem Benutzer, dem Bot und dem Agent-Hub weitergeleitet werden.

Diagramm eines Bots, der Nachrichten an einen Agent-Hub weiterleiten kann.

Übergabeprotokoll

Das Protokoll zentriert sich um Ereignisse für die Initiierung, die vom Bot an den Kanal gesendet wird, und um Statusaktualisierungen, die vom Kanal an den Bot gesendet werden.

Übergabeinitiierung

Ein Handoff-Initiierungsereignis wird vom Bot erstellt, um die Übergabe zu initiieren.

Das Ereignis kann Folgendes umfassen:

  • Der Kontext der Übergabeanforderung, um die Unterhaltung an einen geeigneten Agent weiterzuleiten.
  • Ein Transkript der Unterhaltung, damit ein Agent die Unterhaltung lesen kann, die zwischen dem Kunden und dem Bot stattgefunden hat, bevor die Übergabe eingeleitet wurde.

Die folgenden sind allgemeine Eigenschaften des Handoff-Initierungsereignisses:

  • Name: Erforderlich, die Name-Eigenschaft muss auf "handoff.initiate" festgelegt werden.

  • Die Eigenschaft Unterhaltung ist erforderlich und beschreibt die Unterhaltung, in der die Aktivität enthalten ist. Unterhaltung muss das Gespräch Identhalten.

  • Wert: Optional kann die Werteigenschaft agenthubspezifische JSON-Inhalte enthalten, die der Hub verwenden kann, um die Unterhaltung an einen relevanten Agent weiterzuleiten.

  • Anlagen: Optional kann die Attachments-Eigenschaft ein Transkript als Anlage enthalten. Das Bot Framework definiert einen Anhangstyp für Transkripte. Eine Anlage kann entweder direkt (vorbehaltlich einer Größenbeschränkung) oder offline gesendet werden, indem Sie ContentUrl bereitstellen.

    handoffEvent.Attachments = new List<Attachment> {
        new Attachment {
            Content = transcript,
            ContentType = "application/json",
            Name = "Transcript",
        }
    };
    

    Hinweis

    Agent-Hubs müssen Anlagentypen ignorieren, die sie nicht verstehen.

Wenn ein Bot erkennt, dass die Unterhaltung an einen Agenten übergeben werden muss, signalisiert er seine Absicht durch Senden eines Übergabeinitiierungsereignisses. Das SDK für C# enthält eine CreateHandoffInitiation Methode zum Erstellen eines gültigen Handoffinitiierungsereignisses.

var activities = GetRecentActivities();
var handoffContext = new { Skill = "credit cards" };
var handoffEvent =
    EventFactory.CreateHandoffInitiation(
        turnContext, handoffContext, new Transcript(activities));
await turnContext.SendActivityAsync(handoffEvent);

Übergabestatus

Ein Übergabestatusereignis wird vom Agent-Hub an den Bot gesendet. Das Ereignis informiert den Bot über den Status des initiierten Übergabevorgangs.

Hinweis

Bots sind nicht erforderlich, um ein Übergabeereignis zu behandeln; sie dürfen dieses jedoch nicht ablehnen.

Im Folgenden finden Sie allgemeine Handoffstatusereignisfelder:

  • Name: Erforderlich, die Name-Eigenschaft muss auf "handoff.status" festgelegt werden.

  • Die Eigenschaft Unterhaltung ist erforderlich und beschreibt die Unterhaltung, in der die Aktivität enthalten ist. Unterhaltung muss das Gespräch Identhalten.

  • Wert: Erforderlich, die Werteigenschaft , die den aktuellen Status des Übergabevorgangs beschreibt. Der Wert weist die folgenden Eigenschaften auf.

    • Status: Erforderlich, die Statuseigenschaft kann einen der folgenden Werte aufweisen:

      Wert Bedeutung
      "angenommen" Ein Agent hat die Anfrage angenommen und die Kontrolle über die Unterhaltung übernommen.
      fehlgeschlagen Fehler bei der Übergabeanforderung. Die Nachrichteneigenschaft kann zusätzliche Informationen enthalten, die für den Fehler relevant sind.
      "abgeschlossen" Die Übergabeanforderung wurde abgeschlossen.
    • Nachricht: Optional ist die Nachrichteneigenschaft ein Objekt, das vom Agent-Hub definiert wird.

    Hier sind einige Beispielwertobjekte:

    { "state" : "completed" }
    
    { "state" : "failed", "message" : "Can't find agent with requested skill" }
    

Übergabebibliothek

Die Handoff-Bibliothek wurde erstellt, um das Bot Framework v4 SDK zur Unterstützung der Übergabe zu ergänzen; nämlich:

  • Implementiert die Ergänzungen des Bot Framework SDK, um die Übergabe an einen Agent (auch als Eskalation bezeichnet) zu unterstützen.
  • Enthält Definitionen von drei Ereignistypen für Signalhandoffvorgänge.

Hinweis

Integrationen mit bestimmten Agent-Hubs sind nicht Teil der Bibliothek.

Weitere Ressourcen