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.
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 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 velg en MCP-server å integrere med. Fortis AI 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.
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.
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.
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.
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.