kunstig intelligens

Fire KI-assistenter konkurrerer i programmering: Gratis er best

Gratisalternativene Bing og Bard slo den betalte tjenesten Copilot på målstreken i vår stikkprøve av kvaliteten på KI-assistert programmering.

Resultatet er kun et øyeblikksbilde, men vi har i hvert fall fått et innblikk i hva kodeassistentene kan få til.
Resultatet er kun et øyeblikksbilde, men vi har i hvert fall fått et innblikk i hva kodeassistentene kan få til.

Kodeassistenter som er basert på generativ kunstig intelligens, har vært brukt i kommersiell sammenheng i over ett år. I dag forbyr mange selskaper utviklerne sine å bruke verktøyene, ettersom de kan betraktes som en sikkerhetsrisiko. Men du kan jo likevel sjekke ut teknologiene privat.

Github Copilot slo an tonen i fjor, med en plugin for utviklingsverktøy basert på OpenAIs Codex-modell, som er en finjustert versjon av GPT-modellene. I mars i år ble Codex imidlertid faset ut til fordel for OpenAIs mer generelle modeller, skriver selskapet.

Vi har tatt temperaturen på Copilot og tre alternativer som er fritt tilgjengelige i skrivende stund. Det er Bard, som er Googles versjon en chattjeneste, Microsofts Bing-chat, som er basert på GPT-modellene, og Metas Llama-modell, som kan brukes fra tjenesten Poe.com.

Ugjennomsiktige modeller

Hva som faktisk skjer på baksiden av tjenestene, er vanskelig å si, da kun én av modellene vi nevner i denne artikkelen, Metas Llama, er tilgjengelig i kildekodeformat. Det kan også bemerkes at Copilot og Bing er basert på samme grunnmodell, men de to tjenestene gir forskjellige resultater, så helt like er de neppe.

Modellene ligner hverandre ved at de er basert på nevrale nettverk av typen dyplæring (deep learning), med transformer-teknologien og attention-mekanismen, som identifiserer de viktigste ordene i en setning. Antagelig brukes også nesten samme treningssett, som består av gigantiske data samlet fra internett. Dette kan være årsaken til at tre av de fire tjenestene får tilnærmet samme karakter i vår vurdering.

Chat med assistenten

I første omgang brukte Copilot et grensesnitt der en kommentar i koden satte i gang prosessen og KI-modellen returnerte et tekstfragment som passet bra eller mindre bra inn i konteksten.

Men som flere har kommentert, gir en prat/chat med modellen bedre mulighet for å styre kodingen dit du vil ha den. Det er den chat-baserte tilnærmingen vi ser på i denne artikkelen.

Copilot koster rundt 60 kroner per måned, mens de andre alternativene er gratis å bruke – med noen restriksjoner på bruken. Alternativene kan ikke konkurrere med Copilot når det gjelder enkelhet siden Copilot er integrert i et kodeverktøy, som Visual Studio Code, mens konkurrentene bor i et nettleservindu.

Gratis er best

Vi har gjort en enkel stikkprøve med fem eksempler – fem oppgaver som vi har bedt tjenestene løse for oss. Eksemplene er tatt fra skonkrete oppgaver i Version 2s koderedaksjon.

Bard og Bing kommer inn på delt førsteplass, tett fulgt av betalingstjenesten Copilot. Llama-modellen kommer langt etter.

Løsningsforslagene er bedømt av Oskar Haarklou Veileborg, som er postdoktor ved Aarhus Universitets institutt for datavitenskap. Han påpeker at karakterene delvis er en subjektiv vurdering.

Så du må ikke ta resultatene for mer enn de er: Et enkelt øyeblikksbilde.

Disse fire testet vi

Github Copilot

Den første kommersielle kodeassistenten. Bygger ifølge OpenAI på selskapets generelle chat-modeller.

Bard

Googles chat-tjeneste, som er basert på selskapets egen Palm 2-modell.

Bing

Microsofts chat-tjeneste, som kun kan nås med selskapets Edge-nettleser. Bygger på OpenAIs Chat GPT.

Kode-Llama-34b

Metas finjusterte kodemodell, som er basert på selskapets Llama-chatmodell. Vi testet den via Poe.com-tjenesten.

Resultatene

Vi ba Veileborg om å rangere resultatene fra best til dårligst, der 1 er best. Deretter la vi dem sammen, slik at det altså er sånn at laveste sum er best resultat.

Dette var de fem oppgavene:

CopilotBardCode-LlamaBing
Eks. 11132
Eks. 22131
Eks. 32231
Eks. 42122
Eks. 51211
Tilsammen87127

  1. Implementer et enkelt Java-grensesnitt med Playwright-biblioteket.
  2. Tillat bare én forekomst av klassen ovenfor.
  3. Skriv en test av en enkel Java-klasse, som naivt implementerer en syklisk kø av proxyer, og som er litt masete å teste.
  4. Skriv en test av en enkel Python-funksjon som filtrerer url'er ut fra domener.
  5. Finn domener i en tekstfil med Bash.

Artikkelen ble først publisert på Version 2 for deres abonnenter. Den er tilgjengelig på norsk for abonnenter av Ekstra gjennom vår samarbeidsavtale.

Powered by Labrador CMS