Nyhet

Copilot väljer modell efter kostnad och kvalitet – bygg ett eget kontrollprov innan du slår på Auto

GitHub Copilot har fått tre Auto-nivåer: Efficiency, Balance och Intelligence. Namnen säger vad routingen prioriterar, men inte vilken modell, kostnad eller kodkvalitet just din repo-uppgift ger. Kör därför samma lilla ändring tre gånger och välj standard först när diffen och testerna ligger bredvid användningen.

Publicerad

En svart nätverksbyggd apa står framför tre industriella maskinstationer, där den högra har en lysande grön ring.
Tre körningar får samma utgångsläge; först mätningen visar vilken väg som håller för uppgiften.
Kort sagt

Välj en verklig men liten repo-uppgift, frys startcommit, prompt, klient, policy och tester och kör den en gång per nivå i tre rena arbetskopior. Spara vald modell, debiterad användning, svarstid, diff och testutfall. Godkänn inte en standardnivå för att namnet låter rätt: välj den billigaste körning som klarar dina fasta kvalitetskrav, eller dokumentera att provet inte skiljer nivåerna åt.

Tre prioriteringar, inte tre fasta modeller

I släppnotisen den 14 september 2026 beskriver GitHub tre nivåer för Copilot Auto. Efficiency prioriterar låg kostnad och är avsedd för snabba, raka uppgifter. Balance väger kostnad, kvalitet och svarstid tillsammans för vardagsarbete. Intelligence prioriterar kvalitet för komplexa uppgifter.

Det är routingpreferenser, inte en tabell där varje nivå motsvarar ett visst modellnamn. Enligt GitHubs dokumentation om Auto har nivåerna samma uppsättning tillgängliga modeller och varje prompt bedöms för sig. En enkel prompt kan därför gå till en mindre modell även när Intelligence är vald. Auto tar också hänsyn till systemens hälsa och tillgänglighet. Två körningar med samma nivå behöver alltså inte bli ett permanent bevis på nivåns beteende.

Nivåerna finns i VS Code, Copilot CLI och GitHub Copilot app. Dokumentationen säger också att du kan se modellnamnet för varje svar: genom att hålla pekaren över svaret i Copilot Chat, direkt i terminalen i CLI och intill Auto i appens modellväljare. Modellurvalet påverkas av abonnemang och administratörspolicyer och kan ändras över tid. Spara därför klientversion, plan, relevanta policyer och tidpunkt tillsammans med resultatet.

Välj en uppgift som avslöjar en användbar skillnad

En docstring är lätt att jämföra men säger nästan inget om kodkvalitet. En bred refaktorering gör däremot tre diffar svåra att bedöma på samma villkor. Välj mitten: en ändring som ryms i två till fem filer, har ett observerbart beteende och kan verifieras med ett kort testkommando. Exempel: lägg till validering av ett nytt konfigurationsfält, returnera ett namngivet fel för ogiltig indata och komplettera befintliga enhetstester.

Frys uppgiften som ett litet kontrakt. Prompten ska beställa exakt det som poängsättningen mäter:

Utgå från aktuell checkout. Lägg till stöd för timeoutMs i config.
Krav:
1. heltal 100–30000 accepteras,
2. saknat värde använder befintligt standardbeteende,
3. övriga värden ger ConfigError utan att läcka configinnehåll,
4. lägg till tester för min, max, utanför intervall och saknat värde.
Ändra inga publika namn utöver timeoutMs. Kör npm test.

Prompten beställer beteende, feltyp, sekretessgräns, fyra testfall och ett kommando. Då kan provet kontrollera samma fem saker. Undvik formuleringar som ”gör lösningen robust” om du inte samtidigt definierar vad robust betyder; annars belönar du i efterhand den diff du råkade tycka bäst om.

Frys startläget i tre rena arbetskopior

Skapa en startcommit där befintliga tester är gröna. Kör sedan en arbetskopia eller worktree per nivå: auto-efficiency, auto-balance och auto-intelligence. Varje körning ska börja på samma commit, med samma beroendelås, miljövariabler och prompt. Rensa inte och återanvänd inte en chatt, eftersom tidigare svar då blir ytterligare en variabel.

