Kunstig intelligens (AI) har fundamentalt endret måten vi programmerer på. AI-agenter kan generere, optimalisere og til og med hjelpe til med feilsøking av kode. Likevel er det noen begrensninger som programmerere bør være oppmerksomme på når de arbeider med AI.
AI-agenter sliter med riktig rekkefølge i koden. De kan for eksempel plassere initialiseringer på slutten av en fil, noe som forårsaker kjøretidsfeil. I tillegg kan AI uten betenkelighet definere flere versjoner av samme klasse eller funksjon innenfor et prosjekt, noe som fører til konflikter og forvirring.
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 disse funksjonene ikke alltid brukt konsekvent. Som et resultat kan AI miste sammenhengen i et prosjekt og introdusere uønskede dupliseringer eller feilaktige avhengigheter under programmering.
De fleste AI-kodingsplattformer fungerer med såkalte verktøy som large language-modellen kan kalle på. Disse verktøyene er basert på en åpen standardprotokoll (MCP). Det er derfor mulig å koble en IDE som Visual Studio Code til en AI-kodeagent. Eventuelt kan du sette opp en lokal LLM med llama eller ollama og velge en MCP-server å integrere med. Modeller finner du på huggingface.
For å bedre administrere AI-generert kode, kan utviklere bruke IDE-utvidelser som sikrer kodens korrekthet. Verktøy som linters, typesjekkere og avanserte kodeanalyseverktøy bidrar til å oppdage og korrigere feil tidlig. De utgjør et viktig supplement til AI-generert kode for å garantere kvalitet og stabilitet.
En av hovedårsakene til at AI-agenter fortsetter å gjenta feil, ligger i måten AI tolker API-er på. AI-modeller trenger kontekst og en klar rollebeskrivelse for å generere effektiv kode. Dette betyr at prompter må være fullstendige: de må ikke bare inneholde funksjonelle krav, men også eksplisittgjøre det forventede resultatet og randbetingelsene. For å forenkle dette kan du lagre promptene i standardformat (MDC) og sende dem med til AI-en. Dette er spesielt nyttig for generiske programmeringsregler du følger, samt de funksjonelle og tekniske kravene og strukturen i prosjektet ditt.
Produkter som FAISS og LangChain tilbyr løsninger for å hjelpe AI med å håndtere kontekst bedre. FAISS hjelper for eksempel med effektiv søking og henting av relevante kodestykker, mens LangChain hjelper med å strukturere AI-generert kode og opprettholde kontekst innenfor et større prosjekt. Men også her kan du eventuelt sette det opp lokalt med RAC-databaser.
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 korrigering for å oppnå et godt resultat.
Ta kontakt for å få hjelp til å sette opp utviklingsmiljøet for å hjelpe team med å få mest mulig ut av utviklingsmiljøet og bruke mer tid på kravspesifikasjon og design enn på feilsøking og kodeskriving.