Koding med en AI

Programmering 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 til med feilsøking. Likevel er det visse begrensninger som programmerere må være oppmerksomme på 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 initialiseringer helt til slutt i en fil, noe som forårsaker kjøretidsfeil. I tillegg kan AI uten nøling 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 administrere minne og prosjektstrukturer. Dette bidrar til å opprettholde konsistens i komplekse prosjekter. Dessverre blir ikke disse funksjonene alltid brukt konsekvent. Som et resultat kan det skje at AI-en mister oversikten over prosjektets sammenheng og introduserer uønskede duplikater eller feilaktige avhengigheter under programmeringen.

De fleste AI-kodeplattformer fungerer med såkalte verktøy som den store språkmodellen (LLM) kan kalle på. Disse verktøyene er basert på en åpen standardprotokoll (MCP). Det er derfor mulig å koble en AI-kodeagent til en IDE som Visual Studio Code. Eventuelt kan du sette opp en lokal LLM med llama eller Ollama, og velge en MCP-server å integrere med. NetCare har laget en MCP-server for å hjelpe med feilsøking og administrering av det underliggende (Linux) systemet. Praktisk hvis du vil sette koden direkte i produksjon.
Modeller kan finnes på huggingface.

IDE-utvidelser er uunnværlige

For å bedre administrere AI-generert kode kan utviklere bruke IDE-utvidelser som overvåker kodekorrekthet. Verktøy som linters, type-sjekkere og avanserte kodeanalyseverktøy hjelper med å oppdage og rette feil tidlig. De utgjør et essensielt supplement til AI-generert kode for å sikre kvalitet og stabilitet.

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

En av de viktigste grunnene til at AI-agenter fortsetter å gjenta feil, ligger i måten AI tolker API-er på. AI-modeller trenger kontekst og en tydelig rollebeskrivelse for å generere effektiv kode. Dette betyr at instruksene (prompts) må være komplette: de må ikke bare inneholde funksjonelle krav, men også eksplisitt angi forventet resultat og rammebetingelser. For å forenkle dette kan du lagre instruksene i et standardformat (MDC) og sende dem med som standard til AI-en. Dette er spesielt nyttig for generelle programmeringsregler du følger, samt funksjonelle og tekniske krav og strukturen i prosjektet ditt.

Verktøy som FAISS og LangChain hjelper

Produkter som FAISS og LangChain tilbyr løsninger for å la AI håndtere kontekst bedre. FAISS hjelper for eksempel med effektivt søk og henting av relevante kodefragmenter, mens LangChain hjelper med å strukturere AI-generert kode og opprettholde kontekst i et større prosjekt. Men også her kan du eventuelt sette det opp lokalt selv med RAG-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 kompleks kodebase uten menneskelig kontroll. Programmerere bør betrakte AI som en assistent som kan automatisere oppgaver og generere ideer, men som fortsatt trenger veiledning og korrigering for å oppnå et godt resultat.

Ta kontakt for å hjelpe til med å sette opp utviklingsmiljøet, slik at team kan få mest mulig ut av det og fokusere mer på kravspesifikasjon og design fremfor 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.