Koding med en AI

Programmere med en AI‑agent

Kunstig intelligens (AI) har fundamentalt endret måten vi programmerer på. AI-agenter kan generere kode, optimalisere den og til og med hjelpe med feilsøking. Likevel finnes det noen begrensninger som programmerere må ha i bakhodet når de jobber med AI.

Problemer med rekkefølge og duplisering

AI-agenter har problemer med riktig rekkefølge på koden. De kan for eksempel plassere initialiseringene på slutten av en fil, noe som forårsaker kjøretidsfeil. I tillegg kan AI uten tvil definere flere versjoner av samme klasse eller funksjon i et prosjekt, noe som fører til konflikter og forvirring.

En kodeplattform med minne og prosjektstruktur hjelper

En løsning på dette er å bruke AI-kodeplattformer som kan håndtere minne og prosjektstrukturer. Dette hjelper med å opprettholde konsistens i komplekse prosjekter. Dessverre blir disse funksjonene ikke alltid brukt konsekvent. Dette kan føre til at AI mister sammenhengen i et prosjekt og introduserer uønskede duplikater eller feilaktige avhengigheter under programmeringen.

De fleste AI-kodingsplattformer fungerer med såkalte verktøy som kan kalle opp den store språkmodellen. Disse verktøyene er basert på et åpent standardprotokoll (MCP).  Det er derfor mulig å koble en AI-kodingsagent til en IDE som Visual Code. Eventuelt kan du sette opp en lokal LLM med llama eller Ollama og velge en MCP-server å integrere med. NetCare har en MCP-server laget for å hjelpe med feilsøking og administrere det underliggende (Linux) systemet. Praktisk når du vil sette koden direkte i live.
Modellene finnes på huggingface.

IDE-utvidelser er uunnværlige

For å bedre håndtere AI-generert kode kan utviklere bruke IDE-utvidelser som overvåker kodekvalitet. Verktøy som linters, typekontrollere og avanserte kodeanalyseverktøy hjelper med å oppdage og rette feil tidlig. De er et viktig supplement til AI-generert kode for å sikre kvalitet og stabilitet.

Årsaken til gjentakende feil: kontekst og rolle i API-er

En av de viktigste årsakene til at AI-agenter fortsetter å gjenta feil, ligger i hvordan AI-API-er tolkes. AI-modellene trenger kontekst og en klar rollebeskrivelse for å generere effektiv kode. Dette betyr at promptene må være fullstendige: de må ikke bare inneholde de funksjonelle kravene, men også gjøre det forventede resultatet og forutsetningene eksplisitte. For å gjøre dette enklere kan du lagre promptene i et standardformat (MDC) og alltid sende dem med til AI. Dette er spesielt nyttig for generiske programmeringsregler du bruker, samt de funksjonelle og tekniske kravene og strukturen i prosjektet ditt.

Verktøy som FAISS og LangChain hjelper

Produkter som FAISS og LangChain gir løsninger for at AI skal håndtere kontekst bedre. FAISS hjelper for eksempel med effektiv søking og henting av relevante kodefragmenter, mens LangChain hjelper med å strukturere AI-generert kode og bevare kontekst i et større prosjekt. Men også her kan du eventuelt sette det opp lokalt med RAC-databaser.

Konklusjon: nyttig, men ennå ikke selvstendig

AI er et kraftig verktøy for programmerere og kan bidra til å akselerere utviklingsprosesser. Likevel er det ennå ikke i stand til selvstendig å designe og bygge en mer kompleks kodebase uten menneskelig kontroll. Programmerere bør se på AI som en assistent som kan automatisere oppgaver og generere ideer, men som fortsatt trenger veiledning og korreksjon for å oppnå et godt resultat.

Ta kontakt for å hjelpe med å sette opp utviklingsmiljøet for å hjelpe team med å få mest mulig ut av utviklingsmiljøet og fokusere mer på kravspesifikasjon og design enn på feilsøking og koding.

 

Gerard

Gerard er aktiv som AI‑konsulent og leder. Med mye erfaring fra store organisasjoner kan han spesielt raskt avdekke et problem og jobbe mot en løsning. Kombinert med en økonomisk bakgrunn sørger han for forretningsmessig ansvarlige valg.