Skip to main content

Konfiguration von benutzerdefinierten Agents

Referenz für die Konfiguration von Benutzerdefinierte Agenten.

Dieser Referenzartikel enthält detaillierte Konfigurationsinformationen für Benutzerdefinierte Agenten. Allgemeine Informationen zum Erstellen von Benutzerdefinierte Agenten finden Sie unter Erstellen benutzerdefinierter Agents für Copilot Codierungsassistent.

Hinweis

Benutzerdefinierte Agents befinden sich in öffentliche Vorschau für JetBrains IDEs, Eclipse und Xcode und können Änderungen unterliegen.

YAML-Frontmattereigenschaften

In der folgenden Tabelle werden die Eigenschaften angegeben, die Sie für Agentenprofile in GitHub.com, die Copilot CLI und unterstützte IDEs konfigurieren können (wenn nicht anders angegeben). Jedes umgebungsspezifische Verhalten wird in der Eigenschaftsbeschreibung angegeben. Der Name der Konfigurationsdatei (minus .md oder .agent.md) wird für die Deduplizierung zwischen Ebenen verwendet, sodass die Konfiguration auf der niedrigsten Ebene Vorrang hat.

EigentumTypZweck
nameSchnurAnzeigename für den Benutzerdefinierter Agent. Wahlfrei.
description
          **Erforderliche** Zeichenfolge     | Beschreibung des Zwecks und der Funktionalitäten des Benutzerdefinierter Agent |

| target | Schnur | Zielumgebung oder Kontext für den Benutzerdefinierter Agent (vscode oder github-copilot). Wenn dies nicht festgelegt ist, werden standardmäßig beide Umgebungen verwendet. | | tools | Liste von Zeichenfolgen, Zeichenfolge | Liste der Tools, die Benutzerdefinierter Agent verwenden kann. Unterstützt sowohl eine durch Trennzeichen getrennte Zeichenfolge als auch ein Yaml-Zeichenfolgenarray. Wenn nicht gesetzt, werden standardmäßig alle Tools verwendet. Siehe Tools. | | model | Schnur | Modell, das zu verwenden ist, wenn dieser Benutzerdefinierter Agent ausgeführt wird. Wenn dies nicht festgelegt ist, erbt das Standardmodell. | | disable-model-invocation | boolean | Verhindert, dass Copilot Codierungsassistent diesen Benutzerdefinierter Agent automatisch verwendet, basierend auf dem Aufgabenkontext. Wenn true muss der Agent manuell ausgewählt werden. Die Einstellung disable-model-invocation: true entspricht infer: false. Wenn beide festgelegt sind, hat disable-model-invocation Vorrang. Wenn dies nicht festgelegt ist, wird standardmäßig auf false. | | user-invocable | boolean | Legt fest, ob dieser Benutzerdefinierter Agent von benutzenden Personen ausgewählt werden kann. Wenn false, kann der Agent nicht manuell ausgewählt werden und es kann nur programmgesteuert darauf zugegriffen werden. Wenn dies nicht festgelegt ist, wird standardmäßig auf true. | | infer | boolean | Eingestellt. Verwenden Sie stattdessen disable-model-invocation und user-invocable. Ermöglicht Copilot Codierungsassistent die automatische Verwendung dieser Benutzerdefinierter Agent basierend auf dem Aufgabenkontext. Wenn false muss der Agent manuell ausgewählt werden. Wenn dies nicht festgelegt ist, wird standardmäßig auf true. | | mcp-servers | Objekt | Zusätzliche MCP-Server und Tools, die von Benutzerdefinierter Agent verwendet werden sollen. Nicht in VS Code und anderen Benutzerdefinierte Agenten in der IDE verwendet. | | metadata | Objekt, das aus einem Namen- und Wertpaar besteht, beide Zeichenfolgen | Lässt Anmerkungen für den Agent mit nützlichen Daten zu. Nicht in VS Code und anderen Benutzerdefinierte Agenten in der IDE verwendet. |

Definieren Sie das Verhalten, das Fachwissen und die Anweisungen des Agents im Markdown-Inhalt unter dem YAML-Frontmatter. Die Eingabeaufforderung kann maximal 30.000 Zeichen lang sein.

