Skip to main content

Zulassen, dass GitHub Copilot CLI autonom funktioniert

Der Autopilot-Modus der CLI ermöglicht es Copilot-CLI, eine Aufgabe autonom zu bearbeiten und mehrere Schritte auszuführen, bis die Aufgabe abgeschlossen ist.

Überblick

Wenn Sie Copilot-CLI interaktiv verwenden, senden Sie eine Eingabeaufforderung und warten dann, bis Copilot-CLI antwortet, bevor Sie die nächste Anweisung geben. Diese Hin und Her-Interaktion setzt sich fort, bis die Aufgabe abgeschlossen ist.

Der Autopilot-Modus ermöglicht es Copilot-CLI, eine Aufgabe auszuführen, ohne nach jedem Schritt auf Ihre Eingabe zu warten. Nachdem Sie die anfängliche Anweisung erteilt haben, arbeitet Copilot-CLI autonom alle Schritte durch, bis es bestimmt, dass die Aufgabe abgeschlossen ist.

Der Unterschied zwischen dem standardmäßigen interaktiven Modus der CLI und dem Autopilot-Modus ist wie der Unterschied zwischen der Arbeit an einer Aufgabe mit einem Kollegen, der die meiste Arbeit erledigt, aber regelmäßig bei Ihnen Rückmeldung einholt, im Vergleich dazu, die Aufgabe an Ihren Kollegen zu übergeben und zu sagen: "Das ist, was ich brauche – geben Sie mir Bescheid, wenn Sie fertig sind."

Im Autopilot-Modus wird Copilot weiterhin ausgeführt, bis eine der folgenden Aktionen durchgeführt wird:

  • Der Agent bestimmt, dass die Aufgabe abgeschlossen ist.
  • Ein Problem tritt auf, das den weiteren Fortschritt verhindert.
  • Sie drücken STRG+C, um den Agenten zu stoppen.
  • Die maximale Fortsetzungsgrenze wird erreicht (sofern festgelegt).

Um während einer interaktiven Sitzung in den Autopilot-Modus zu wechseln, drücken Sie Shift+Tab und wechseln Sie durch die verfügbaren Modi, bis Sie den Autopilot-Modus erreicht haben, und geben Sie dann Ihren Befehl ein. Verwenden Sie dieselbe Tastenkombination, um vom Autopilot-Modus zurück zum standardmäßigen interaktiven Modus zu wechseln.

Vorteile des Autopilot-Modus

  •           **Automatisierung ohne Eingriff:** Copilot erledigt Aufgaben, ohne dass nach der ersten Anweisung ein weiterer Eingriff erforderlich ist.
    
  •         **Effizienz:** Ideal für gut definierte Aufgaben wie das Schreiben von Tests, das Umgestalten von Dateien oder das Beheben von CI-Fehlern. Autopilot eignet sich besonders für große Aufgaben, die lange, mehrstufige Sitzungen erfordern.
    
  •           **Batchvorgänge:** Sinnvoll in Skripting- und CI-Workflows, wo Sie möchten, dass Copilot vollständig ausgeführt wird.
    
  •         **Sicherheit:** Im Autopilot-Modus können Copilot mehrere selbstgesteuerte Schritte ausführen, um Ihre Aufgabe abzuschließen. 
            `--max-autopilot-continues` beschränkt die Anzahl der Schritte, die vor dem Beenden ausgeführt werden können, um endlose Schleifen zu vermeiden. Außerdem kann Copilot im Autopilot-Modus keine Aktionen ausführen, die eine Berechtigung erfordern, es sei denn, Sie erteilen ihm explizit vollständige Berechtigungen.
    

