Skip to main content

Verantwortungsvolle Nutzung des GitHub Copilot Cloud-Agents auf GitHub.com

Lernen Sie, Copilot-Cloud-Agent auf GitHub.com verantwortungsbewusst zu verwenden, indem Sie ihre Zwecke, Funktionen und Einschränkungen verstehen.

Informationen Copilot Cloud Agent (früher Copilot Coding Agent) zu GitHub.com

          Copilot-Cloud-Agent ist ein autonomer und asynchroner Softwareentwicklungs-Agent, der in GitHub integriert ist. Der Agent kann eine Aufgabe aus einem Problem oder aus Copilot-Chateinem Repository recherchieren, einen Implementierungsplan erstellen und Codeänderungen an einer Verzweigung vornehmen. Sie können den Diff überprüfen, mit dem Agenten iterieren und eine Pull Request erstellen, wenn Sie bereit sind.

          Copilot-Cloud-Agent kann maßgeschneiderte Änderungen basierend auf Ihrer Beschreibung und Konfiguration generieren, einschließlich Aufgaben wie das Recherchieren einer Codebasis, planung eines Ansatzes, Fehlerbehebungen, Implementieren inkrementeller neuer Features, Prototyperstellung, Dokumentation und Codebasiswartung. Der Agent kann mit Ihnen basierend auf Ihrem Feedback iterieren, sei es durch Nachfragen während einer Sitzung oder durch Kommentare zu einem Pull-Request.

Während der Arbeit an deiner Aufgabe hat der Agent Zugriff auf seine eigene kurzlebige Entwicklungsumgebung, in der er Änderungen an deinem Code vornehmen, automatisierte Tests durchführen und Linter ausführen kann.

Der Agent wurde für eine Vielzahl von Programmiersprachen ausgewertet, wobei Englisch als primär unterstützte Sprache verwendet wird.

Der Agent arbeitet mit einer Kombination aus Verarbeitung natürlicher Sprache und maschinellem Lernen, um deine Aufgabe zu verstehen und Änderungen an einer Codebasis vorzunehmen, um die Aufgabe abzuschließen. Dieser Prozess kann in eine Reihe von Schritten unterteilt werden.

Hinweis

Umfassende Recherchen, Planung und Iteration von Codeänderungen vor dem Erstellen eines Pull-Requests sind nur mit Copilot-Cloud-Agent auf GitHub.com verfügbar. Cloudagent Integrationen (z. B. Azure Boards, JIRA, Linear, Slack oder Teams) unterstützen nur das direkte Erstellen einer Pull-Anforderung.

Promptverarbeitung

Die Aufgabe, die in einem Problem, einem Pull-Request-Kommentar oder einer Copilot-Nachricht bereitgestellt wird, wird mit anderen relevanten, kontextuellen Informationen kombiniert, um einen Hinweis zu bilden. Dieser Prompt wird zur Verarbeitung an ein großes Sprachmodell gesendet. Eingaben sind in Form von einfacher natürlicher Sprache, Codeausschnitten oder Bildern möglich.

Sprachmodellanalyse

Der Prompt wird dann über ein großes Sprachmodell übergeben. Dabei handelt es sich um ein neuronales Netz, das mit einer großen Menge an Daten trainiert wurde. Das Sprachmodell analysiert den Prompt, um den Agent bei Rückschlüssen für die Aufgabe und der Verwendung der erforderlichen Tools zu unterstützen.

Antwortgenerierung

Das Sprachmodell generiert basierend auf seiner Analyse des Prompts eine Antwort. Diese Antwort kann in Form von Vorschlägen in natürlicher Sprache und Codevorschlägen erfolgen.

Ausgabeformatierung

Nachdem der Agent die erste Ausführung abgeschlossen hat, wird eine Zusammenfassung der vorgenommenen Änderungen bereitgestellt. Wenn eine Pull-Anforderung erstellt wurde, aktualisiert der Agent die Beschreibung der Pull-Anforderung. Der Agent kann zusätzliche Informationen zu Ressourcen angeben, auf die er nicht zugreifen konnte, und Vorschläge zu den notwendigen Schritten machen.

