Anpassen, Erweitern und Validieren des Copilot Cloud Agent

Abgeschlossen

GitHub Copilot Cloud Agent wird in einer sicheren, kurzlebigen GitHub Actions-Umgebung ausgeführt. Mit einigen Konfigurationsschritten können Sie diese Umgebung vorab bereitstellen, um die Zuverlässigkeit und Geschwindigkeit zu verbessern, die Funktionen des Agents mit externen Tools über das Model Context Protocol (MCP) zu erweitern und bewährte Methoden anzuwenden, um die Ausgabe des Agents vor dem Zusammenführen zu testen und zu überprüfen.

Am Ende dieser Einheit können Sie:

  • Installieren Sie Tools, Abhängigkeiten und Secrets vor, um die Entwicklungsumgebung des Agents anzupassen.
  • Erweitern Sie die Funktionen des Agents mithilfe des Model Context Protocol (MCP).
  • Testen und validieren Sie die Agentenausgabe effektiv, bevor Sie Änderungen zusammenführen.

Vorbereitung der Entwicklungsumgebung

Tools und Abhängigkeiten vorinstallieren mitcopilot-setup-steps.yml

Erstellen Sie .github/workflows/copilot-setup-steps.yml auf dem Standardzweig Ihres Repositorys. Der Workflow muss einen einzelnen Auftrag mit dem Namen copilot-setup-stepsdefinieren. Fügen Sie alle erforderlichen Schritte zum Installieren von Abhängigkeiten oder zum Einrichten von Tools ein.

Beispiel für TypeScript:

name: "Copilot Setup Steps"

on:
  workflow_dispatch:
  push:
    paths:
      - .github/workflows/copilot-setup-steps.yml
  pull_request:
    paths:
      - .github/workflows/copilot-setup-steps.yml

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - name: Checkout code
        uses: actions/checkout@v5
      - name: Set up Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"
          cache: "npm"
      - name: Install JavaScript dependencies
        run: npm ci

Zulässige Konfigurationsschlüssel für den copilot-setup-steps Auftrag: steps, permissions, runs-on, container, services, snapshot, timeout-minutes (≤ 59). Jede actions/checkout-Abruftiefe wird überschrieben, um einen sicheren Rollback zu ermöglichen. Der Setupworkflow wird eigenständig ausgeführt (sodass Sie ihn überprüfen können) und dann automatisch, bevor der Agent gestartet wird.

Größere GitHub-Runner

  • Fügen Sie größere Läufer zuerst hinzu
  • Legen Sie in copilot-setup-steps.ymlruns-on auf die Bezeichnung/Gruppe fest (zum Beispiel ubuntu-4-core).
  • Nur Ubuntu x64-Läufer werden unterstützt; Selbst gehostete Läufer werden nicht unterstützt.

Git LFS

Wenn Sie Git Large File Storage verwenden, aktivieren Sie sie in den Setupschritten:

jobs:
  copilot-setup-steps:
    runs-on: ubuntu-latest
    permissions:
      contents: read
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

Firewallanpassung

Der Standardmäßige Internetzugriff ist beschränkt, um das Exfiltrationsrisiko zu verringern. Sie können die Firewall nach Bedarf anpassen oder deaktivieren.

Erweitern mit dem Model Context Protocol (MCP)

MCP ist ein offener Standard zum Verbinden von LLMs mit Tools und Daten. Der Agent kann Tools verwenden, die von lokalen oder Remote-MCP-Servern bereitgestellt werden, um seine Funktionen zu erweitern.

Hinweis: Copilot Cloud Agent unterstützt nur MCP-Tools (nicht Ressourcen oder Eingabeaufforderungen). Remote-MCP-Server, die OAuth erfordern, werden nicht unterstützt.

Standard-MCP-Server

  • GitHub MCP Server: Zugriffsprobleme, PRs und GitHub-Daten mit einem schreibgeschützten Token, das standardmäßig auf das aktuelle Repository festgelegt ist (Sie können das Token anpassen).
  • Playwright MCP Server: Lesen, Interagieren mit und Erstellen von Screenshots von Webseiten, auf die innerhalb der Umgebung des Agents zugegriffen werden kann (localhost/127.0.0.1).

Repositorykonfiguration

Administratoren können MCP-Server über eine JSON-Konfiguration im Repository deklarieren. Nach der Konfiguration nutzt der Agent die verfügbaren Tools eigenständig und ohne Benachrichtigungen zur Genehmigung bei jeder Nutzung. Weitere Informationen finden Sie unter Erweitern von GitHub Copilot Cloud Agent mit MCP.

Bewährte Methoden

  • Überprüfen Sie MCP-Server von Drittanbietern auf Leistungs- und Ausgabequalitätsauswirkungen.
  • Bevorzugen Sie Lesetools; wenn Schreibtools vorhanden sind, lassen Sie nur die erforderlichen Elemente zu.
  • Überprüfen Sie die MCP-Konfiguration sorgfältig vor dem Speichern.

Testen und Validieren der Ausgabe von Agenten

Sie bleiben für Qualität und Sicherheit verantwortlich:

  • Führen Sie CI (Tests, Linter, Scans) für jeden Agent-PR durch. Diese Überprüfungen werden erst ausgeführt, wenn Sie auf „Genehmigen und Workflows ausführen“ klicken.
  • Manuelles Überprüfen von Bereichen mit hohem Einfluss oder sensiblen Bereichen.
  • Bitten Sie den Agent, Tests zu generieren (z. B. "Hinzufügen von Jest-Unit-Tests für alle Funktionen im src/utils/ folgenden Repo-Stil") – die Multidateitestgenerierung verwendet PRUs.
  • Erzwingen Sie Regelsätze, sodass PRs von Agenten vor dem Zusammenführen Tests, Scans und Linting durchlaufen müssen.
  • Beschriften Sie Agent-PRs (z. B. agent-refactor, agent-tests) zum Überwachen, Bearbeiten und bei Bedarf Zurücksetzen.
  • Wiederholen Sie die Anweisungen in .github/copilot-instructions.md, wenn Sie wiederholte Fehler feststellen.
  • Kehren Sie bei Bedarf schnell zurück, und fordern Sie neue Änderungen vom Agent an.

Absichtliches Verwenden von PRUs zur Überprüfung

Nutzen Sie PRUs für tiefere Überprüfungsaufgaben, z. B. Testabdeckungserweiterung, Audits in Verzeichnissen oder riskante Überprüfungen. Leichte Prüfungen nutzen weniger PRUs, setzen Sie sie also bewusst ein, um den Wert zu maximieren.

Da die Konfiguration, Erweiterungen und Validierungspraktiken bereits eingerichtet sind, besteht der letzte Schritt darin, den Agenten verantwortungsvoll einzusetzen, um Aufgaben gut abzugrenzen, Umgebungen zu schützen und die Ergebnisse kontinuierlich zu überprüfen.