Zu berücksichtigende Dinge

  •         **Aufgabeneignung:** Der Autopilot-Modus eignet sich am besten für klar definierte Vorgänge. Es ist nicht ideal für offene Erkundung, Featureentwicklung ohne klares Ziel oder Aufgaben, bei denen Sie die laufende Arbeit leiten möchten.
    

    Copilot wird sein Bestes tun, um jede Aufgabe zu erledigen, könnte jedoch Schwierigkeiten mit vagen oder mehrdeutigen Anweisungen oder Aufgaben haben, die differenzierte Urteile erfordern. Dies kann zu einer Reihe von Codeänderungen führen, die nicht erwartungsgemäß sind und nicht ohne Korrekturarbeiten verwendet werden können.

  •         **Vertrauen:** Sie müssen Copilot vertrauen, um angemessene Entscheidungen zu treffen. Der Autopilot-Modus funktioniert am besten, wenn Sie ihm die Genehmigung für alle Berechtigungen erteilen. Dies entspricht dem Ausführen von Copilot-CLI mit der `--allow-all` Option. Beachten Sie, dass dies der CLI die Berechtigung erteilt, änderungen vorzunehmen, die zum Ausführen der Aufgabe erforderlich sind, einschließlich Änderungen und Löschen von Dateien.
    
  •         **Kosten:** Der Autopilot-Modus verwendet Premium-Anforderungen auf die gleiche Weise wie diese verwendet werden, wenn Sie in der standardmäßigen interaktiven Schnittstelle arbeiten. Im Standardmodus wird eine Premium-Anforderung verwendet, wenn Sie Ihre erste Aufforderung übermitteln, und dann wird jedes Mal eine zusätzliche Premium-Anforderung verwendet, wenn Sie auf eine Frage in der CLI antworten, und der Agent verwendet Ihre Antwort, um mit dem KI-Modell zu interagieren. Das gleiche gilt im Autopilot-Modus, mit der Ausnahme, dass Sie nicht daran beteiligt sind, den nächsten Schritt zu initiieren, sodass die Verwendung zusätzlicher Premium-Anforderungen ohne Ihre direkte Beteiligung erfolgt.
    

    Die Nutzung der abrechnenden Premium-Anforderung wird mithilfe eines Multiplizierers bestimmt. Der Multiplikator variiert, je nachdem, welches Modell Sie verwenden. Verwenden Sie den /model Schrägstrichbefehl, um das aktuell ausgewählte Modell und dessen Multiplikator anzuzeigen, und ändern Sie das Modell bei Bedarf. Weitere Informationen findest du unter Anforderungen in GitHub Copilot und Info zur Abrechnung einzelner GitHub Copilot-Pläne.

    Jedes Mal, wenn der Agent autonom fortgesetzt wird, wird in der CLI eine Meldung angezeigt, die Ihnen mitteilt, wie viele Premium-Anforderungen in diesem Fortsetzungsschritt verwendet wurden – unter Berücksichtigung des Modellmultiplikators, z.B.: Continuing autonomously (3 premium requests).

Erlaubnisse

Wenn Sie den Autopilot-Modus aktivieren und Copilot noch nicht alle Berechtigungen gewährt haben, wird eine Meldung angezeigt, in der Sie aufgefordert werden, zwischen drei Optionen zu wählen:

1. Enable all permissions (recommended)
2. Continue with limited permissions
3. Cancel (Esc)

Wenn Sie alle Berechtigungen aktivieren, erhalten Sie die besten Ergebnisse aus dem Autopilot-Modus. Wenn Sie sich dafür entscheiden, mit eingeschränkten Berechtigungen fortzufahren, verweigert Copilot automatisch alle Toolanforderungen, die eine Genehmigung erfordern, wodurch verhindert werden kann, dass bestimmte Aufgaben abgeschlossen werden. Sie können Ihre Meinung später ändern und während einer Autopilot-Sitzung vollständige Berechtigungen erteilen, indem Sie den Befehl (oder seinen /allow-all Alias /yolo) verwenden.

