Supermaven: Hevder denne kodeassistenten er både raskere og bedre enn Copilot

Vi har prøvd å bytte ut GitHub Copilot med Supermaven – som skal være verdens første med et kontekstvindu på 1 million tokens.

Supermaven finnes for både VS Code, JetBrains-editorene og for Neovim. 📸: Kurt Lekanger
Supermaven finnes for både VS Code, JetBrains-editorene og for Neovim. 📸: Kurt Lekanger Vis mer

Da Stack Overflow tidligere i år gjennomførte en undersøkelse blant utviklere, viste det seg at veldig mange utviklere foretrakk AI-kodeassistenten Codeium fremfor den større og mer kjente GitHub Copilot.

Men enkelte av kode24s lesere mente at det er et tredje alternativ som slår begge disse to ned i støvlene: Supermaven.

– Har prøvd litt forskjellige og Supermaven er langt bedre enn de andre. Raskere og større context, kommenterer én av våre lesere.

– Supermaven er i en helt annen league. Skulle ønske jeg hørte om denne tidligere, skriver en annen.

Dermed var det ikke annet å gjøre enn å prøve ut Supermaven! Jeg har prøvd den en ukes tid mens jeg har kodet på et privat Next.js-prosjekt, og her er mitt førsteinntrykk.

Supermaven Chat i aksjon.
Supermaven Chat i aksjon. Vis mer

Digert kontekstvindu

Supermaven er en forholdsvis ny kodeassistent, lansert i februar først med et kontekstvindu på 300.000 tokens. Med versjon 1.0 av Supermaven som ble lansert den 2. juli, har de trent opp en ny modell kalt Babble, og økt kontekstvinduet ytterligere fra 300.000 til 1 million tokens.

Kort fortalt forteller størrelsen på kontekstvinduet hvor mye kode AI-modellen kan ta i betraktning på én gang når den skal komme med kodeforslag.

Jeg må innrømme at jeg ikke kan nok om AI og store språkmodeller til at jeg skråsikkert kan uttale meg om hvor viktig dette er i praksis. Men til sammenligning har GitHub Copilot et kontekstvindu på 8192 tokens for kodefullføring. Kontekstvinduet til nyeste versjon av Supermaven er altså 128 ganger større enn GitHub Copilots.

Konkurrenten Codeium hevder i en bloggpost at det å øke størrelsen på kontekstvinduet ikke nødvendigvis alltid er en god idé – og har valgt andre tilnærminger enn Supermaven for å bedre kvaliteten på kodeforslagene.

«Ved å bruke tidligere endringer som kontekst skal den kunne gi mer relevante og riktige kodeforslag.»

Vel så viktig som størrelsen på kontekstvinduet, er hvor effektivtt AI-assistenten kan bruke dette til å gi deg bedre forslag. Og her bruker de ulike AI-assistentene ulike teknikker. Det er altså ikke bare selve språkmodellen i bunnen, eller størrelse på kontekstvindu, som avgjør hvor gode eller dårlige AI-assistentene er.

Ifølge Supermaven skal den nye Babble-modellen både ha oversikt over mer kode for å kunne bi bedre forslag, i tillegg til at ytelsen skal ha blitt enda bedre. Det store kontekstvinduet brukes i Supermavens tilfelle til å skanne alle filene i kodebasen din, slik at forslagene ifølge dem skal bli bedre.

Supermaven analyserer forskjellen mellom hvordan koden din ser ut nå og hvordan den så tidligere ("diffing"). Ved å bruke tidligere endringer som kontekst skal den kunne gi mer relevante og riktige kodeforslag.

Tre ganger raskere

Supermaven hevder at kodeassistenten deres skal være tre ganger raskere enn Copilot og Codeium. Og med den nye versjonen skal også forsinkelsen (latency) ha blitt bedre enn før.

Jeg har ikke kjørt noen tester for å sammenligne ytelsen objektivt mellom Copilot og Supermaven, men kan si så mye at den er merkbart raskere. Ikke bare fullfører den kode raskere mens jeg skriver, den virker også mye raskere når jeg bruker chat-funksjonen for å be om innspill eller forslag til kode.

Der Copilot, eller ChatGPT for den saks skyld, ofte bruker lang tid på å tenke og det ofte tar en stund før teksten dukker opp, kommer Supermaven-forslagene i en rasende fart.

Supermaven skriver at det er en kombinasjon av deres egne modeller og at de har bygget egen infrastruktur som gjør at det går såpass kjapt som det gjør.

For JetBrains, VS Code og Neovim

Supermaven finnes for JetBrains, VS Code og Neovim – jeg har prøvd VS Code-versjonen.

Det finnes både en gratisversjon og en betalt versjon av Supermaven. Den betalte versjonen koster det samme som GitHub Copilot, altså 10 dollar i måneden (i underkant av 110 kroner).

For å få tilgang til det store kontekstvinduet på 1 million tokens må du velge betalingsversjonen. Den har også en del andre fordeler fremfor gratisversjonen, som blant annet at den tilpasser seg kodestilen din, og at du får tilgang til chat basert på de mest avanserte språkmodellene.