Sie können dem Agent Feedback geben, indem Sie während einer Sitzung Nachverfolgungsaufforderungen senden, innerhalb einer Pull-Anforderung kommentieren oder den Agent (@copilot) explizit auf der Pull-Anforderung erwähnen. Der Agent sendet dieses Feedback dann erneut an das Sprachmodell zur weiteren Analyse. Sobald der Agent die Änderungen basierend auf dem Feedback abgeschlossen hat, wird er mit den aktualisierten Änderungen antworten.

Copilot soll Ihnen die relevanteste Lösung für die Aufgabenauflösung bieten. Es ist jedoch möglicherweise nicht immer die Antwort, die du suchst. Sie sind für die Überprüfung und Validierung von Antworten verantwortlich, die von Copilot generiert werden, um sicherzustellen, dass sie korrekt und angemessen sind.

Zusätzlich führt GitHub im Rahmen unseres Produktentwicklungsprozesses Red-Team-Tests durch, um die Sicherheit des Agenten zu verstehen und zu verbessern.

Informationen zur Verbesserung der Leistung finden Sie unter "Verbessern der Leistung" weiter Copilot-Cloud-Agent unten.

Anwendungsfälle für Copilot-Cloud-Agent

Sie können eine Aufgabe Copilot in einer Vielzahl von Szenarien delegieren, einschließlich, aber nicht beschränkt auf:

  •         **Tiefe Forschung:** Verstehen, wie eine Codebasis funktioniert, identifizieren, wo eine Änderung vorgenommen werden soll, oder Bestätigen von Annahmen.
    
  •         **Planung:** Erstellen eines Implementierungsplans, bevor Änderungen vorgenommen werden.
    
  •         **Codebase-Wartung:** Bewältigung sicherheitsbezogener Fixes, Abhängigkeitsupgrades und gezielter Umgestaltung.
    
  •         **Dokumentation:** Aktualisieren und Erstellen neuer Dokumentationen
    
  •         **Featureentwicklung:** Implementierung inkrementeller Featureanforderungen
    
  •         **Verbesserung der Testabdeckung:** Entwicklung zusätzlicher Testsuites für das Qualitätsmanagement
    
  •         **Prototyperstellung neuer Projekte:** Greenfielding neuer Konzepte
    

Verbessern der Leistung für Copilot-Cloud-Agent

          Copilot-Cloud-Agent kann eine breite Palette von Aufgaben unterstützen. Um die Leistung zu verbessern und einige der Einschränkungen des Agenten zu beheben, gibt es verschiedene Maßnahmen, die du treffen kannst.

Weitere Informationen zu Einschränkungen finden Sie unter Einschränkungen ( Copilot-Cloud-Agent unten).

Stellen Sie sicher, dass Ihre Aufgaben gut definiert sind

          Copilot-Cloud-Agent nutzt Ihre Eingabeaufforderung als Schlüsselkontext beim Arbeiten an einer Aufgabe. Je klarer und übersichtlicher der Prompt ist, den du dem Agent zuweist, desto besser sind die Ergebnisse. Eine ideale Aufgabe umfasst:
  • Eine klare Beschreibung des zu lösenden Problems oder der erforderlichen Arbeit
  • Vollständige Akzeptanzkriterien für eine gute Lösung (sollte es z. B. Komponententests geben?)
  • Hinweise oder Indikatoren, welche Dateien geändert werden müssen

Passen Sie Ihr Erlebnis mit zusätzlichem Kontext an

          Copilot-Cloud-Agent nutzt Ihre Eingabeaufforderung, Kommentare und den Code des Repositorys als Kontext, wenn vorgeschlagene Änderungen generiert werden. Der Agent hat auch Zugriff auf die Semantikcodesuche, wodurch er relevanten Code basierend auf der Bedeutung und nicht nur exakten Text-Übereinstimmungen finden kann, sodass er Aufgaben schneller erledigen kann.

Um die Leistung von Copilot zu verbessern, sollten Sie benutzerdefinierte Copilot-Anweisungen implementieren, damit der Agent Ihr Projekt besser verstehen kann und wie Sie die Änderungen erstellen, testen und überprüfen können. Weitere Informationen findest du unter „Hinzufügen von benutzerdefinierten Anweisungen zu deinem Repository“ unter Bewährte Methoden für die Verwendung von GitHub Copilot für die Arbeit an Vorgängen.