Vergleich des Autopilot-Modus, --allow-allund --no-ask-user

          `--allow-all`und sein Alias `--yolo`sind berechtigungsbezogene Optionen, die Sie beim Starten einer interaktiven Sitzung an den `copilot` Befehl übergeben können. Eine vollständige Liste der verfügbaren Optionen finden Sie unter [AUTOTITLE](/copilot/reference/cli-command-reference#command-line-options).

Mit den Optionen --allow-all und --yolo kann der CLI-Agent alle Tools, Pfade und URLs verwenden. Sie können diese Berechtigungen auch während einer interaktiven Sitzung mithilfe der /allow-all Befehle oder /yolo Schrägstriche festlegen.

Hinweis

Durch das Eingeben von /allow-all und /yolo werden Berechtigungen für die aktuelle Sitzung aktiviert. Wenn Sie diese Schrägstrichbefehle erneut eingeben, werden berechtigungen nicht deaktiviert, d. h., diese Befehle schalten keine Berechtigungen ein und aus.

Mit --allow-all befinden Sie sich immer noch im normalen interaktiven Ablauf. Copilot hält weiterhin an und fragt Sie, was es tun soll, wenn es einen Entscheidungspunkt erreicht. Wenn jedoch Copilot-CLI etwas tun muss, das normalerweise eine Genehmigung erfordern würde, wie z. B. die Verwendung von Tools, Pfaden oder URLs, wird es ohne Rückfrage zur Genehmigung ausgeführt.

Die --no-ask-user-Option unterdrückt klärende Fragen, die Copilot normalerweise stellen könnte. Stattdessen muss der Agent selbst Entscheidungen treffen, anstatt nach Ihrer Eingabe zu fragen. Dies bietet eine gewisse Autonomie. Im Gegensatz zum Autopilot-Modus --no-ask-user kann der Agent jedoch nicht durch aufeinander folgende Schritte weiter an einer Aufgabe arbeiten, bei denen die Interaktion mit dem KI-Modell erforderlich ist. Mit dieser Option verwendet die CLI keine zusätzlichen Premium-Anforderungen nach Ihrem ersten Befehl, ohne dass Sie beteiligt werden.

Typischer Workflow für die Verwendung des Autopilot-Modus

Der Autopilot-Modus eignet sich ideal für die Implementierung eines großen, detaillierten Arbeitsplans. Häufig finden Sie es nützlich, zum Autopilot-Modus zu wechseln, nachdem Sie mit Copilot im Planmodus arbeiten, um einen Implementierungsplan zu erstellen. Weitere Informationen zum Planmodus finden Sie unter Bewährte Methoden für GitHub Copilot CLI.

Beispiel:

  • Starten Sie eine interaktive Copilot-CLI Sitzung.

    Optional können Sie die --allow-all Option zum Erteilen von Berechtigungen und die --max-autopilot-continues Option zum Festlegen eines maximalen Fortsetzungsgrenzwerts für den Autopilot-Modus während der Sitzung einschließen. Sie können beispielsweise die Sitzung mit copilot --allow-all --max-autopilot-continues 10 starten, um dem Agenten die Berechtigung zum Verwenden aller Werkzeuge, Pfade und URLs zu erteilen und eine maximale Fortsetzungsgrenze für den Autopiloten auf 10 festzulegen.

  • Wenn Sie beim Starten der interaktiven Sitzung aufgefordert werden, den Dateien im aktuellen Ordner zu vertrauen, akzeptieren Sie diese Option.

  • Drücken Sie UMSCHALTTASTE+, um zum Planmodus zu wechseln, geben Sie eine Eingabeaufforderung ein, die beschreibt, was Sie erreichen möchten, und arbeiten Sie dann mit Copilot zusammen, um einen detaillierten Plan zu erstellen.

  • Sobald Sie über einen Plan verfügen, mit dem Sie zufrieden sind, verwenden Sie die Option, die die CLI für "Plan akzeptieren und auf Autopilot bauen" anbietet.

  • Wenn Sie zu Berechtigungen aufgefordert werden, wählen Sie die Option aus, um alle Berechtigungen zu aktivieren.

  • Überlassen Sie Copilot die Implementierung des Plans. Sie können den Fortschritt regelmäßig einchecken.

Programmgesteuertes Verwenden des Autopilot-Modus

Sie können den Autopilot-Modus verwenden, wenn Sie Copilot-CLI programmgesteuert ausführen, z. B. wenn Sie Copilot eine Eingabeaufforderung in der Befehlszeile übergeben oder wenn Sie die CLI als Teil eines Skripts oder CI-Workflows verwenden. Auf diese Weise können Sie Aufgaben Ende-zu-Ende automatisieren, ohne nach dem ersten Befehl mit der CLI interagieren zu müssen.

Verwenden Sie die Option --allow-all (oder --yolo), um Copilot die Erlaubnis zu erteilen, alle Tools, Pfade und URLs zu verwenden. Sie können die --max-autopilot-continues Option verwenden, um eine maximale Fortsetzungsgrenze festzulegen, die endlose Schleifen verhindert. Dies ist besonders wichtig in programmgesteuerten Kontexten, in denen Sie nicht da sein werden, um zu intervenieren, wenn etwas schief geht.

Beispielverwendung:

copilot --autopilot --yolo --max-autopilot-continues 10 -p "IHR PROMPT HIER"

Zusammenfassung

Verwenden Sie den Autopilot-Modus, wenn Sie möchten, dass Copilot eine Aufgabe übernimmt und ohne Ihre Beteiligung bis zum Abschluss ausführt. Am besten eignet es sich für klare, genau definierte Aufgaben, bei denen Sie darauf vertrauen, dass Copilot vernünftige Entscheidungen trifft.

Weiterführende Lektüre

  •         [AUTOTITLE](/copilot/how-tos/copilot-cli/use-copilot-cli#get-copilot-to-work-autonomously)