Etter at du har installert tillegget, er det bare å begynne å kode i vei – og få kodefullføring på samme måte som du får i Copilot og andre kodeassistenter. Det vil si at du får forslag fortløpende, og kan trykke Tab-tasten for å akseptere forslaget.

Supermaven er rask til å komme med forslag til fullføring av koden. 📸: Skjermbilde fra supermaven.com
Supermaven er rask til å komme med forslag til fullføring av koden. 📸: Skjermbilde fra supermaven.com Vis mer

Velg modell for chat

I tillegg til kodeforslag og fullføring av kode, introduserte Supermaven for en måneds tid siden også en chattefunksjon.

Dette er en chattetjeneste inne i kodeeditoren – tilsvarende det de fleste andre kodeassistenter, som Copilot og Codeium, har. Det vil si at du kan stille den spørsmål om alt mulig koderelatert, og forhåpentligvis få fornuftige svar tilbake.

Selv om dette er noe "alle" har, så har Supermaven Chat likevel noen ess i ermet:

  • Du kan velge hvilken LLM du vil at chatten skal bruke. I skrivende stund GPT-4o, GPT-4, GPT-3.5, Cloude 3.5 Sonnet, Claude Opus og Claude Haiku. Når du abonnerer får du med 5 dollar i "credits" for bruk av GPT-4o. Går du utover dette, får du en regning på det du har brukt ekstra fra Supermaven.
image: Supermaven: Hevder denne kodeassistenten er både raskere og bedre enn Copilot
  • Bruker du gratisversjonen av Supermaven kan du legge inn dine egne API-nøkler for OpenAI eller Anthropic for å bruke chatten.
  • Supermaven Chat forstår konteksten. Du kan trykke en hurtigtast for å legge til en fil som kontekst til det du vil spørre om, eller markere kode for å legge til som kontekst. Dette er forsåvidt ikke noe som er unikt for Supermaven.

Når du har fått et kodeforslag fra chatten kan du velge om du vil vise koden med eller uten "diff"-visning (for å se hvilke endringer Supermaven foreslår).

Her har Supermaven Chat foreslått noen endringer som jeg kan velge å godta om jeg er enig. Som med alle andre kodeassistenter er ikke alltid alt like fornuftig, så det lønner seg å lese nøye gjennom.
Her har Supermaven Chat foreslått noen endringer som jeg kan velge å godta om jeg er enig. Som med alle andre kodeassistenter er ikke alltid alt like fornuftig, så det lønner seg å lese nøye gjennom. Vis mer

Du kan skru av og på diff-visningen med en hurtigtast.

Bra – men jeg savner noe

Etter å ha brukt Supermaven noen dager i stedet for Copilot eller Codeium, synes jeg kodeassistenten i det store og hele har fungert bra.

Det jeg setter mest pris på er den høye hastigheten på kodefullføringen. Og forslagene jeg får – i hvert fall i React-prosjekter med TypeScript/JavaScript – har gjennomgående vært ganske gode. Men om de er bedre enn for noen av de andre kodeassistentene er vanskelig å si – jeg har ikke gjort noen "vitenskapelige" tester (i den grad det er mulig).

«Det jeg setter mest pris på er den høye hastigheten på kodefullføringen.»

Jeg sitter likevel igjen med et inntrykk av at Supermaven er litt uferdig sammenlignet med GitHub Copilot eller Codeium. Uferdig, men lovende.

Her er noen ting jeg savner i Supermaven:

  • Dokumentasjon. Nettsidene mangler dokumentasjon på en del ting, som for eksempel hurtigtaster og annet som kan være kjekt å vite om når du bruker Supermaven. De viktigste hurtigtastene vises riktignok når du åpner et chattevindu.
  • Inline-chat. Med Copilot og Codeium kan du trykke Cmd-I / Ctrl-I for å åpne chat i et eget lite vindu, mens du står med markøren i koden der du vil ha hjelp. Med Supermaven åpner Cmd-I opp Supermaven Chat i sidestolpen lengst til venstre i editoren. Det er heller ingen måte å åpne dette chatvinduet i et eget stort vindu, såvidt jeg har funnet ut.
  • Forhåndsdefinerte prompts. I konkurrenten Codeium får du noen steder opp en liten "Codeium-meny" over koden der markøren er. Den kan du klikke på for å få ferdigdefinerte prompter for å rydde opp i koden, gjøre koden mer robust, skrive tester, gjøre koden sterkt typet, mer effektiv, og så videre. Med Supermaven må du klare deg selv – jeg savner denne ekstra tidsbesparelsen.

Men er det først og fremst autofullføring av kode du er ute etter, mener jeg det absolutt er verdt å teste ut Supermaven.

Det som er så kjekt med slike kodeassistenter er jo at det er like raskt å bytte tilbake til den gamle, om du ikke skulle være fornøyd!

For min del har jeg valgt å gå tilbake til Codeium, etter å ha brukt GitHub Copilot en stund. Den kan du lese mer om her: