Produktivitet og tålmodighet: Hvordan GitHub Copilot utvider utviklingshorisonten

0
57
3D neonlys bakgrunn diyun Zhu/Getty Images

GitHub, det delte depotet for utviklere av alle typer, har omformet spillefeltet for AI-basert utvikling med sitt Copilot-tilbud. Organisasjonen anslår at mange utviklere bruker verktøyet til å generere mellom 30 % og 50 % av koden de til slutt setter i produksjon. 

Nylig lanserte forskere ved Scalefocus et fire måneders eksperiment, som involverer tre lag, for å måle verdigheten og levedyktigheten til GitHub Copilot. Konklusjonen deres var at Copilot “akselererer utviklingsprosessen, reduserer tiden brukt på rutinemessige kodeoppgaver og øker produktiviteten. I gjennomsnitt øker introduksjonen produktiviteten med opptil 20 %"

Også: Fra AI-trenere til etikere: AI kan forelde noen jobber, men generere nye

Forskerne la imidlertid til at "begrensninger ble også observert; Copilot slet av og til med mer komplekse problemer, og krevde at mennesker skulle lede den mot ønsket løsning."

Å forstå Copilots mekanikk og beste praksis “er avgjørende for å maksimere potensialet”," de advarte. "Å erkjenne at Copilot kanskje ikke er like relevant for alle oppgaver er nøkkelen til å unngå ineffektivitet. Å identifisere områder der Copilot utmerker seg kan øke verdien betydelig, og gjenkjenne hvor den kommer til kort vil spare mye bortkastet innsats."

Copilot skinner i “implementering av enkle, veldefinerte komponenter når det gjelder ytelse og andre ikke-funksjonelle aspekter. Effektiviteten reduseres når man adresserer komplekse feil eller oppgaver som krever dyp domeneekspertise."

Også: USA tildeler 12 regionale 'Tech Hubs, med sikte på å finansiere Amerikas neste Silicon Valleys

GitHub selv setter utviklerens produktivitetsgevinst på omtrent 55 %, Mario Rodriguez, senior visepresident for produkt hos GitHub, sa i et nylig intervju arrangert av Sam Ransbotham fra Boston College og Shervin Khodabandeh fra Boston Consulting Group, publisert i MIT Sloan Management Review. 

Men produktivitet er ikke den eneste beregningen som driver GitHubs intensjoner med Copilot. "Vi prøver til og med å be mange av kundene våre om å virkelig måle utviklerlykken generelt," sa Rodriguez. "Hvis utviklere er misfornøyde i en organisasjon, skjer det ikke mange ting, ikke sant? Du vil holde dem glade. Talent der ute er lite, så du vil definitivt holde utviklerne fornøyde." 

Nøkkelen til å låse opp lykke er at Copilot er designet for å være responsiv og empatisk. "Copilot er veldig tålmodig," han forklarte. “Det blir ikke opprørt hvis du spør det” Du vet, hvordan fungerer det egentlig å gjøre X, Y og Z innenfor denne kodebasen?' eller 'jeg har glemt hvordan jeg skriver dette registeret. Kan du bare fortelle meg hva som er den beste måten å gjøre det på?'"

Som et resultat, fortsatte Rodriguez, “Folk som bruker det ender opp med å bli betydelig mer produktive. Du ser til tider forskjellen i kodekvaliteten, og så ser du også forskjellen i deres lykke fordi de ikke trenger å skrive 10 000 linjer med tester når Copilot kan hjelpe dem med det." 

Også: Når AI i programvareteknikk et 'Oppenheimer-øyeblikk'? Her er det du trenger å vite

Copilots største utfordring er kontekst, påpekte han. "Kode- og kodeutvikling har mye å gjøre med konteksten du har å gjøre med. Er du i en eldre kodebase eller ikke? Er du i COBOL eller i C++ eller i JavaScript eller TypeScript? Det er mye kontekst som må skje for at kvaliteten på den koden skal være høy og for at du skal akseptere den."

GitHub Copilot, den første Copiloten som dukket opp som en AI-drevet utviklingsassistent, er integrert i en divisjon kalt GitHub Next. Rodriguez sa at dette fokuset på AI er et helt annet forslag for GitHub-teamet. Typisk GitHub-kode er kontrollert, testet og deterministisk: “Vi vet om noe fungerer eller ikke. Vi vet om det er en feil eller ikke. Vi vet hvordan vi skal fikse den feilen mange ganger. Vi kunne til og med se feilen vi gjør mens vi utvikler funksjonen."

Store språkmodeller, derimot, “er ikke deterministiske”," han fortsatte. "Og du kan ikke bare forvente at de er deterministiske. Du må tenke nytt om hvordan du tenker på kvalitet. Du må tenke nytt om hvordan du nærmer deg funksjonen." Hos GitHub “har vi alle disse evalueringene og offline-evalueringene som vi gjør for GitHub Copilot. Og det er slik vi bestemmer kvaliteten på det det gir deg i noe som kodefullføring."

Også: AI transformerer organisasjoner overalt. Hvordan disse 6 selskapene leder an

Til syvende og sist, på et eller annet nivå, vil alle ha muligheten til å være utviklere, sa Rodriguez. "Definisjonen av en programvareutvikler vil begynne å endre seg fremover," han sa. "Sannsynligvis vet vi alle hvordan vi skal lage mat, eller vi vet alle hvordan vi skal sykle, eller vi vet alle hvordan vi skal svømme, men se, jeg åpner ikke en Michelin-restaurant i morgen." 

Påvirkningen på programvareutvikling fra AI vil være mer subtil: "Hva om en tekstboks er alt de trengte for å kunne oppnå noe som skaper programvare og noe som de da kunne hente verdi fra?" For eksempel sa Rodriguez: “Hvis jeg kunne si veldig raskt på telefonen min, “Hei, jeg tenker på å snakke med datteren min om disse tingene. Kan du gi meg de tre siste X-, Y- og Z-artiklene og så bare lage et lite program som vi kan spille som et spill?' Du kan se for deg at Copilot kan hjelpe deg med det i fremtiden." 

For å ta ting videre, "tenk deg, da kan du dele dette lille programmet som Copilot laget for deg. Og du kan remikse det, og du fortsetter å remikse og remikse. Artister gjør dette hele tiden, forresten. Jeg tror verktøy som Copilot kommer til å hjelpe deg med det. Det kommer til å være utrolig hva barna våre kommer til å oppleve gjennom fremskrittet til denne teknologien."