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 må huske på når de arbeider med AI.
AI-agenter har vanskelig for å håndtere riktig rekkefølge av kode. De kan for eksempel plassere initialiseringer på slutten av en fil, noe som forårsaker kjøretidsfeil. I tillegg kan AI uten å nøle 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 konsekvent brukt. 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 arbeider med såkalte verktøy som det store språkmodellen kan kalle. Disse verktøyene er basert på en åpen standardprotokoll (MCP). Det er derfor mulig å koble en IDE som Visual Code til en AI-kodingsagent. Eventuelt kan du sette opp en LLM lokalt med llama eller ollama og velge en MCP-server å integrere med. Modeller kan finnes på huggingface.
For å bedre administrere AI-generert kode kan utviklere bruke IDE-utvidelser som overvåker kodekorrekthet. Verktøy som linters, type checkers og avanserte kodeanalyse-verktøy hjelper til med å oppdage og korrigere feil tidlig. De utgjør et viktig supplement til AI-generert kode for å sikre kvalitet og stabilitet.
En av hovedgrunnene 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 spørsmålene må være fullstendige: de må ikke bare inneholde de funksjonelle kravene, men også eksplisitt angi det forventede resultatet og randbetingelsene. For å forenkle dette kan du lagre spørsmålene i standardformat (MDC) og sende dem med til AI-en som standard. Dette er spesielt nyttig for generiske programmeringsregler du bruker, samt funksjonelle og tekniske krav og prosjektets struktur.
Produkter som FAISS og LangChain tilbyr løsninger for å hjelpe AI med å håndtere kontekst bedre. FAISS hjelper for eksempel med effektivt å søke og hente relevante kodefragmenter, 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 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 for å hjelpe team med å få mest mulig ut av utviklingsmiljøet og være mer opptatt av kravspesifikasjon og design enn med feilsøking og kodeskriving.