Auf Englisch lesen

Freigeben über


So arbeiten Agents und Copilots mit LLMs

Agents und Copilots erweitern beide die Funktionen eines LLM durch intelligentes Aufrufen externer Funktionen, z. B. das Senden einer E-Mail.

  • Ein Agent ist eine künstliche Intelligenz, die Fragen beantworten und Prozesse für Benutzer automatisieren kann. Agents können bestimmen, welche Funktionen dem Ziel eines Benutzers entsprechen, und diese Funktionen dann im Namen des Benutzers aufrufen.
  • Ein Copilot ist eine Art Agent, der Seite an Seite mit einem Benutzer arbeitet. Im Gegensatz zu einem Agent ist ein Copilot nicht vollständig automatisiert – er ist auf Benutzerinteraktionen angewiesen. Ein Copilot kann Benutzern helfen, eine Aufgabe abzuschließen, indem Vorschläge und Empfehlungen bereitgestellt werden.

Angenommen, Sie erstellen eine Hilfs-App mit E-Mail-Chat. Neben dem LLM benötigen Sie auch ein Plug-In zur Durchführung von E-Mail-bezogenen Aktionen sowie Plug-Ins zum Suchen, Zusammenfassen, Bestimmen der Absicht und dergleichen. Sie können native Funktionen, vorgefertigte Plug-Ins und Ihre eigenen benutzerdefinierten Plug-Ins verwenden.

Die Erstellung der Plug-Ins ist nur die halbe Miete: Sie müssen immer noch die richtigen Funktionen zur richtigen Zeit aufrufen, ein Prozess, der fehleranfällig und ineffizient sein kann. Ein Agent kann dies besser handhaben.

Ein Agent entscheidet automatisch, welche Abfolge von Funktionen ein LLM verwenden kann, um ein Benutzerziel zu erreichen. Angenommen, Sie haben eine Chat-App, die neue Posteingangselemente überprüft und bestimmt, welche Aktion für jedes Element erforderlich ist. Wenn Sie einen Agent einrichten, kann dieser die notwendigen Plug-In-Funktionen orchestrieren und die Schritte automatisch ausführen.

Komponenten eines Agents

Jeder Agent besteht aus drei Kernbausteinen: einer Persona, Plug-Ins und Planern.

  • Personas bestimmen die Art und Weise, in der Agents auf Benutzer reagieren oder Aktionen durchführen.
  • Mit Plug-Ins können Agents Informationen von Benutzern oder von anderen Systemen abrufen. Sie können vorgefertigte Plug-Ins und Ihre eigenen benutzerdefinierten Plug-Ins verwenden.
  • Mit Planern können Agents planen, wie sie die verfügbaren Plug-Ins verwenden.

Personas

Die Persona eines Agents ist seine Identität: Alle Plug-Ins und Planer, die der Agent verwendet, sind Tools, aber die Persona bestimmt, wie er diese Tools verwendet. Sie verwenden Anleitungen in einem Prompt, um die Persona eines Agents festzulegen.

Sie können z. B. Anleitungen verwenden, um einem Agent mitzuteilen, dass er Menschen bei der Verwaltung von E-Mails hilft, und um seine Entscheidungen zu erläutern, während er sie trifft. Ihr Prompt könnte etwa so aussehen:

prompt = $"""
    <message role="system">
    You are a friendly assistant helping people with emails.
    When you decide to perform an action, explain your decision and then perform the action.
    </message>
"""

Plug-Ins

Sie verwenden Plug-Ins, um Dinge zu erledigen, die ein LLM allein nicht erledigen kann, wie z. B. das Abrufen von Daten aus externen Datenquellen oder das Ausführen von Aufgaben in der realen Welt.

Ein LLM kann zum Beispiel keine E-Mails versenden. Um diese Funktion zu einer Chat-App hinzuzufügen, müssten Sie also ein Plug-In erstellen. Um Text aus den E-Mails zu verarbeiten, könnten Sie Kern-Plug-Ins verwenden, wie z. B. ConversationSummaryPlugin.

Achten Sie darauf, die Funktionen in Ihren Plug-Ins klar zu dokumentieren – Planer verwenden diese Informationen, um festzustellen, welche Funktionen verfügbar sind.

Planer

Ein Planer kann verfügbare Funktionen analysieren und alternative Möglichkeiten finden, um das Ziel zu erreichen.

Das Aufrufen von Plug-In-Funktionen ist nicht immer effizient. Angenommen, Sie möchten die Zahlen zwischen 1 und 100 addieren. Sie könnten ein Mathe-Plug-In aufrufen, aber der LLM müsste für jede Zahl einen separaten Aufruf tätigen.

Außerdem hängt die beste Reihenfolge und Kombination von Funktionen zum Erreichen eines Ziels von den Details ab. Angenommen, Sie erstellen eine Hilfs-App für E-Mail-Chats und binden ein Plug-In ein, das das Senden von E-Mails ermöglicht. Einige E-Mails erfordern jedoch möglicherweise eine andere Aktion, z. B. eine Besprechungsanforderung ohne RSVP – das Senden einer Antwort ist nicht erforderlich, das Hinzufügen eines Kalenderelements jedoch schon. Ein Planer betrachtet alle verfügbaren Funktionen und findet effiziente Möglichkeiten, um Ziele zu erreichen.

Copilots fügen Benutzerinteraktion hinzu

Die Prozessautomatisierung hat viele Vorteile, aber manchmal müssen Benutzer während des Prozesses Entscheidungen treffen. Ein Agent kann keine Benutzeraktionen automatisieren. Hier kommen Copilots ins Spiel.

Ein Agent in Ihrer E-Mail-Chat-App könnte den folgenden Plan für den Versand einer E-Mail erstellen:

  1. Abrufen der E-Mail-Adresse und des Namens des Benutzers
  2. Abrufen der E-Mail-Adresse des Empfängers
  3. Abrufen des Themas der E-Mail
  4. Generieren des Betreffs und des Texts der E-Mail
  5. Versenden der E-Mail

Sehr praktisch, aber was ist, wenn dem Benutzer der Text der E-Mail nicht gefällt? Ein Copilot fügt dem Plan einen Benutzerinteraktionsschritt hinzu:

  1. Abrufen der E-Mail-Adresse und des Namens des Benutzers
  2. Abrufen der E-Mail-Adresse des Empfängers
  3. Abrufen des Themas der E-Mail
  4. Generieren des Betreffs und des Texts der E-Mail
  5. Überprüfen der E-Mail mit dem Benutzer und Vornehmen von Anpassungen
  6. Versenden der E-Mail

App „Semantic Kernel Chat Copilot“

Zum Einstieg in Copilots empfiehlt sich Semantic Kernel Chat Copilot, eine Referenzanwendung für die Erstellung einer Chaterfahrung mit einem KI-Agent.