Ansvarlig brug af GitHub Copilot Cloud Agent på GitHub.com

Fuldført

Lær at bruge Copilot Cloud Agent ansvarligt på GitHub.com ved at forstå dets formål, kapaciteter og begrænsninger.

Ved afslutningen af denne enhed vil du være i stand til at:

  • Forstå formålet, kapaciteterne og begrænsningerne for Copilot Cloud Agent på GitHub.com.
  • Anvend praksis for ansvarlig brug: afgrænsningsopgaver, sikring af miljøer og validering af resultater.
  • Genkend sikkerhedsforanstaltninger, risici og afhjælpninger, og hvor ydeevnen kan forbedres.

Om Copilot Cloud Agent på GitHub.com

Copilot Cloud Agent er en autonom og asynkron softwareudviklingsagent, der er integreret i GitHub. Agenten kan tage en opgave fra et problem eller fra Copilot Chat, oprette en branch, udforske kodebasen, generere en implementeringsplan og udkaste kode – så du kan beslutte, om og hvornår en pull request skal åbnes.

Copilot Cloud Agent kan generere skræddersyede ændringer baseret på din beskrivelse og konfigurationer, herunder opgaver som fejlrettelser, implementering af inkrementelle nye funktioner, prototyping, dokumentation og vedligeholdelse af kodebasen. Hvis du beslutter dig for at oprette en pull request, kan agenten derefter iterere sammen med dig baseret på din feedback og dine anmeldelser.

Mens du arbejder på din opgave, har agenten adgang til sit eget flygtige udviklingsmiljø, hvor den kan foretage ændringer i din kode, udføre automatiserede tests og køre linters. Agenten er blevet evalueret på tværs af en række programmeringssprog med engelsk som det primære understøttede sprog.

Sådan fungerer agenten (end-to-end)

  • Hurtig behandling

    Den opgave, der gives til Copilot gennem et problem, en pull-anmodningskommentar eller en Copilot Chat-meddelelse, kombineres med andre relevante, kontekstafhængige oplysninger for at danne en prompt. Input kan have form af almindeligt naturligt sprog, kodestykker eller billeder.

  • Analyse af sprogmodel

    Prompten sendes derefter gennem en stor sprogmodel, som analyserer inputtet for at hjælpe agenten med at ræsonnere opgaven og udnytte de nødvendige værktøjer.

  • Generering af svar

    Sprogmodellen genererer et svar baseret på dens analyse af prompten. Dette svar kan tage form af forslag til naturligt sprog og kodeforslag.

  • Formatering af output

    Når agenten har fuldført sin første kørsel, opdaterer den beskrivelsen af pullanmodningen med de ændringer, den har foretaget. Helpdesk-medarbejderen kan inkludere supplerende oplysninger om ressourcer, den ikke kunne få adgang til, og give forslag til de trin, der skal løses.

    Du kan give feedback til helpdesk-medarbejderen ved at kommentere i pull-anmodningen eller eksplicit nævne helpdesk-medarbejderen (@copilot). Helpdesk-medarbejderen sender derefter denne feedback til sprogmodellen til yderligere analyse. Når helpdesk-medarbejderen har gennemført ændringer baseret på feedback, vil den svare på din kommentar med opdaterede ændringer.

Copilot er beregnet til at give dig den mest relevante løsning til opgaveløsning. Det giver dog måske ikke altid det svar, du leder efter. Du er ansvarlig for at gennemgå og validere svar genereret af Copilot for at sikre, at de er nøjagtige og passende. Derudover påtager GitHub sig som en del af vores produktudviklingsproces red teaming (test) for at forstå og forbedre agentens sikkerhed.

Brugstilfælde for Copilot Cloud Agent

  • Vedligeholdelse af kodebase: Sikkerhedsrettelser, afhængighedsopgraderinger og målrettet refaktorering.
  • Dokumentation: Opdatering og oprettelse af ny dokumentation.
  • Udvikling af funktioner: Implementering af trinvise funktionsanmodninger.
  • Forbedring af testdækningen: Udvikling af yderligere testsuiter til kvalitetsstyring.
  • Prototyping af nye projekter: Grøn bane nye koncepter.

Forbedring af ydeevnen for Copilot Cloud Agent

Brug disse foranstaltninger til at forbedre ydeevnen og håndtere begrænsninger:

