Informationen Copilot Cloud-Agent (früher Copilot Codierungs-Agent) zu GitHub.com
Copilot Cloudagent 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 Cloudagent 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 Cloudagent 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 Cloudagent unten.
Anwendungsfälle für Copilot Cloudagent
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:** Umsetzung neuer Konzepte auf unberührtem Terrain
Verbessern der Leistung für Copilot Cloudagent
Copilot Cloudagent 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 Cloudagent unten).
Stellen Sie sicher, dass Ihre Aufgaben gut definiert sind
Copilot Cloudagent 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 Cloudagent 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 Cloudagentfinden Sie unter:
-
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-environment) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/customize-the-agent-firewall) -
[AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/extend-cloud-agent-with-mcp)
Als Tool und nicht als Ersatz verwenden Copilot Cloudagent
Obwohl Copilot Cloudagent 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 Cloudagent 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 Cloudagent 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.
Bleiben Sie auf dem neuesten Stand
Copilot Cloudagent 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 Cloudagent
Im Design von Copilot Cloudagent 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 Cloudagent 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 Cloudagent 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 Schutzmaßnahmen bedeuten, dass Copilot nur an einen einzelnen Zweig übertragen kann: den vorhandenen Pull-Request-Zweig, wenn er über @copilot ausgelöst wird, oder andernfalls an einen neuen copilot/ Zweig. Dies bedeutet, dass Copilot nicht direkt auf den Standardbranch pushen kann (z. B. main).
Copilot Cloudagent 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 Cloudagent 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 Cloudagent's Commits sind signiert, sodass sie auf GitHub als "Überprüft" angezeigt werden. Dies gewährleistet das Vertrauen, dass die Commits von Copilot Cloudagent vorgenommen wurden und nicht verä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 Cloudagent um die Exfiltration von Code oder anderen vertraulichen Daten zu verhindern, entweder versehentlich oder aufgrund von böswilligen Benutzereingaben.
Weitere Informationen findest du unter Anpassen oder Deaktivieren der Firewall für GitHub Copilot Cloud-Agent.
Verhindern von Sicherheitsrisiken im generierten Code
Während des Codegenerierungsprozesses Copilot Cloudagent 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 Cloudagent
Abhängig von Faktoren wie Codebasis und Eingabedaten können bei der Verwendung Copilot Cloudagentunterschiedliche Leistungsstufen auftreten. Die folgenden Informationen sollen Ihnen helfen, Systembeschränkungen und wichtige Konzepte zur Leistung zu verstehen, wie sie sich auf sie beziehen Copilot Cloudagent.
Eingeschränkter Gültigkeitsbereich
Das Sprachmodell von Copilot Cloudagent, 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 Cloudagent gesammelten Schulungsdaten und der kontextuelle Kontext können Verzerrungen und Fehler enthalten, die durch das Tool aufrechterhalten werden können. Copilot Cloudagent kann zudem eine Tendenz zu bestimmten Programmiersprachen oder Codierungsstilen aufweisen, was zu suboptimalen oder unvollständigen Vorschlägen führen kann.
Sicherheitsrisiken
Copilot Cloudagent 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 Cloudagent 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 Cloudagent 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. Siehe [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 findest du unter Nachverfolgung der GitHub-Copilot-Sitzungen.
Rechtliche und regulatorische Überlegungen
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 Cloudagent können 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 Cloudagent, finden Sie unter: * Die Integration des Copilot-Cloud-Agenten in Teams * Integration des Copilot-Cloud-Agent in Linear * Integration des Copilot-Cloud-Agenten mit Slack