Weitere Informationen zu anderen Anpassungen Copilot-Cloud-Agentfinden Sie unter:

  •         [AUTOTITLE](/copilot/customizing-copilot/customizing-the-development-environment-for-copilot-coding-agent)
    
  •         [AUTOTITLE](/copilot/customizing-copilot/customizing-or-disabling-the-firewall-for-copilot-coding-agent)
    
  •         [AUTOTITLE](/copilot/using-github-copilot/coding-agent/extending-copilot-coding-agent-with-mcp)
    

Als Tool und nicht als Ersatz verwenden Copilot-Cloud-Agent

Obwohl Copilot-Cloud-Agent es sich um ein leistungsfähiges Tool zum Generieren von Code und Dokumentation handelt, ist es wichtig, es als Tool zu verwenden, anstatt als Ersatz für die menschliche Programmierung. Du solltest die vom Agent generierten Inhalte immer überprüfen und testen, um sicherzustellen, dass sie deine Anforderungen erfüllt und vor dem Mergen frei von Fehlern oder Sicherheitsproblemen sind.

Methoden für die sichere Programmierung und Code Reviews verwenden

Obwohl Copilot-Cloud-Agent syntaktisch korrekten Code generieren kann, ist er möglicherweise nicht immer sicher. Du solltest immer bewährte Methoden für die sichere Programmierung befolgen und beispielsweise hartcodierte Kennwörter oder Sicherheitsrisiken durch Einschleusung von SQL vermeiden. Zudem solltest du dich an die bewährten Methoden für Code Reviews halten, um die Einschränkungen des Agents zu berücksichtigen. Du solltest immer die gleichen Vorsichtsmaßnahmen treffen wie bei selbstgeschriebenem Code, der Material verwendet, das du nicht unabhängig bezogen hast, einschließlich solcher Vorsichtsmaßnahmen, um dessen Eignung zu gewährleisten. Diese Vorsichtsmaßnahmen umfassen strenge Tests, IP-Überprüfungen und Suchen nach Sicherheitsrisiken.

Feedback geben

Wenn Sie auf Copilot-Cloud-Agent oder GitHub.com Probleme oder Einschränkungen stoßen, empfehlen wir, Feedback zu geben, indem Sie unterhalb jeder Agentenantwort auf das Daumen-nach-unten-Symbol klicken. Dies kann Entwickler*innen dabei helfen, das Tool zu verbessern und alle Probleme oder Einschränkungen zu behandeln. Darüber hinaus kannst du Feedback im Communityforum geben.

Auf dem Laufenden bleiben

          Copilot-Cloud-Agent ist eine neue Technologie und wird sich wahrscheinlich im Laufe der Zeit weiterentwickeln. Sie sollten sich über alle neuen Sicherheitsrisiken sowie neu entwickelte bewährte Methoden auf dem Laufenden halten.

Sicherheitsmaßnahmen für Copilot-Cloud-Agent

Im Design von Copilot-Cloud-Agent sind mehrere Sicherheitsmaßnahmen integriert, um sicherzustellen, dass Ihre Daten und die Codebasis sicher sind. Obwohl Vorsichtsmaßnahmen vorhanden sind, solltest du weiterhin bewährte Methoden für die Sicherheit implementieren und die Einschränkungen des Agents sowie deren Auswirkung auf deinen Code kennen.

Vermeidung der Privilegieneskalation

          Copilot-Cloud-Agent reagiert nur auf Aktionen (z.B. das Zuweisen eines Agenten oder das Hinzufügen eines Kommentars) von Benutzern mit Schreibzugriff auf das Repository.

          GitHub Actions Workflows werden als Reaktion auf Pull-Anforderungen ausgelöst, die von Copilot-Cloud-Agent gestellt werden. Sie erfordern die Genehmigung eines Benutzers mit Schreibzugriff auf das Repository, bevor sie ausgeführt werden.

Der Agent filtert ausgeblendete Zeichen heraus, die nicht auf GitHub.com angezeigt werden, wodurch Benutzer andernfalls schädliche Anweisungen in Kommentaren oder im Textkörper verstecken können. Dies schützt vor Risiken wie Jailbreaks.

Einschränken der Berechtigungen von Copilot

Copilot hat nur Zugriff auf das Repository, in dem es arbeitet, und kann nicht auf andere Repositorys zugreifen.

