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:
Abrufen der E-Mail-Adresse und des Namens des Benutzers
Abrufen der E-Mail-Adresse des Empfängers
Abrufen des Themas der E-Mail
Generieren des Betreffs und des Texts der E-Mail
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:
Abrufen der E-Mail-Adresse und des Namens des Benutzers
Abrufen der E-Mail-Adresse des Empfängers
Abrufen des Themas der E-Mail
Generieren des Betreffs und des Texts der E-Mail
Überprüfen der E-Mail mit dem Benutzer und Vornehmen von Anpassungen
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.
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
In diesem Lernpfad üben Sie das Erstellen von benutzerdefinierten Agents mit Microsoft Copilot Studio. Zu den getesteten Qualifikationen gehören die Erstellung von Management-Themen, die Arbeit mit Entitäten und Variablen, die Verbesserung von Agents mit generativer KI und die Veröffentlichung von Agents. Das Szenario in dieser Erfahrung stellt reale Herausforderungen dar, denen sich Personen mit geschäftsspezifischem Fachwissen gegenübersehen, die benutzerdefinierte Agents entwickeln.
Lernen Sie grundlegende Konzepte für das Prompt Engineering kennen, und erfahren Sie, wie Sie es mithilfe von .NET-Tools wie dem Semantic Kernel SDK implementieren.
Informationen dazu, wie große Sprachmodelle (Large Language Models, LLMs) Token verwenden, um semantische Beziehungen zu analysieren und Ausgaben in natürlicher Sprache zu generieren
Erfahren Sie, wie Sie mit der Generierung erweiterter Abrufe Ihre Daten mit LLMs verwenden können, um bessere Vervollständigungen in .NET zu generieren.