Einleitung
Custom agents ermöglicht es Ihnen, die Expertise von Copilot auf bestimmte Aufgaben zuzuschneiden.
Wenn Sie Copilot dazu auffordern, eine Aufgabe auszuführen, kann es sich entscheiden, eine Ihrer custom agents zu nutzen, wenn Copilot feststellt, dass das Fachwissen des Agenten gut für die Aufgabe geeignet ist.
Wenn der Haupt-Agent Arbeit an einen custom agent delegiert, wird diese Arbeit von einem Subagenten mit einem eigenen Kontextfenster ausgeführt. Dadurch kann sich der Spezialist auf seine zugewiesene Aufgabe konzentrieren, ohne den Kontext des Hauptagenten zu überladen. Sie können auch eine custom agent für die Sitzung direkt auswählen.
Weitere Informationen finden Sie unter Benutzerdefinierte Agents.
Erstellen einer custom agent
Jede custom agent wird durch eine Markdown-Datei mit einer .agent.md Erweiterung definiert. Sie können diese Dateien selbst erstellen oder sie aus der CLI hinzufügen, wie in den folgenden Schritten beschrieben.
-
Geben Sie
/agentim interaktiven Modus ein. -
Drücken Sie N, um einen neuen Agent zu erstellen.
-
Wählen Sie zwischen den Optionen, ob Sie das custom agent im Repository oder im Heimverzeichnis erstellen möchten:
-
Project (
.github/agents/) -
Benutzer (
~/.copilot/agents/)
Hinweis
Wenn die persönliche und die Repository-custom agents dieselbe ID haben, wird der persönliche Agent verwendet. Für einen Agenten im Stammverzeichnis eines
agents-Verzeichnisses ist die ID der Dateiname ohne die Erweiterung.agent.mdoder.md. Das optionalenameFeld wirkt sich nicht auf die Deduplizierung aus. Agents mit demselbenname, aber unterschiedlichen IDs werden beide geladen; wenn ein--agent-Wert jedoch mit mehr als einer ID odernameübereinstimmt, verwendet die CLI den Treffer mit der höchsten Priorität. -
-
Wählen Sie aus, ob Copilot die custom agent-Datei erstellen soll oder ob Sie sie selbst erstellen möchten.
Option 1: Verwenden Copilot
Geben Sie Details des Agents ein, den Sie erstellen möchten. Beschreiben Sie das Know-how des Agenten und wann der Agent verwendet werden soll. Copilot wird die von Ihnen eingegebene Beschreibung übernehmen und zum Schreiben eines Agentprofils für Sie verwenden.
Sie könnten beispielsweise eingeben:
I am a security expert. I check code files thoroughly for potential security issues. Use me whenever a security review/check/audit is requested for one or more code files, or when the word "seccheck" is used in a prompt in reference to code files.
I will identify potential problems, such as code that:
- Exposes secrets or credentials
- Allows cross-site scripting
- Allows SQL injection
- Contains vulnerable dependencies
- Allows authentication to be bypassed
If any problems are identified, create a single GitHub issue in this repository on GitHub.com with details of problems, giving full details of each issue, including, but not limited to, risk level and recommended fix.
Nach Copilot Abschluss des Generierens des ersten Agentprofils werden die folgenden Optionen angezeigt:
- Weiter
- Inhalt überprüfen
- Noch mal versuchen
- Beenden
Wenn Sie den Inhalt überprüfen möchten, wird die Agentdatei in Ihrem Standard-Editor geöffnet. Sie können ggf. Änderungen überprüfen und vornehmen, bevor Sie den Agenterstellungsprozess in der CLI fortsetzen.
Um den Erstellungsprozess abzuschließen, wählen Sie "Weiter" aus.
Option 2: Manuelles Erstellen des Agentprofils
Wenn Sie sich dafür entscheiden, die Agentdatei selbst zu erstellen, werden Sie durch eine Reihe von Eingabeaufforderungen geführt, um die erforderlichen Informationen auszufüllen, um das Agentprofil zu erstellen.
-
Geben Sie einen Namen für den Agent ein. Der eingegebene Name ist der Name, der angezeigt wird, wenn Sie die verfügbaren Agents auflisten. Eine Version davon wird als Name der Agentdatei verwendet, z. B. wenn Sie "Sicherheitsexperte" eingeben, wird die Agentdatei benannt
security-expert.agent.md.Tipp
Für eine einfache Nutzung eines custom agent empfiehlt es sich, einen Namen auszuwählen, der nur aus Kleinbuchstaben und Bindestrichen besteht.
-
Geben Sie eine Beschreibung ein, die angibt, welche Expertise dieser Agent hat und wann es verwendet werden soll.
-
Geben Sie Anweisungen für das Verhalten des Agents ein, einschließlich aller spezifischen Richtlinien, Aktionen, die er ergreifen sollte, oder Einschränkungen, die er befolgen sollte.
-
Wählen Sie, auf welche Werkzeuge Ihr custom agent Zugriff haben sollte.
Standardmäßig haben Sie, custom agents, Zugriff auf alle Tools. Wenn Sie den Zugriff eines Agents einschränken, wird der Agentdatei eine
toolsSpezifikation hinzugefügt. -
Starten Sie die CLI neu, um das neue custom agentzu laden.
Verwenden eines custom agent
Custom agents kann auf folgende Weise verwendet werden:
-
Slash-Befehl
Geben Sie
/agentim interaktiven Modus ein, und wählen Sie aus der Liste der verfügbaren custom agents. Geben Sie dann eine Eingabeaufforderung ein, die an den ausgewählten Agent übergeben wird.Hinweis
Die Standard-Agents der CLI sind in dieser Liste nicht enthalten. Weitere Informationen zu den Standard-Agents finden Sie unter Benutzerdefinierte Agents.
-
Explizite Anweisung
Weisen Sie Copilot an, einen bestimmten Agent zu verwenden. Beispiel:
Use the security-auditor agent on all files in the /src/app directory -
Nach Rückschlüssen
Verwenden Sie eine Eingabeaufforderung, die die Verwendung eines bestimmten Agents basierend auf der Beschreibung in der Agentdatei auslöst. Beispiel:
Check all TypeScript files in or under the src directory for potential security problemsoder (wobei "seccheck" als Triggerwort im Agentprofil definiert ist):
seccheck /src/app/validator.go
Copilot leitet automatisch den Agent ab, den Sie verwenden möchten.
-
Programmgesteuert
Geben Sie custom agent an, das Sie mit der Befehlszeilenoption verwenden möchten. Beispiel:
copilot --agent security-auditor --prompt "Check /src/app/validator.go"In diesem Beispiel
security-auditorist die ID der custom agent. Die ID wird aus dem Dateinamen abgeleitet, ohne die Erweiterung.mdoder.agent.md. In diesem Fall ist der Pfad zu der Datei entwederagents/security-auditor.mdoderagents/security-auditor.agent.md. Wenn sich die Datei in einem Unterverzeichnis vonagentsbefindet, ist der Unterverzeichnisname in der ID enthalten, wobei das Verzeichnistrennzeichen durch--ersetzt wird. Daher hätte eine Agentendatei unteragents/security/security-auditor.agent.mddie IDsecurity--security-auditor. Alternativ können Sie den Wert desnameFelds anstelle der ID verwenden und in Anführungszeichen setzen. Beispiel:--agent "Security Auditor"
Delegieren von fokussierten Aufgaben an ein bestimmtes Modell
Sie können eine custom agent für die Verwendung eines bestimmten Modells konfigurieren.
Dies kann besonders hilfreich sein, wenn Sie kleine, gut definierte Aufgaben an einen custom agent delegieren möchten, der ein lokal gehostetes Modell verwendet, während Sie ein cloudbasiertes Modell für Ihre Hauptsitzung verwenden. Mit diesem Ansatz können Sie z. B. eine Einzeldateiänderung oder eine fokussierte Testkorrektur an ein custom agent, das ein lokales Modell verwendet, delegieren und dann den Haupt-Agenten das Ergebnis überprüfen lassen.
Fügen Sie zunächst der CLI ein lokal gehostetes Modell hinzu. Siehe Hinzufügen von LLM-Modellen zu GitHub Copilot CLI.
-
Erstellen Sie
~/.copilot/agents/local-coder.agent.mdmit dem folgenden Inhalt:--- name: local-coder description: > Use for small, well-defined coding tasks, such as a single-file change or a focused test fix. model: LOCAL-PROVIDER/LOCAL-MODEL model-policy: required tools: ["read", "grep", "glob", "edit", "execute"] strict-tools-list: true include-custom-instructions: true --- Complete only the requested task. Inspect the relevant code, make the smallest correct change, and run focused checks. Report what changed and any remaining issues. -
Ersetzen Sie
LOCAL-PROVIDER/LOCAL-MODELdurch die anbieterqualifizierte ID Ihres lokalen Modells, nicht durch den Anzeigenamen. Kombinieren Sie bei einem Modell inproviders.jsondie Werteidundproviderdes Modelleintrags, getrennt durch einen Schrägstrich. Zum Beispiel ergebenlocal/qwen3:8bund"provider": "local"``"id": "qwen3:8b".
model-policy: required erfordert das konfigurierte Modell, anstatt es als Einstellung zu behandeln.
strict-tools-list: true beschränkt den Agent auf die aufgeführten Toolgruppen, ohne die üblichen Standardtools hinzuzufügen.
include-custom-instructions: true hält die Anweisungen Ihres Repositorys für den Subagenten wirksam.
-
Starten Sie die CLI neu, um den Agent zu laden. Delegieren Sie in einer Sitzung mit einem Cloudmodell explizit eine abgegrenzte Aufgabe:
Use the local-coder agent to add an empty-input test for parseConfig in src/config.test.ts. Do not change other files. Then review the result in the main session.Das lokale Modell führt die delegierte Aufgabe aus, aber der Haupt-Agent empfängt weiterhin das Ergebnis. Das bedeutet nicht, dass die gesamte Sitzung lokal oder offline ist.
Benutzerdefinierte Anweisungen Ihres Repositorys auf ein custom agent anwenden
Dateien mit benutzerdefinierten Anweisungen – wie .github/copilot-instructions.md, AGENTS.md und CLAUDE.md – teilen Copilot mit, wie es in Ihrem Repository vorgehen soll. Weitere Informationen finden Sie unter Hinzufügen von benutzerdefinierten Repositoryanweisungen für GitHub Copilot.
Wenn Copilot Ihr custom agent als Subagent ausführt, um einen Teil einer größeren Aufgabe zu übernehmen, befolgt der Subagent standardmäßig nicht die benutzerdefinierten Anweisungen Ihres Repositorys. Dadurch bleibt der Subagent auf die spezifische Aufgabe konzentriert, die ihm zugewiesen wurde.
Wenn Sie möchten, dass ein Unteragent den Konventionen Ihres Repositorys folgt – zum Beispiel ein Agent, der Code überprüft oder bearbeitet –, fügen Sie include-custom-instructions: true zum Frontmatter der Agentdatei hinzu:
---
name: RepoAwareReviewer
description: Reviews a change against this repository's conventions
tools: ["*"]
include-custom-instructions: true
---
Review the change and flag anything that violates the repository's conventions.
Hinweis
Diese Einstellung wirkt sich nur auf den Agent aus, wenn er als Subagent ausgeführt wird. Ein custom agent, das Sie selbst auswählen – mit --agent, /agent oder per Inferenz –, folgt bereits den benutzerdefinierten Anweisungen Ihres Repositorys, daher hat die Einstellung in diesem Fall keine Wirkung.
Weitere Informationen, einschließlich der Interaktion dieser Einstellung mit der --no-custom-instructions Option, finden Sie unter GitHub Copilot CLI-Befehlsreferenz.
Weiterführende Lektüre
- Vergleich der Copilot-Anpassungsfunktionen
- Konfiguration von benutzerdefinierten Agents
- GitHub Copilot CLI-Befehlsreferenz
- Benutzerdefinierte Agents – eine kuratierte Sammlung von Beispielen