Die Berechtigungen sind darauf eingeschränkt, Code zu pushen und andere Ressourcen zu lesen. Eingebaute Schutzfunktionen bedeuten, dass Copilot nur auf einen einzelnen Branch pushen kann: auf den vorhandenen Pull-Request-Branch, wenn er über @copilot ausgelöst wird, oder andernfalls auf einen neuen copilot/ Branch. Das bedeutet, dass Copilot nicht direkt zu deinem Standard Branch (z.B. main) pushen kann.

          Copilot-Cloud-Agent hat während der Laufzeit keinen Zugriff auf die Organisation Actions oder auf Repository-Geheimnisse und Variablen. Nur Geheimnisse und Variablen, die speziell zur `copilot`-Umgebung hinzugefügt werden, werden an den Agent übergeben.

Sicherstellen der Rückverfolgbarkeit

Die Commits von Copilot-Cloud-Agent werden von Copilot verfasst, wobei der Mensch, der die Aufgabe gestartet hat, als Mitautor gekennzeichnet ist. Dadurch ist es einfacher, code zu identifizieren, der vom Agent generiert wurde und wer die Aufgabe initiiert hat.

          Copilot-Cloud-Agent's Commits sind signiert, sodass sie auf GitHub als "Überprüft" angezeigt werden. Dies gibt die Gewissheit, dass die Commits von Copilot-Cloud-Agent vorgenommen und nicht geändert wurden.

Jede Commitnachricht enthält einen Link zu den Agentsitzungsprotokollen. Auf diese Weise erhalten Sie einen dauerhaften Link von jedem agentautorierten Commit zu den vollständigen Sitzungsprotokollen, sodass Sie verstehen können, warum Copilot eine Änderung während der Codeüberprüfung vorgenommen oder später für Überwachungszwecke nachverfolgt wurde.

Verhindern der Datenexfiltration

Standardmäßig ist eine Firewall aktiviert, Copilot-Cloud-Agent um die Exfiltration von Code oder anderen vertraulichen Daten zu verhindern, entweder versehentlich oder aufgrund von böswilligen Benutzereingaben.

Weitere Informationen finden Sie unter Anpassen oder Deaktivieren der Firewall für GitHub Copilot Cloud Agent.

Verhindern von Sicherheitsrisiken im generierten Code

Während des Codegenerierungsprozesses Copilot-Cloud-Agent analysiert der neu generierte Code automatisch auf Sicherheitsrisiken und versucht, diese zu beheben, um zu verhindern, dass erkannte Probleme eingeführt werden. Die Analyse erfolgt mithilfe der folgenden Tools und Prozesse:

  •         **
            CodeQL
            **: wird ausgeführt, um potenzielle Sicherheitsrisiken und Fehler zu identifizieren.
    
  •         **
            Secret scanning
            **: sucht nach bekannten Arten von geheimen Schlüsseln, um sicherzustellen, dass geheime Schlüssel nicht in der Antwort eingeführt werden.
    
  •         **Abhängigkeitsanalyse**: Abhängigkeiten, auf die neuer Code verweist, werden im GitHub Advisory Database auf bekannte Sicherheitslücken überprüft.
    

Einschränkungen von Copilot-Cloud-Agent

Abhängig von Faktoren wie Codebasis und Eingabedaten können bei der Verwendung Copilot-Cloud-Agentunterschiedliche Leistungsstufen auftreten. Die folgenden Informationen sollen Ihnen helfen, Systembeschränkungen und wichtige Konzepte zur Leistung zu verstehen, wie sie sich auf sie beziehen Copilot-Cloud-Agent.

Eingeschränkter Gültigkeitsbereich

Das Sprachmodell von Copilot-Cloud-Agent, das auf einem großen Codebestand trainiert wurde, hat jedoch einen begrenzten Umfang und kann bestimmte Code-Strukturen oder seltene Programmiersprachen nicht verarbeiten. Für jede Sprache hängt die Qualität der Vorschläge, die du erhältst, von der Menge und Vielfalt der Trainingsdaten für diese Sprache ab.

Potenzielle Verzerrungen

