Note
GitHub Copilot Extensions befinden sich in der public preview und können noch geändert werden.
Bei einem Skill in GitHub Copilot handelt es sich um ein Tool, das ein Modell zum Ausführen einer bestimmten Aufgabe als Antwort auf eine Benutzerabfrage aufruft. Ein Skillset ist eine Sammlung dieser Skills (bis zu fünf pro Skillset). Github Copilot skillsets bieten eine optimierte Möglichkeit, die Funktionalität von Copilot zu erweitern. So können Entwickler externe Dienste oder benutzerdefinierte API-Endpunkte mit ihrem Copilot-Workflow integrieren. Entwickler können mit Skillsets dafür sorgen, dass Copilot Aufgaben durchführt, ohne komplexe Workflows oder Architekturen verwalten zu müssen. Zu diesen Aufgaben gehört z. B. das Abrufen von Daten oder das Durchführen von Aktionen in Drittanbieterdiensten.
Ein Schnellstartbeispiel für ein Skillset findest du im Repository skillset-example. Weitere Informationen zum Erstellen eines Skillsets findest du unter Erstellen von Copilot-Skillsets.
Unterschiede zwischen Skillsets und Agents
Mit Skillsets und Agents können die Funktionen und der Kontext von Copilot mithilfe der Copilot Extensibility Platform erweitert werden. Damit kannst du externe Dienste und APIs mit Copilot Chat integrieren. Jede Instanz hat verschiedene Anwendungsfälle und unterschiedliche Kontrollmöglichkeiten und Komplexitätsniveaus:
- Skillsets sind einfach, optimiert und für Entwickler erstellt, die Copilot zum Durchführen bestimmter Aufgaben mit geringem Setup benötigen, z. B. Abrufen von Daten oder einfache Vorgänge. Routing, das Erstellen von Prompts, das Auswerten von Funktionen und das Generieren von Antworten wird automatisch verarbeitet. Daher eignen sich Skillsets ideal für schnelle und einfache Integrationen.
- Agents sind für komplexe Integrationen vorgesehen, die vollständige Kontrolle darüber erfordern, wie Anforderungen verarbeitet und Antworten generiert werden. So kannst du benutzerdefinierte Logik implementieren, mit anderen LLMs und/oder der Copilot-API integrieren, Unterhaltungskontext verwalten und dich um alle Aspekte der Benutzerinteraktion kümmern. Während Agents mehr Engineering und Wartung erfordern, bieten sie maximale Flexibilität für anspruchsvolle Workflows. Weitere Informationen zu Agents findest du unter Informationen über Copilot-Agents.
Die Extensibility Platform
Skillsets und Agents werden auf der GitHub Copilot Extensibility Platform betrieben, die den Flow von Benutzeranforderungs- und Funktionsauswertungen verwaltet. Die Plattform verarbeitet das Routing, das Erstellen von Prompts, das Aufrufen von Funktionen und das Generieren von Prompts mithilfe von Copilot skillsets.
Übersicht über Workflow
Die Extensibility Platform folgt einem strukturierten Workflow zum Verarbeiten von Benutzeranforderungen und Generieren von Antworten:
-
Benutzeranforderung
Ein Benutzer stellt über die Benutzeroberfläche von Copilot Chat eine Anforderung, z. B. nach Daten oder zum Ausführen einer bestimmten Aktion. -
Routing
Die Anforderung wird an die entsprechende Erweiterung weitergeleitet. Bei Skillsets bedeutet dies, dass der Platform-Agent das entsprechenden Skillset basierend auf der Absicht des Benutzers identifiziert und aufruft. Die Rückschlussbeschreibung der einzelnen Skills hilft der Platform zu bestimmen, welcher Skill aufgerufen werden soll. -
Dynamisches Erstellen von Prompts
GitHub Copilot generiert mit folgenden Optionen einen Prompt:- Abfrage des Benutzers
- Relevanter Threadverlauf
- Verfügbare Funktionen im Skillset
- Ergebnisse aller vorherigen Funktionsaufrufe
-
LLM-Abschluss
Das Sprachmodell (LLM) verarbeitet den Prompt und bestimmt Folgendes:- Ob die Absicht des Benutzers mit einer Skillset-Funktion übereinstimmt
- Welche Funktion(en) mit welchen Argumenten aufgerufen werden sollen
- Falls erforderlich sendet das LLM möglicherweise zusätzliche Funktionsaufrufe, um mehr Kontext zu sammeln.
-
Funktionsauswertung
Die Erweiterung ruft die ausgewählten Funktionen auf, die Folgendes umfassen können:- Sammeln von relevantem Kontext, z B. Repositorys oder Benutzermetadaten von Copilot skillsets.
- API-Aufrufe an einen externen Dienst zum Abrufen von Daten oder Ausführen einer Aktion
-
Antwortgenerierung Nach Bedarf optimiert die Platform die Ausgabe iterativ, erstellt eine Schleife beim Erstellen von Prompts, bei der LLM-Vervollständigung und beim Auswerten von Funktionen. Nach Abschließen des Prozesses streamt Copilot eine endgültige Antwort über die Chatoberfläche zurück an den Benutzer.