AI-kodeassistenter er ganske avhengighetsskapende. Jeg er selv en av dem som punger ut 10 dollar i måneden for å kunne bruke Copilot – og ikke minst den nye Copilot Chat-funksjonen.
Her om dagen ble jeg imidlertid tipset om Codeium, en AI-kodeassistent som ikke bare er helt gratis, men som også fungerer med så godt som alt av kodeeditorer. I tillegg skal både hastighet og språkstøtte være bedre, ifølge Codeium selv.
Her er mitt førsteinntrykk etter å ha byttet ut Copilot med Codeium noen dager.
Hva er Codeium?
I likhet med Copilot er Codeium et tillegg til kodeeditoren din som gir deg autofullføring og kodeforslag etter hvert som du skriver kode.
Codeium hevder at måten de har bygget Codeium på skal gjøre den bedre i stand til å forstå konteksten til koden, og på den måten gi deg bedre forslag enn det Copilot kan. Vi har ikke testet Codeium mot Copilot godt nok til å kunne si hvorvidt det stemmer eller ikke, men førsteinntrykket er godt og den gir deg veldig bra kodeforslag.
Codeium er gratis for livstid for privatpersoner, og selskapet sier de skal tjene penger på å tilby et bedriftsabonnement ("enterprise") med blant annet mulighet til å kjøre alt sammen i en egen privat sky eller on-prem, samt med prioritert supporttjeneste.
– Bedre enn ChatGPT!
Støtter flere editorer og språk
Mens Copilot støtter kun VS Code, JetBrains, VIM/Neovim og Visual Studio, fungerer Codeium med mange flere editorer.
I tillegg til VS Code og Visual Studio, er det også støtte for blant annet Xcode, Android Studio, alle de ulike JetBrains-editorene, Jupyter Notebook, VIM/Neovim og mange flere. Ja, til og med Emacs er det støtte for!
Hvis du bruker kodeeditorer i nettleseren, er det et Chrome-tillegg som gir deg Codeium i for eksempel Codepen, JSFiddle, StackBlitz, Jupyter og mange andre steder.
Listen over støttede språk er også mye lengre enn for Copilot. Totalt er det støtte for mer enn 70 språk, så med mindre du koder i et veldig obskurt språk bør det altså fungere.
Gir deg ikke kode beskyttet av opphavsrett
Codeium trener den underliggende språkmodellen på kildekode som er offentlig tilgjengelig, og lover at de aldri trener på private kodebaser.
En forskjell fra mange andre språkmodeller, er at det heller ikke trenes på repoer med lisenser som ikke tillater fullstendig fri bruk. Det betyr at for eksempel GPL-lisensiert kode ikke blir brukt til å trene Codeium.
«Selv om kode er offentlig, betyr det ikke at den automatisk kan brukes for kommersielle formål uten tillatelse.»
– Selv om kode er offentlig, betyr det ikke at den automatisk kan brukes for kommersielle formål uten tillatelse, skriver selskapet i en bloggpost.
– Vi ønsker ikke å eksponere brukerne våre, som enterprise-kunder, for potensiell juridisk risiko.
Endelig - nå kan du prøve et helt gratis Copilot-alternativ!
Kodefullføring og chat
Kodefullføringen fungerer som i Copilot: Du begynner å skrive, så kommer det forslag i grått som du kan akseptere ved å trykke tab-tasten.
Du kan også skrive kommentarer for å få kodeforslag. Dette fungerer også med CSS, der du ut fra kommentarer kan få ferdige CSS-klasser for det du vil. Har du beskrivende navn på CSS-klassene, kan Codeium også "gjette seg til" hva slags CSS klassen bør inneholde.
Foran funksjoner vil Codeium vise en liten meny der du kan velge å få refaktorert eller forklart koden din, samt at det er et valg for å automatisk lage JSDoc for funksjonen.
Refactor-valget gir deg noen forhåndsdefinerte valg, som for eksempel å "rydde opp i koden", sjekke for bugs, gjøre koden "sterkt typet", raskere og mer effektiv, og så videre. Det er også mulig å be om å få laget unit-tester.
I tillegg til kodeforslagene, har Codeium også en chat-funksjon à la Copilot Chat. Der kan du spørre om alt mulig, og chaten kjenner konteksten til koden din og tar dermed hensyn til den når den svarer deg.
Du kan åpne chaten ved å trykke en hurtigtast. I innstillingene kan du selv definere hurtigtaster for ulike ting – for eksempel refaktorering eller forklaring av kode. Skulle det være én ting jeg savner fra Github Copilot, måtte det være muligheten til å få et chatvindu som ligger over koden – i stedet for bare i sidestolpen til venstre.
AI-hjelp med søkene
En ting Codeium har som Copilot ikke har, er søk.
Med Codeium Search kan du søke i koden din med naturlig språk, for eksempel ved å skrive "where do I connect to our database from our web server". Da vil Codeium-søket kunne finne ut av dette, og vise deg den aktuelle koden og filene du må åpne for å gjøre dette.
For å komme igang med søket må Codeium indeksere alle filene i kodebasen din, noe som kan ta noen timer første gang. Men søket ser ut til å fungere fint.
Foreløpig er det kun VS Code som har fått søk, og det fungerer best med Python, JavaScript, TypeScript eller Go.
Se oss hente en Chuck Norris-vits: – Utrolig stilig, veldig nyttig
Virker veldig lovende
Jeg må nok bruke Codeium fast over en litt lengre periode for å finne ut hvorvidt jeg foretrekker den fremfor GitHub Copilot. Men etter litt helgekoding med Copilot av og Codeium på, synes jeg det virker veldig lovende.
I hvert fall hos meg virker Codeium minst like kjapp som Copilot. Forslagene som kommer opp virker også like smarte (i noen tilfeller: like dumme) som de fra Copilot.
En ting jeg savner, er diff-visningen Copilot gir meg når jeg ber den refaktorere kode. I Codeium får jeg bare koden opp i chat-vinduet på venstre side av VS Code – med knapper for å kopiere eller eller sette inn koden. Jeg skulle gjerne hatt før- og etter-kode side om side.
«Codeium har ellers enkelte ting ikke Copilot har, som "fill-in-the-middle" kodefullføring.»
Codeium har ellers enkelte ting ikke Copilot har, som "fill-in-the-middle" kodefullføring. Det innebærer at du får forslag fra AI-en når du står midt i en kodelinje, med kode på begge sider av markøren. Det er veldig praktisk!
Skal jeg si opp Copilot-abonnementet mitt for å få råd til én ekstra øl i måneden? Ikke helt ennå – men førsteinntrykket er såpass bra at jeg ikke utelukker det!