Die vom großen Sprachmodell von Copilot-Cloud-Agent gesammelten Schulungsdaten und der kontextuelle Kontext können Verzerrungen und Fehler enthalten, die durch das Tool aufrechterhalten werden können. Copilot-Cloud-Agent kann zudem eine Tendenz zu bestimmten Programmiersprachen oder Codierungsstilen aufweisen, was zu suboptimalen oder unvollständigen Vorschlägen führen kann.

Sicherheitsrisiken

          Copilot-Cloud-Agent generiert Code und natürliche Sprache basierend auf dem Kontext eines Problems oder Kommentars innerhalb eines Repositorys, wodurch potenziell vertrauliche Informationen oder Sicherheitsrisiken verfügbar gemacht werden können, wenn sie nicht sorgfältig verwendet werden. Achte darauf, alle vom Agent generierten Ausgaben vor dem Mergen gründlich zu überprüfen.

Ungenauer Code

          Copilot-Cloud-Agent kann Code generieren, der als gültig erscheint, aber möglicherweise nicht semantisch oder syntaktisch korrekt ist oder nicht genau die Absicht des Entwicklers widerspiegelt.

Um das Risiko von ungenauem Code zu minimieren, solltest du den generierten Code sorgfältig überprüfen und testen, insbesondere bei kritischen oder vertraulichen Anwendungen. Darüber hinaus solltest du sicherstellen, dass der generierte Code den bewährten Methoden und Entwurfsmustern entspricht und in die allgemeine Architektur und den Stil der Codebasis passt.

Öffentlicher Code

          Copilot-Cloud-Agent kann Code generieren, bei dem es sich um eine Übereinstimmung oder nahezu übereinstimmung mit öffentlich verfügbarem Code handelt, auch wenn die Richtlinie "Vorschläge, die mit öffentlichem Code übereinstimmen" auf "Blockieren" festgelegt ist. Weitere Informationen findest du unter [AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/managing-your-copilot-plan/managing-copilot-policies-as-an-individual-subscriber#enabling-or-disabling-suggestions-matching-public-code).

In diesem Fall zeigt Copilot Übereinstimmungen in den Agentsitzungsprotokollen an, zusammen mit einem Link, über den Details des übereinstimmenden Codes angezeigt werden können. Weitere Informationen finden Sie unter Das Nachverfolgen der GitHub Copilot-Sitzungen.

Benutzer müssen potenzielle rechtliche und behördliche Verpflichtungen berücksichtigen, wenn du KI-Dienste und -Lösungen verwendest. Diese sind möglicherweise nicht für die Verwendung in jeder Branche oder in jedem Szenario geeignet. Darüber hinaus sind KI-Dienste oder -Lösungen nicht dafür konzipiert, auf eine Weise verwendet zu werden, die gegen die geltenden Nutzungsbedingungen und Verhaltensregeln verstößt, und dürfen nicht solchermaßen eingesetzt werden.

Externe Integrationen mit Copilot-Cloud-Agent

          Copilot-Cloud-Agent kann Informationen und Kontext von externen Anwendungen wie Microsoft Teams, Linear, Slack und Jira empfangen. Wenn Sie die externe Anwendung auf diesen Plattformen erwähnen oder dem Cloud-Agent eine Aufgabe über einen verbundenen Workflow zuweisen, kann sie auf relevanten Kontext zugreifen, z. B. unterhaltungsverlauf in Threads, in denen sie erwähnt wird, oder Problemdetails und Aktivitätszeitachsen. Auf diese Weise kann der Cloud-Agent Ihre Entwicklungsanforderungen besser verstehen und relevantere Unterstützung bieten. Mit diesen Integrationen können Teams an Code zusammenarbeiten, Aufgaben zuweisen und den Fortschritt direkt innerhalb ihrer vorhandenen Workflows nachverfolgen, ohne Tools zu wechseln. Stellen Sie sicher, dass Ihr Team versteht, welche Informationen freigegeben werden, und konfigurieren Sie Integrationen gemäß den Datenschutz- und Datenverarbeitungsrichtlinien Ihrer Organisation.

Weitere Informationen zu externen Integrationen mit Copilot-Cloud-Agent, finden Sie unter: * Integrieren von Copilot-Cloud-Agent in Teams * Integration von Copilot-Cloud-Agent mit Linear * Integration von Copilot-Cloud-Agent mit Slack