Coderen met een AI

Programmering med en AI-agent

Kunstig intelligens (AI) har fundamentalt endret måten vi programmerer på. AI-agenter kan generere kode, optimalisere og til og med hjelpe med debugging. Likevel er det noen begrensninger utviklere må ha i bakhodet når de jobber med AI.

Problemer med rekkefølge og duplisering

AI-agenter sliter med korrekt rekkefølge i kode. De kan for eksempel plassere initialiseringer på slutten av en fil, noe som fører til runtime-feil. I tillegg kan AI uten videre 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 bidrar til å bevare konsistens i komplekse prosjekter. Dessverre blir disse funksjonene ikke alltid brukt konsekvent. Det kan derfor skje at AI mister sammenhengen i et prosjekt og introduserer uønskede duplikater eller feilaktige avhengigheter under programmering.

De fleste AI-kodeplattformer fungerer med såkalte verktøy som kan kalles av large language-modellen. Disse verktøyene er basert på en åpen standardprotokoll (MCP). Det er dermed mulig å koble en AI-kodeagent til en IDE som Visual Studio Code. Eventuelt kan du sette opp en LLM lokalt med llama eller ollama og velge en MCP-server å integrere med. NetCare har en MCP-server laget for å hjelpe med debugging og å administrere det underliggende (Linux-)systemet. Praktisk når du vil sette koden live direkte.
Modeller finnes på huggingface.

IDE-utvidelser er uunnværlige

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

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

En av hovedårsakene til at AI-agenter gjentar feil, ligger i hvordan AI-APIer tolkes. AI-modeller trenger kontekst og en tydelig rollebeskrivelse for å generere effektiv kode. Det betyr at prompts må være komplette: de må ikke bare inneholde funksjonelle krav, men også eksplisitt angi forventet resultat og randbetingelser. For å forenkle dette kan du lagre prompts i et standardformat (MDC) og alltid sende dem med til AI. Det er spesielt nyttig for generelle programmeringsregler du følger, samt de funksjonelle og tekniske kravene og strukturen i prosjektet ditt.

Verktøy som FAISS og LangChain hjelper

Produkter som FAISS og LangChain tilbyr løsninger for at AI skal håndtere kontekst bedre. FAISS hjelper for eksempel med effektiv søking og gjenfinning 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 fortsatt ikke selvstendig

AI er et kraftig verktøy for utviklere 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. Utviklere bør se på AI som en assistent som kan automatisere oppgaver og generere ideer, men som fortsatt trenger veiledning og korrigering for å oppnå et godt resultat.

Kontakt kontakt for å hjelpe med å sette opp utviklingsmiljøet, slik at team kan få mest mulig ut av miljøet og bruke mer tid på kravarbeid og design enn på debugging og kodeskriving.

 

Gerard

Gerard er aktiv som AI-konsulent og leder. Med mye erfaring fra store organisasjoner kan han svært raskt avdekke et problem og arbeide mot en løsning. Kombinert med en økonomisk bakgrunn sørger han for kommersielt forsvarlige valg.