GitHub Copilot-data

Fuldført

I dette undermodul gennemgår vi, hvordan GitHub Copilot håndterer data til forskellige miljøer, funktioner og konfigurationer.

Datahåndtering for GitHub Copilot-kodeforslag

GitHub Copilot i kodeeditoren bevarer ikke nogen prompter, f.eks. kode eller anden kontekst, der bruges til at komme med forslag til at oplære de grundlæggende modeller. Den sletter prompterne, når der returneres et forslag.

GitHub Copilot Individuelle abonnenter kan fravælge deling af deres prompter med GitHub, som ellers vil blive brugt til at finjustere GitHubs grundlæggende model.

Datahåndtering til GitHub Copilot-chat

GitHub Copilot Chat fungerer som en interaktiv platform, så udviklere kan deltage i samtaleinteraktioner med AI-assistenten for at modtage kodningshjælp. Her er de trin, der udføres, og som kan være forskellige fra andre funktioner, f.eks. fuldførelse af kode:

  • formatering: Copilot formaterer omhyggeligt det genererede svar for at få den optimale præsentation i chatgrænsefladen. Den fremhæver kodestykker for at forbedre læsbarheden og kan omfatte muligheder for direkte integration i din kode. Copilot viser det formaterede svar i vinduet Copilot Chat i IDE'et, så du nemt kan gennemse og interagere med de angivne oplysninger.
  • Brugerengagement: Du kan aktivt interagere med svaret ved at stille opfølgende spørgsmål, anmode om præciseringer eller angive yderligere input. Chatgrænsefladen vedligeholder en samtalehistorik for at lette kontekstafhængig forståelse i efterfølgende interaktioner.
  • dataopbevaring: For Copilot Chat, der bruges uden for kodeeditoren, bevarer GitHub typisk prompter, forslag og understøttende kontekst i 28 dage. Specifikke opbevaringspolitikker for Copilot Chat i kodeeditoren kan variere.

Det samme gælder for CLI, Mobile og GitHub Copilot Chat på GitHub.com.

Prompttyper, der understøttes af GitHub Copilot Chat

GitHub Copilot Chat behandler en lang række koderelaterede prompts og demonstrerer dens alsidighed som samtalekodningsassistent. Her er nogle almindelige inputtyper:

  • direkte spørgsmål: Du kan stille specifikke spørgsmål om kodningsbegreber, biblioteker eller fejlfindingsproblemer. F.eks. "Hvordan implementerer jeg en hurtig sorteringsalgoritme i Python?" eller "Hvorfor gengives min React-komponent ikke?"
  • Code-Related Anmodninger: Du kan anmode om oprettelse, ændring eller forklaring af kode. Eksempler omfatter "Skriv en funktion til beregning af fakultetet", "Løs denne fejl i min kode" eller "Forklar dette kodestykke".
  • Open-Ended forespørgsler: Du kan udforske kodningsbegreber eller søge generel vejledning ved at stille åbne spørgsmål som "Hvad er de bedste fremgangsmåder til at skrive ren kode?" eller "Hvordan kan jeg forbedre ydeevnen af mit Python-program?"
  • kontekstafhængige prompts: Du kan angive kodestykker eller beskrive specifikke kodescenarier for at søge skræddersyet hjælp. F.eks. "Her er en del af min kode, kan du foreslå forbedringer?" eller "Jeg bygger et webprogram, kan du hjælpe mig med godkendelsesflowet?"

Copilot Chats evne til at behandle forskellige inputtyper forbedrer dens nytte som en omfattende kodeledsager.

Begrænsede kontekstvinduer

Illustration af kontekstvinduet GitHub Copilot.

Selvom GitHub Copilot Chat udmærker sig ved at forstå og besvare prompter, er det vigtigt at anerkende begrænsningen af kontekstvinduer. Dette refererer til mængden af omgivende kode og tekst, som modellen kan behandle samtidigt for at generere forslag. GitHub Copilots kontekstvindue spænder typisk fra ca. 200-500 kodelinjer eller op til nogle få tusinde tokens. Denne begrænsning kan variere afhængigt af den specifikke implementering og version af Copilot, der bruges.

Copilot Chat fungerer i øjeblikket med et kontekstvindue med 4k-tokens, hvilket giver et bredere omfang for at forstå og svare på brugerforespørgsler sammenlignet med Standard Copilot.

På trods af disse fremskridt skal du være opmærksom på begrænsninger for kontekstvinduer, når du opretter prompter. Hvis du opdeler komplekse problemer i mindre, mere fokuserede forespørgsler eller leverer relevante kodestykker, kan det forbedre modellens evne til at give præcise og nyttige svar.