Introduction
Sie können Copilot anpassen, um Ihre Konventionen zu befolgen, wiederholbare Workflows durchzuführen oder über Ihre Codebasis hinaus eine Verbindung mit Systemen herzustellen.
In diesem Artikel wird der Unterschied zwischen:
-
Angepasste Anweisungen
Diese zeigen Copilot**, wie man sich im Allgemeinen verhalten sollte.** Um beispielsweise sicherzustellen, dass der geschriebene Code Ihren Codierungsstandards entspricht. Weitere Informationen.
-
Agent-Fähigkeiten
Diese geben an Copilot**, wie eine bestimmte Art von Aufgabe behandelt wird**. Wenn Sie beispielsweise den Prozess Ihres Teams beim Entwerfen von Versionshinweisen befolgen möchten. Weitere Informationen.
-
Werkzeuge
Diese bieten Fähigkeiten. Zum Suchen und Ändern von Dateien oder zum Interagieren mit Teilen von GitHub. Weitere Informationen.
-
MCP-Server
Diese fügen Sammlungen von Tools hinzu, die die Interaktion mit externen Diensten ermöglichen Copilot . Weitere Informationen.
-
Hooks
Auf diese Weise können Sie ihre eigene Logik an bestimmten Stellen im Workflow eines Agents ausführen. Sie können z. B. ein Skript ausführen, bevor der Agent ein Tool verwendet. Weitere Informationen.
-
Subagenten
Diese erledigen delegierte Aufgaben getrennt vom Hauptagenten. Sie verfügen über einen eigenen Unterhaltungskontext, sodass ihre Zwischenarbeit nicht das Kontextfenster des Hauptagenten ausfüllt. Weitere Informationen.
-
Benutzerdefinierte Agents
Diese legen spezielle Rollen fest, mit Anweisungen und Tools für bestimmte Aufgaben. Beispielsweise kann ein benutzerdefinierter Agent als React-Prüfer, als Dokumentautor oder als Testgenerator fungieren. Weitere Informationen.
-
Erweiterungen
Diese in Code implementierte Funktionen hinzufügen. Beispielsweise kann eine Copilot CLI Erweiterung ein Tool hinzufügen, das Sitzungsaktivitäten nachverfolgt. Weitere Informationen.
-
Plug-Ins
Dies sind Pakete , die vorkonfigurierte Anpassungen wie Fähigkeiten, Hooks, benutzerdefinierte Agents und MCP-Server bereitstellen können. Weitere Informationen.
Unterstützung und Konfiguration unterscheiden sich zwischen Surfaces. Einen Supportvergleich finden Sie unter Spickzettel für die Copilot-Anpassung.
Benutzerdefinierte Anweisungen
Benutzerdefinierte Anweisungen werden in GitHub Copilot app, Copilot Chat, Copilot code review, Copilot CLI, Copilot cloud agent auf GitHub.com und in unterstützten IDEs unterstützt. Die verfügbaren Arten von Anweisungen hängen davon ab, wo Sie sie verwenden.
Was sind benutzerdefinierte Anweisungen?
Benutzerdefinierte Anweisungen sind dauerhafte Anleitungen, die Copilot innerhalb eines definierten Bereichs verwendet. So können Repositoryanweisungen beispielsweise die Codierungskonventionen und Testbefehle Ihres Projekts beschreiben, während persönliche Anweisungen Ihre Kommunikationseinstellungen beschreiben können.
Anweisungen leiten das Modell, garantieren jedoch nicht, dass es jeder Regel entspricht.
Welches Problem lösen benutzerdefinierte Anweisungen?
Benutzerdefinierte Anweisungen helfen Ihnen bei:
- Richten Sie Copilot nach Ihren Codierungskonventionen und -einstellungen aus.
- Wenden Sie Team- oder Organisationsstandards konsistent an.
- Vermeiden Sie wiederholte Erinnerungen in jedem Prompt.
Wann sollten Sie benutzerdefinierte Anweisungen verwenden?
Verwenden Sie benutzerdefinierte Anweisungen für:
- Stil- und Qualitätsregeln. Beispiel: "Bevorzugen Sie kleine Pull Requests, schreiben Sie Tests, und vermeiden Sie, öffentliche APIs ohne Diskussion zu ändern."
- Repositorykonventionen. Beispiel: "Verwenden Sie
pnpm, Änderungsprotokolleinträge inCHANGELOG.mdbeibehalten undpnpm testvor dem Commit ausführen." - Kommunikationseinstellungen. Beispiel: "Erläutern Sie kurz, und geben Sie dann die empfohlene Wahl an."
Wann sollten Sie keine benutzerdefinierten Anweisungen verwenden?
Halten Sie sie so kurz wie möglich, wenn:
- Sie möchten nur die Funktionsweise für eine Art von Aufgabe. Verwenden Sie stattdessen einen Skill.
- Die Anweisungen sind so detailliert, dass sie von der unmittelbaren Aufgabe ablenken. Verwenden Sie einen Skill oder einen benutzerdefinierten Agenten, um spezielle Anleitungen zu erhalten.
Weitere Informationen zu benutzerdefinierten Anweisungen
- Benutzerdefinierte Anweisungen für GitHub Copilot
- Unterstützung für verschiedene Arten von benutzerdefinierten Anweisungen
Agent-Fähigkeiten
Agent-Fähigkeiten werden in GitHub Copilot app, Copilot CLI, Copilot cloud agent und Copilot code review sowie im Agent-Modus in Visual Studio Code, Visual Studio und JetBrains IDEs unterstützt.
Was ist eine Fähigkeit?
Ein Skill ist ein Ordner mit einer SKILL.md Datei mit Anweisungen für eine bestimmte Art von Aufgabe. Ihr Name und ihre Beschreibung helfen Copilot zu entscheiden, wann diese Anweisungen geladen werden sollen.
Fähigkeiten können auch unterstützende Ressourcen umfassen, z. B. Vorlagen und Skripts, die der Agent ausführen kann.
Welches Problem löst eine Fähigkeit?
Fähigkeiten helfen Ihnen bei:
- Standardisieren Sie, wie Copilot Aufgaben in einem bestimmten Kontext ausführt, z. B. bei einer Codeüberprüfung.
- Geben Sie Anweisungen, wenn sie relevant sind, ohne sie jeder Interaktion hinzuzufügen.
- Vermeiden Sie das Ausfüllen des Kontextfensters mit Anweisungen, die nicht mit der aktuellen Aufgabe zusammenhängen.
Wann sollten Sie eine Fähigkeit verwenden?
Verwenden Sie bei Bedarf eine Fähigkeit:
- Ein wiederholbarer Workflow. Überprüfen Sie z. B., ob die vom Benutzer zugängliche Dokumentation aktualisiert wird, wenn sich der Frontend-Code ändert.
- Ein einheitliches Ausgabeformat. Beispiel: Erstellen Sie Versionshinweise mithilfe der Vorlage Ihres Teams.
- Ein Workflow, den Sie manchmal benötigen, aber nicht immer. Folgen Sie beispielsweise einem detaillierten Refactoring-Prozess während einer Migration.
Wann sollten Sie keine Fähigkeit verwenden?
Wählen Sie eine andere Anpassung aus, wenn:
- Die Hinweise sollten allgemein auf Ihre Arbeit angewendet werden. Verwenden Sie stattdessen benutzerdefinierte Anweisungen.
- Sie benötigen Zugriff auf ein externes System. Verwenden Sie einen MCP-Server, um die Tools bereitzustellen, deren Verwendung eine Fähigkeit dann beschreiben kann.
- Sie benötigen einen wiederverwendbaren Fachexperten mit einem bestimmten Toolset. Betrachten Sie einen benutzerdefinierten Agent.
Erfahren Sie mehr über Agentenkenntnisse
Siehe Agent-Fähigkeiten.
Tools
Tools stehen Agenten in den GitHub Copilot app, Copilot CLI, Copilot cloud agent und unterstützten IDEs zur Verfügung. Die verfügbaren Tools und Berechtigungssteuerelemente sind von der Oberfläche abhängig.
Was ist ein Tool?
Ein Tool ist eine Fähigkeit, die Copilot verwendet, um etwas zu erledigen, z. B. das Durchsuchen von Dateien, das Anzeigen von Dateiinhalten, das Bearbeiten oder Ausführen von Befehlen. Einige Tools sind integriert, und andere können über MCP-Server oder Erweiterungen hinzugefügt werden.
Welches Problem lösen Tools?
Mit Tools kann ein Agent Folgendes tun:
- Sammeln Sie Kontext durch Lesen und Suchen.
- Nehmen Sie Änderungen vor, indem Sie Dateien bearbeiten.
- Führen Sie Befehle aus, und überprüfen Sie die Ergebnisse.
Wann werden Tools verwendet?
In der Regel rufen Sie Tools nicht direkt auf. Copilot wählt Tools aus, um Ihre Anfrage zu erfüllen, vorbehaltlich der Berechtigungen und Steuerelemente der verwendeten Oberfläche.
Sie werden Tools sehen, die verwendet werden, wenn Sie Folgendes tun:
- Bitten Sie einen Agent, ein Repository zu durchsuchen, eine Datei zu aktualisieren oder Tests auszuführen.
- Fordern Sie Aufgaben an, die Zugriff auf einen externen Dienst über einen MCP-Server erfordern.
- Weisen Sie einem Agent eine Aufgabe zu, die von der Delegierung an einen Subagent profitiert.
Überprüfen Sie vor dem Hinzufügen einer Integration, ob die vorhandenen Tools des Agents Ihre Anforderungen bereits erfüllen.
MCP-Server
MCP-Server werden in den GitHub Copilot app, Copilot CLI, Copilot cloud agent, Copilot code review, Visual Studio Code, Visual Studio, JetBrains IDEs, Xcode und Eclipse unterstützt. Die Konfigurations- und Authentifizierungsoptionen hängen von der Oberfläche ab.
Was ist ein MCP-Server?
Ein MCP-Server ist ein Dienst, der KI-Anwendungen, wie Copilot, die Verbindung zu externen Datenquellen und Tools ermöglicht.
Sie können beispielsweise einen MCP-Server hinzufügen, der Tools für die Interaktion mit einem Onlinekalender oder einem Supportticketsystem bereitstellt.
Welches Problem lösen MCP-Server?
MCP-Server helfen, wenn die integrierten Tools nicht ausreichen. Sie können:
- Stellen Sie eine Verbindung von Copilot zu externen Systemen her.
- Fügen Sie zweckorientierte Tools zum Arbeiten mit APIs, Datenbanken oder anderen Diensten hinzu.
- Bieten Sie Zugriff auf Informationen außerhalb Ihres Repositorys.
Wann sollten Sie einen MCP-Server verwenden?
Verwenden Sie bei Bedarf einen MCP-Server:
- Informationen aus einem externen System. Beispiel: "Wie viele Supporttickets wurden in diesem Monat für Produkt X geöffnet?"
- Aktionen in einem anderen Dienst. Beispiel: "Fügen Sie dem Supportticket einen Kommentar hinzu, der diesen Fix zusammenfasst."
Wann sollten Sie keinen MCP-Server verwenden?
Vermeiden Sie das Hinzufügen eines MCP-Servers, wenn die integrierten Tools ihre Anforderungen bereits abdecken.
Weitere Informationen zu MCP-Servern
Siehe Modellkontextprotokoll (MCP).
Hooks
Hooks werden in den GitHub Copilot app, Copilot CLI, Copilot cloud agent und Visual Studio Code unterstützt. Unterstützte Ereignisse und Steuerelemente sind von der Oberfläche abhängig.
Was ist ein Haken?
Ein Hook führt einen Shellbefehl aus, den Sie an einem bestimmten Punkt im Workflow eines Agents definieren. Beispielsweise kann ein Hook ausgeführt werden, bevor ein Tool verwendet wird oder wenn eine Sitzung endet.
Im Gegensatz zu Fähigkeiten und benutzerdefinierten Anweisungen, die das Modell durch Eingabeaufforderungen leiten, führen Hooks Code bei definierten Ereignissen aus.
Welches Problem lösen Hooks?
Hooks helfen, wenn Sie mehr Kontrolle über Agentaktionen benötigen, z. B.:
- Überprüfen einer Toolanforderung, bevor sie ausgeführt werden kann.
- Verwendung des Protokollierungstools oder Sitzungsaktivität.
- Ausführen einer benutzerdefinierten Überprüfung bei einem unterstützten Ereignis.
Wann sollten Sie Hooks verwenden?
Verwenden Sie Hooks, wenn Sie dies möchten:
- Tool-Prüfungen. Überprüfen Sie beispielsweise einen vorgeschlagenen Befehl anhand einer Allowlist, bevor er ausgeführt wird.
- Sitzungsautomatisierung. Zum Beispiel aufzeichnen, wenn eine Agentensitzung beginnt oder endet.
- Benutzerdefinierte Validierung. Überprüfen Sie beispielsweise, ob eine Toolanforderung einen geschützten Pfad ändern würde.
Verwenden Sie den Ereignis- und Konfigurationsverweis für Ihre Plattform, anstatt davon auszugehen, dass ein Hook überall unverändert funktioniert.
Wann sollten Sie keine Hooks verwenden?
Wählen Sie eine andere Anpassung aus, wenn:
- Sie benötigen lediglich Workflowanweisungen. Setzen Sie eine Fähigkeit ein.
- Sie möchten persistente Einstellungen und Standards. Verwenden Sie benutzerdefinierte Anweisungen.
- Sie benötigen Zugriff auf externe Tools. Verwenden Sie einen MCP-Server.
Erfahren Sie mehr über Hooks
Subagenten
Subagenten werden in den GitHub Copilot app, Copilot CLI, Visual Studio Code, JetBrains IDEs, Xcode und Eclipse unterstützt.
Was ist ein Subagent?
Ein Subagent ist ein Agent, dem der Hauptagent einen bestimmten Arbeitsauftrag delegiert. Es funktioniert in seinem eigenen Unterhaltungskontext und meldet seine Ergebnisse an den Hauptagenten zurück.
Ein Subagent kann einen integrierten Agent oder ein benutzerdefiniertes Agentprofil verwenden. Sie müssen keinen benutzerdefinierten Agent für jede delegierte Aufgabe definieren.
Welches Problem lösen Subagenten?
Subagenten helfen einem Agenten:
- Halten Sie die Hauptkonversation im Fokus, indem Sie eine Teilaufgabe im separaten Kontext behandeln.
- Führen Sie unabhängige Aufgaben parallel aus, sofern unterstützt.
- Delegieren Sie Facharbeit mithilfe eines benutzerdefinierten Agentprofils.
Wann werden Subagenten verwendet?
Subagenten sind nützlich für:
- Codebase-Erkundung. Suchen Sie beispielsweise alle Endpunkte in einer API.
- Befehlsausführung. Führen Sie beispielsweise eine Testsuite aus und fassen Sie Fehlschläge zusammen.
- Änderungen werden überprüft. Überprüfen Sie beispielsweise gestagte Änderungen, während der Hauptagent an einem anderen Teil der Aufgabe arbeitet.
- Spezialistenarbeit. Delegieren Sie z. B. eine Prüfung an einen benutzerdefinierten Dokumentations-Agenten.
Die Auswahl eines benutzerdefinierten Agents für Ihre Hauptsitzung unterscheidet sich davon, ihm Arbeit zu delegieren, sodass es als Subagent fungiert.
Mehr über Subagenten erfahren
Benutzerdefinierte Agents
Benutzerdefinierte Agenten werden in GitHub Copilot app, Copilot CLI, Visual Studio Code, Copilot cloud agent, JetBrains IDEs, Visual Studio, Eclipse und Xcode unterstützt. Unterstützte Profileigenschaften sind von der Oberfläche abhängig.
Was ist ein benutzerdefinierter Agent?
Ein benutzerdefinierter Agent definiert eine Spezielle Rolle mit Anweisungen und verfügbaren Tools für eine bestimmte Art von Arbeit. Sie können sich dies als Persona vorstellen, die Copilot annehmen kann, z. B. ein React-Prüfer oder ein Dokumentautor.
Sie definieren einen benutzerdefinierten Agent in einer Markdown-Datei mit YAML-Frontmatter. Sein Profil beschreibt seinen Zweck, gibt ihm Anweisungen und kann seine verfügbaren Tools einschränken. In unterstützten Umgebungen kann sie auch MCP-Server konfigurieren.
Welches Problem lösen maßgeschneiderte Agents?
Benutzerdefinierte Agenten helfen Ihnen bei Bedarf.
- Fachberatung für bestimmte Aufgaben, die konsequent bereitgestellt wird.
- Eine andere Gruppe von Tools für verschiedene Arten von Arbeit.
- Eine wiederverwendbare Rolle, die Sie für eine Sitzung auswählen oder für delegierte Arbeit verwenden können.
Ein separater Kontext ist ein Vorteil der Ausführung eines Agents als Subagent, keine Voraussetzung für die Verwendung eines benutzerdefinierten Agents.
Wann sollten Sie einen benutzerdefinierten Agent verwenden?
Verwenden Sie bei Bedarf einen benutzerdefinierten Agent:
- Ein spezieller Prüfer oder Helfer. Beispielsweise ein React-Prüfer, der die Komponentenmuster Ihres Teams überprüft.
- Ein eingeschränkter Werkzeugsatz. Beispielsweise ein Prüfer mit Tools zum Lesen und Durchsuchen von Dateien, aber nicht zum Bearbeiten dieser.
- Ein einheitlicher Ansatz. Beispielsweise ein Dokumentationsagent, der Ihren Schreib- und Prüfstandards folgt.
Wann sollten Sie keinen benutzerdefinierten Agent verwenden?
Wählen Sie eine einfachere Option aus, wenn:
- Sie benötigen nur aufgabenspezifische Anweisungen und Ressourcen. Eine Fähigkeit kann ausreichen.
- Sie benötigen keine Spezialisierung, und der Standard-Agent führt die Aufgabe gut aus.
Weitere Informationen zu benutzerdefinierten Agents
Extensions
Erweiterungen werden in den GitHub Copilot app und Copilot CLI. In den folgenden Beispielen werden Erweiterungen für Copilot CLI beschrieben.
Was ist eine Erweiterung?
Eine Erweiterung fügt im Code implementierte Funktionen hinzu. In Copilot CLI, eine Erweiterung ist ein JavaScript-Modul, das zusammen mit einer interaktiven Sitzung ausgeführt wird und Tools, Schrägstrichbefehle und sitzungsfähiges Verhalten hinzufügen kann.
Diese unterscheiden sich von IDE-Erweiterungen und der veralteten GitHub App-basierten Copilot-Erweiterungsintegration.
Welches Problem lösen Erweiterungen?
Mit Erweiterungen können Sie Funktionen bereitstellen, die mehr als Anweisungen oder Konfiguration benötigen. Beispielsweise kann eine Copilot CLI Erweiterung den Zustand über Toolaufrufe hinweg beibehalten und ihn über ein benutzerdefiniertes Tool verfügbar machen.
Wann sollten Sie eine Erweiterung verwenden?
Verwenden Sie bei Bedarf eine Erweiterung:
- Ihre eigenen sitzungsbezogenen Tools. Verfolgen Sie z. B. die Zeitangaben von Tool-Aufrufen in einer Copilot CLI Sitzung, und machen Sie die Summen für den Agent verfügbar.
- Ein codegestützter Slash-Befehl. Fügen Sie beispielsweise einen Befehl hinzu, der Informationen zusammenfasst, die während einer Copilot CLI Sitzung gesammelt wurden.
Wann sollten Sie eine Erweiterung nicht verwenden?
Wählen Sie eine andere Anpassung aus, wenn:
- Anweisungen und Ressourcen sind ausreichend. Setzen Sie eine Fähigkeit ein.
- Ein vorhandener MCP-Server stellt die benötigten externen Tools bereit.
- Sie müssen nur einen Befehl bei einem definierten Ereignis ausführen. Verwenden Sie einen Haken.
Weitere Informationen zu Erweiterungen
Siehe Erweiterungen für GitHub Copilot.
Plugins
Plugins werden in den GitHub Copilot app, Copilot CLI, Copilot cloud agent und Visual Studio Code unterstützt. Die unterstützten Komponenten eines Plug-Ins hängen von der Oberfläche ab.
Was ist ein Plug-In?
Ein Plug-In ist ein installierbares Paket, das ein Paket mit Funktionen bereitstellt. Sie kann z. B. Fähigkeiten, benutzerdefinierte Agents, Hooks und MCP-Serverkonfigurationen umfassen.
Ein Plug-In fasst Anpassungen zusammen, ersetzt aber nicht ihre jeweiligen Funktionen.
Welches Problem lösen Plug-Ins?
Plug-Ins helfen Ihnen:
- Fügen Sie verwandte Fähigkeiten hinzu, ohne jedes Teil separat zu konfigurieren.
- Stellen Sie eine Reihe von Anpassungen für Ihr Team oder die Öffentlichkeit bereit.
- Installieren und aktualisieren Sie Anpassungen, ohne Dateien manuell zu kopieren.
Wann sollten Sie ein Plug-In verwenden?
Verwenden Sie ein Plug-In in folgenden Fällen:
- Sie möchten ein teamweites Bundle. Teilen Sie beispielsweise Incident-Response-Fähigkeiten, einen Review-Agent und die MCP-Serverkonfiguration für interne Dienste.
- Sie möchten verwandte Funktionen zusammen installieren und warten.
Wann sollten Sie kein Plug-In verwenden?
Beginnen Sie mit individuellen Anpassungen, wenn:
- Sie experimentieren lokal und benötigen keine Bereitstellung.
- Sie benötigen nur einen kleinen Workflow. Eine einzelne Fähigkeit kann einfacher sein.
Weitere Informationen zu Plug-Ins
Siehe Plug-Ins für GitHub Copilot.
Zusammenstellen: Auswählen der richtigen Option
Beginnen Sie mit der kleinsten Anpassung, die Ihr Problem löst. Diese Features können zusammenarbeiten: Eine Fähigkeit kann einen Workflow beschreiben, der MCP-Tools verwendet, und ein Plug-In kann beide verteilen.
| Requirement | Mit |
|---|---|
| Ich möchte, dass Copilot unseren Repository-Konventionen folgt. | Benutzerdefinierte Anweisungen |
| Ich möchte einen wiederholbaren Workflow für eine bestimmte Art von Aufgabe. | Agent-Fähigkeiten |
| Ich möchte, dass ein Agent mein Repository durchsucht, Dateien ändert oder Tests ausführt. | Seine vorhandenen Tools |
| Ich benötige Tools, die von einem externen Dienst bereitgestellt werden. | Ein MCP-Server |
| Ich möchte Überprüfungen oder Automatisierung rund um die Verwendung von Tools und Sitzungsereignissen. | Hooks |
| Ich möchte, dass eine fokussierte Teilaufgabe getrennt von der Hauptunterhaltung behandelt wird. | Subagenten |
| Ich möchte einen Spezialisten, der wiederverwendbar ist, mit einem bestimmten Ansatz und Werkzeugsatz. | Ein benutzerdefinierter Agent |
| Ich muss meine eigenen sitzungsfähigen Tools in Copilot CLI erstellen. | Eine Erweiterung |
| Ich möchte zugehörige Anpassungen installieren oder gemeinsam nutzen. | Ein Plugin |
Nächste Schritte
Informationen zu Konfigurationsstandorten und Unterstützung von Oberflächen finden Sie unter Spickzettel für die Copilot-Anpassung.