Sørg for, at dine opgaver er velafgrænsede ved at tilbyde:

  • En klar beskrivelse af det problem, der skal løses, eller det arbejde, der kræves.
  • Fuldstændige acceptkriterier for, hvordan en god løsning ser ud (skal der f.eks. være enhedstest?).
  • Tip eller henvisninger til, hvilke filer der skal ændres.

Tilpas din oplevelse med yderligere kontekst

Copilot Cloud Agent udnytter din prompt, kommentarer og repositoryets kode som kontekst, når du genererer foreslåede ændringer. Forbedre resultaterne ved at tilføje brugerdefinerede Copilot-instruktioner , så helpdesk-medarbejderen forstår, hvordan ændringerne skal bygges, testes og valideres.

Andre nyttige tilpasninger:

  • Tilpasning af udviklingsmiljøet til GitHub Copilot Cloud Agent
  • Tilpasning eller deaktivering af firewallen for GitHub Copilot Cloud Agent
  • Udvidelse af GitHub Copilot Cloud Agent med Model Context Protocol (MCP)

Brug Copilot Cloud Agent som et værktøj, ikke som en erstatning

Gennemgå og test altid det indhold, der genereres af agenten, for at sikre, at det opfylder dine krav og er fri for fejl eller sikkerhedsproblemer, før det flettes.

Brug sikker kodning og kodegennemgang

Selvom Copilot Cloud Agent kan generere syntaktisk korrekt kode, er det ikke altid sikkert. Fortsæt med at følge bedste praksis for sikker kodning (undgå hårdkodede hemmeligheder, undgå injektionssårbarheder) og anvend strenge test-, IP-scannings- og sårbarhedskontroller.

Giv feedback

Hvis du støder på problemer eller begrænsninger, skal du bruge tommelfingeren ned-ikonet under et svar fra en helpdesk-medarbejder eller dele feedback i diskussionsforummet for fællesskabet.

Hold dig opdateret

Copilot Cloud Agent udvikler sig. Overvåg nye sikkerhedsrisici og bedste praksis, efterhånden som de opstår.

Sikkerhedsforanstaltninger for Copilot Cloud Agent

Undgå rettighedsforøgelse

  • Copilot Cloud Agent vil kun reagere på interaktioner fra brugere med skriveadgang .
  • Arbejdsprocesser for handlinger, der udløses af helpdesk-medarbejder-PR'er, kræver godkendelse fra en bruger med skriveadgang, før de kører.
  • Skjulte tegn (gengives ikke på GitHub.com) filtreres for at reducere risikoen for prompt-injektion.

Begrænsning af Copilots tilladelser

  • Agenten får kun adgang til det repository, hvor den er scopet; Den kan ikke få adgang til andre arkiver.
  • Pushes er begrænset til grene med navne, der begynder med copilot/ (ikke din standardgren).
  • Agenten har ikke adgang til organisation/repo Actions-hemmeligheder eller variabler på kørselstidspunktet. Det er kun hemmeligheder/variabler, der føjes til copilot-miljøet, der overføres til agenten.

Forebyggelse af dataeksfiltrering

En firewall er som standard aktiveret for at forhindre utilsigtet eller ondsindet eksfiltrering af kode eller følsomme data. Se Tilpasning eller deaktivering af firewallen for GitHub Copilot Cloud Agent.

Begrænsninger ved Copilot Cloud Agent

Afhængigt af din kodebase og input kan ydeevnen variere. Vær opmærksom på disse begrænsninger:

  • Begrænset omfang og kvalitet: LLM må ikke håndtere visse kodestrukturer eller obskure sprog; Kvaliteten varierer efter sprogdækning.
  • Potentielle skævheder: Træningsdata og hentet kontekst kan indeholde skævheder; Agenten kan hælde til bestemte sprog eller stilarter.
  • Sikkerhedsrisici: Genereret kode er baseret på lagerkontekst og kan afsløre følsomme oplysninger, hvis de ikke gennemgås. grundig gennemgang er påkrævet.
  • Unøjagtig kode: Kode kan se korrekt ud, men være semantisk / syntaktisk forkert eller forkert afstemt med hensigten. Valider pasform, mønstre og stil.
  • Offentlig kode: Agenten kan producere matches/næsten-matches til offentlig kode, selvom "Block" er indstillet; Henvisninger må ikke angives.
  • Juridisk/lovgivningsmæssig: Sikre overholdelse af gældende forpligtelser Undgå forbudt brug i henhold til servicevilkår og adfærdskodekser.