FrysSpara som bevisVarför
RepositoryStartcommit och ren git statusDiffarna får samma utgångspunkt.
VerktygKlient, version, Auto-nivå och vald modellResultatet kan knytas till rätt routingmiljö.
UppgiftExakt prompt i en filIngen nivå får ett bättre förtydligande.
VerifieringSamma test- och lintkommandonKvalitetskriteriet ändras inte efter svaret.
TidStart, slut och total sekunderSvarstid jämförs med samma avgränsning.

Starta tidtagningen när prompten skickas och stoppa när Copilot är klar, före dina egna reparationer. Tillåt högst en körning per nivå i första varvet. Om du ger Intelligence tre omtag men Efficiency ett har du jämfört arbetsflöden, inte nivåer. Behövs ett förtydligande ska samma förtydligande skickas i en ny andra rond för alla tre.

Samla fem bevis per körning

Skriv en rad per nivå i en CSV- eller Markdown-tabell. Modellnamnet läses från Copilots gränssnitt. ”Debiterad användning” ska vara det värde som kontot eller klienten faktiskt visar för körningen, med enhet; räkna inte fram ett låtsaspris från svarslängden. GitHub säger att användningen debiteras efter modellen Auto väljer oavsett nivå. För betalda planer anger dokumentationen den 15 september 2026 en rabatt på 10 procent på modellkostnader vid Auto. Artikeln använder därför ingen fast prislista.

nivå,modell,debiterad_användning,enhet,sekunder,diff_rader,tester,kravpoäng
Efficiency,...
Balance,...
Intelligence,...

Spara dessutom hela diffen och råutskriften från testerna i separata filer. Antal ändrade rader är inte ett kvalitetsmått, men det hjälper dig hitta en nivå som ändrade tio filer trots att uppgiften gällde två. Läs diffen enligt AI-kreatörs granskningsordning för AI-genererad kod: först avgränsning, sedan beteende och risk, sist stil. Kör därefter kommandona enligt guiden om testning av AI-genererad kod utan att låta modellen skriva om provet efter sitt eget svar.

Poängsätt kraven, inte hur övertygande svaret låter

Använd fem binära kvalitetskriterier, ett poäng vardera: intervallet 100–30000 accepteras, saknat värde behåller standarden, ogiltigt värde ger ConfigError, feltexten saknar configinnehåll och samtliga fyra beställda testfall finns och passerar. Maximalt resultat är 5. Lägg till en separat grind där hela befintliga testsviten och lint måste passera. En körning med 5 poäng men ett gammalt regressionstest rött är underkänd.

UtfallBeslut
Endast en nivå klarar 5/5 och hela testsvitenVälj den nivån för denna uppgiftsklass och dokumentera kostnaden.
Flera nivåer klarar grindenVälj lägst debiterad användning; använd svarstid som utslagsfråga.
Ingen nivå klarar grindenVälj ingen standard. Förbättra prompt eller testbarhet och kör om alla tre.
Alla ger samma modell och likvärdig diffNotera att provet inte skiljde nivåerna åt; hitta inte på en vinnare.

Beslutet gäller uppgiftsklassen, inte hela Copilot. En standard för små valideringsändringar behöver inte vara rätt för en migrering eller en arkitekturanalys. Om teamet vill ha en generell standard, bygg en liten svit med exempelvis en buggrättning, en avgränsad funktion och en analysuppgift och kör samma protokoll för varje kategori.

Dokumentera standarden med en omprövningsgräns

Reproducerbar start: startcommit, prompt, klientversion, plan och policy finns sparade.
Separata körningar: tre rena arbetskopior och nya chattar användes, utan korsande kontext.
Spårbar routing: vald Auto-nivå och faktiskt modellnamn finns på varje rad.
Jämförbar kvalitet: diff, rå testutskrift och fem fasta kravpoäng finns kvar.
Begränsat beslut: standarden namnger uppgiftsklass och datum, plus när provet ska köras om.

Sätt en enkel omprövningsgräns: kör om kontrollprovet när Copilot-klienten, administratörspolicyn eller den synliga modellistan ändras, eller när teamets vanliga uppgiftstyp byter karaktär. GitHub varnar för att tillgängliga modeller kan ändras över tid. Ett protokoll med sparade bevis håller därför längre än slutsatsen ”Balance är bäst”.

Källor

Uppgifterna kontrollerades mot GitHubs primärkällor den 15 september 2026. Kontrollprovet och poängmodellen är AI-kreatörs metod; GitHub redovisar inget jämförande resultat för just denna repo-uppgift.