Hinweis

  • Die Eigenschaften argument-hint und handoffs von VS Code und anderen IDE-Benutzerdefinierte Agenten werden derzeit nicht für Copilot Codierungsassistent auf GitHub.com unterstützt. Sie werden ignoriert, um die Kompatibilität sicherzustellen.
  • Weitere Informationen zur Benutzerdefinierter Agent Dateistruktur in VS Code findest du unter Benutzerdefinierte Agents in VS Code in der VS Code Dokumentation.

Tools

Die Benutzerdefinierter Agent tools-Eigenschaft steuert, welche Tools deinem Agent zur Verfügung stehen, einschließlich derer von MCP-Servern.

Ihr Benutzerdefinierter Agent hat Zugriff auf MCP-Servertools, die im Agentprofil und/oder in den Repositoryeinstellungen konfiguriert wurden. Weitere Informationen zum Konfigurieren von MCP-Servern für den Codierungs-Agent in einem Repository finden Sie unter Erweiterung des GitHub Copilot Codierungsagenten mit dem Model Context Protocol (MCP).

Sie können tools mit den folgenden Vorgehensweisen konfigurieren:

  •         **Alle verfügbaren Tools aktivieren**: Lassen Sie die `tools` Eigenschaft vollständig weg oder verwenden Sie `tools: ["*"]`, um alle verfügbaren Tools zu aktivieren. Dazu gehören alle MCP-Servertools, die in den Agentprofil und/oder Repository-Einstellungen konfiguriert sind.
    
  •         **Aktivieren Sie bestimmte Tools**: Stellen Sie eine Liste mit bestimmten Toolnamen oder Aliasen bereit (z. B `tools: ["read", "edit", "search"]`. ), um nur diese Tools zu aktivieren. Verfügbare Toolaliasen finden Sie unten unter [Toolaliasen](#tool-aliases) .
    
    • Wenn in deinem Repository MCP-Server konfiguriert sind, kannst du festlegen, dass nur bestimmte Tools von diesen Servern für deine Benutzerdefinierter Agent verfügbar sind. Toolnamen von bestimmten MCP-Servern können dem Servernamen gefolgt von einer /vorangestellt werden. Beispiel: some-mcp-server/some-tool.
    • Sie können auch alle Tools von einem bestimmten MCP-Server mithilfe von some-mcp-server/* explizit aktivieren.
    • Tools von VS Code Erweiterungen können den Namen der Erweiterung als Proxy verwenden, wie azure.some-extension/some-tool.
  •         **Alle Tools deaktivieren**: Verwenden Sie eine leere Liste (`tools: []`), um alle Tools für den Agent zu deaktivieren.
    

Alle nicht erkannten Toolnamen werden ignoriert, sodass produktspezifische Tools in einem Agentprofil angegeben werden können, ohne dass Probleme auftreten.

Tool-Aliasse

Die folgenden Tool-Aliase sind für Benutzerdefinierte Agenten verfügbar. Bei allen Aliasen wird die Groß- und Kleinschreibung nicht berücksichtigt:

Primärer AliasKompatible AliaseProgrammier-Agent ZuordnungZweck
execute
          `shell`, `Bash``powershell`                         | Shelltools: `bash` oder `powershell`                             | Führen Sie einen Befehl in der entsprechenden Shell für das Betriebssystem aus.                                     |

| read | Read, NotebookRead | view | Dateiinhalte lesen. | | edit | Edit MultiEdit Write NotebookEdit | Bearbeitungstools: z. B. str_replace, str_replace_editor | Dem LLM die Möglichkeit zur Bearbeitung bieten. Genaue Argumente können variieren. | | search | Grep, Glob | search | Suchen Sie nach Dateien oder Text in Dateien. | | agent | custom-agent, Task | „Benutzerdefinierter Agent“ tools | Bietet die Möglichkeit, einen anderen Benutzerdefinierter Agent aufzurufen, um eine Aufgabe zu erledigen. | | web | WebSearch, WebFetch | Gilt aktuell nicht für Programmier-Agent. | Ermöglicht das Abrufen von Inhalten aus URLs und durchführen einer Websuche | | todo | TodoWrite | Gilt aktuell nicht für Programmier-Agent. | Erstellt und verwaltet strukturierte Aufgabenlisten. Derzeit nicht unterstützt in Programmier-Agent, aber unterstützt von VS Code. |

Toolnamen für einsatzbereite MCP-Server

Die folgenden MCP-Server sind out-of-box für Copilot Codierungsassistent verfügbar und können mit Namespacing referenziert werden:

MCP-Server-NameVerfügbare Tools
githubAlle schreibgeschützten Tools sind standardmäßig verfügbar, aber das Token, das der Server erhält, ist auf den Bereich des Quell-Repositorys beschränkt.
          `github/*` enthält alle Elemente, oder Sie können `github/<tool name>` referenzieren, wo `<tool name>` ein Wert aus der MCP-Serverdokumentation ist. |

| playwright | Alle Playwright-Tools sind standardmäßig verfügbar, der Server ist jedoch nur für den Zugriff auf localhost konfiguriert. playwright/* enthält alle Elemente, oder Sie können playwright/<tool name> referenzieren, wo <tool name> ein Wert aus der MCP-Serverdokumentation ist. Standardmäßig ist das Token, auf das es Zugriff hat, auf das Quellcode-Repository festgelegt. |

MCP-Serverkonfigurationsdetails

Das folgende Beispiel Agentprofil zeigt einen Agent mit konfiguriertem MCP-Server und Geheimnis. Darüber hinaus wurde nur ein Tool vom MCP-Server in der tools Eigenschaft im YAML-Frontmatter aktiviert:

---
name: my-custom-agent-with-mcp
description: Custom agent description
tools: ['tool-a', 'tool-b', 'custom-mcp/tool-1']
mcp-servers:
  custom-mcp:
    type: 'local'
    command: 'some-command'
    args: ['--arg1', '--arg2']
    tools: ["*"]
    env:
      ENV_VAR_NAME: ${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}
---

Prompt with suggestions for behavior and output

Die mcp-servers-Eigenschaft in einem Agentprofil ist eine YAML-Darstellung des JSON-Konfigurationsformats, das für die Konfiguration von MCP-Servern für Copilot Codierungsassistent verwendet wird.

Die meisten Untereigenschaften sind identisch mit der JSON-Darstellung. Die folgenden Abschnitte beschreiben Änderungen gegenüber der ursprünglichen Implementierung der MCP-Konfiguration in Copilot Codierungsassistent, die für Benutzerdefinierte Agenten relevant sind. Weitere Informationen zum JSON-Konfigurationsformat finden Sie unter Erweiterung des GitHub Copilot Codierungsagenten mit dem Model Context Protocol (MCP).

MCP-Servertyp

Aus Kompatibilitätsgründen wird der von Claude Code und VS Code verwendete stdio Typ dem local Typ von Programmier-Agent zugeordnet.

MCP-Serverumgebungsvariablen und geheime Schlüssel

Hinweis

Wenn Ihr MCP-Server geheime Schlüssel oder Umgebungsvariablen erfordert, müssen diese in der Copilot-Umgebung in jedem Repository konfiguriert werden, in dem der Benutzerdefinierter Agent verwendet wird. Weitere Informationen zum Einrichten von Umgebungsvariablen finden Sie unter Anpassen der Entwicklungsumgebung für GitHub Copilot-Codierungs-Agent.

Benutzerdefinierter Agent Die MCP-Konfiguration unterstützt die gleichen Funktionalitäten für die Ersetzung von Umgebungsvariablen und Secrets wie die bestehenden MCP-Konfigurationen auf Repository-Ebene. Ähnlich wie Konfigurationen auf Repositoryebene können geheime Schlüssel und Variablen aus der "copilot"-Umgebung in den Einstellungen des Repositorys stammen. Die Syntax zum Verweisen auf diese Werte wurde erweitert, um gängige Muster zu unterstützen, die in GitHub Actions und Claude Code verwendet werden.

Sowohl die MCP JSON-Konfiguration auf Repository-Ebene als auch die Benutzerdefinierter Agent YAML-Konfiguration unterstützen die folgenden Syntax-Muster:

  •         `$COPILOT_MCP_ENV_VAR_VALUE` - Umgebungsvariable und Header
    
  •         `${COPILOT_MCP_ENV_VAR_VALUE}` - Umgebungsvariable und Header (Claude Code-Syntax)
    
  •         `${COPILOT_MCP_ENV_VAR_VALUE:-default}` - Umgebungsvariable und Header mit Standardeinstellung
    

Die Benutzerdefinierter Agent YAML-Konfiguration unterstützt die folgenden zusätzlichen Syntaxmuster:

  •         `${{ secrets.COPILOT_MCP_ENV_VAR_VALUE }}` - Umgebungsvariable und Header
    
  •         `${{ vars.COPILOT_MCP_ENV_VAR_VALUE }}` - Umgebungsvariable und Header
    

Beispiel für Agentprofil Konfigurationen

Die folgenden Beispiele veranschaulichen, wie ein Agentprofil für die gewöhnlichen Aufgaben, Tests zu schreiben oder die Implementierung eines Projekts zu planen, aussehen könnte. Weitere Inspiration finden Sie in den Benutzerdefinierte Agents Beispielen in der Anpassungsbibliothek. Sie finden auch spezifischere Beispiele in der awesome-copilot Community Collection.

Prüffachmann

In diesem Beispiel werden alle Tools aktiviert, indem die tools Eigenschaft weggelassen wird.

Text
---
name: test-specialist
description: Focuses on test coverage, quality, and testing best practices without modifying production code
---

You are a testing specialist focused on improving code quality through comprehensive testing. Your responsibilities:

- Analyze existing tests and identify coverage gaps
- Write unit tests, integration tests, and end-to-end tests following best practices
- Review test quality and suggest improvements for maintainability
- Ensure tests are isolated, deterministic, and well-documented
- Focus only on test files and avoid modifying production code unless specifically requested

Always include clear test descriptions and use appropriate testing patterns for the language and framework.

Implementierungsplaner

In diesem Beispiel wird nur eine Teilmenge von Tools aktiviert.

Text
---
name: implementation-planner
description: Creates detailed implementation plans and technical specifications in markdown format
tools: ["read", "search", "edit"]
---

You are a technical planning specialist focused on creating comprehensive implementation plans. Your responsibilities:

- Analyze requirements and break them down into actionable tasks
- Create detailed technical specifications and architecture documentation
- Generate implementation plans with clear steps, dependencies, and timelines
- Document API designs, data models, and system interactions
- Create markdown files with structured plans that development teams can follow

Always structure your plans with clear headings, task breakdowns, and acceptance criteria. Include considerations for testing, deployment, and potential risks. Focus on creating thorough documentation rather than implementing code.

Verarbeitung von Benutzerdefinierte Agenten

Benutzerdefinierte Agents Namen

Bei Benennungskonflikten überschreibt die Konfiguration auf der niedrigsten Ebene Konfigurationen auf höherer Ebene. Dies bedeutet, dass ein Agent auf Repositoryebene Vorrang vor einem Agent auf Organisationsebene hat und der Agent auf Organisationsebene einen Agent auf Unternehmensebene außer Kraft setzen würde.

Versionsverwaltung

Die Benutzerdefinierter Agent Versionsverwaltung basiert auf Git commit SHAs für die Agentprofil Datei. Dies bietet dir die Möglichkeit, je nach Anforderung Branches oder Tags mit verschiedenen Versionen von Benutzerdefinierte Agenten zu erstellen. Wenn du einer Aufgabe eine Benutzerdefinierter Agent zuweist, wird die Benutzerdefinierter Agent mit der neuesten Version der Agentprofil für dieses Repository und diesen Branch instanziiert. Wenn der Agent eine Pullanforderung erstellt, verwenden Interaktionen innerhalb der Pullanforderung dieselbe Version von Benutzerdefinierter Agent, um Konsistenz zu gewährleisten.

Werkzeugverarbeitung

In tools der Liste werden die Tools gefiltert, die dem Agent zur Verfügung gestellt werden – unabhängig davon, ob sie von MCP-Servern integriert oder stammen. Wenn du Tools in deinem Agentprofil konfigurierst, hängt das Verhalten davon ab, was du angibst:

  • Wenn keine Tools angegeben sind, sind alle verfügbaren Tools aktiviert.
  • Eine leere Toolsliste (tools: []) deaktiviert alle Tools.
  • Eine bestimmte Liste (tools: [...]) aktiviert nur diese Tools.

MCP-Serverkonfigurationen

Für MCP-Serverkonfigurationen gibt es eine bestimmte Verarbeitungsreihenfolge, die ein ordnungsgemäßes Überschreibungsverhalten sicherstellt: MCP-Standardkonfigurationen (z. B. GitHub-MCP) werden zuerst verarbeitet, gefolgt von der Benutzerdefinierter Agent-MCP-Konfiguration und schließlich von MCP-Konfigurationen, die in Repositoryeinstellungen angegeben sind. Auf diese Weise kann jede Ebene Einstellungen von der vorherigen Ebene entsprechend außer Kraft setzen.

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli)
    
  •         [AUTOTITLE](/copilot/reference/copilot-cli-reference/cli-command-reference#custom-agents-reference)