Kunstig intelligens (KI) har fundamentalt endret måten vi programmerer på. KI-agenter kan generere og optimalisere kode, og til og med hjelpe med feilsøking. Likevel finnes det noen begrensninger programmerere må være oppmerksomme på når de arbeider med KI.
KI-agenter har problemer med riktig rekkefølge på koden. De kan for eksempel plassere initialiseringer på slutten av en fil, noe som fører til kjøretidsfeil. I tillegg kan KI uten å nøle 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 KI-kodeplattformer som kan håndtere minne og prosjektstrukturer. Dette bidrar til å bevare konsistensen i komplekse prosjekter. Dessverre blir disse funksjonene ikke alltid brukt konsekvent. Dermed kan KI miste oversikten over sammenhengen i et prosjekt og introdusere uønskede duplikater eller feilaktige avhengigheter under programmeringen.
De fleste KI-kodeplattformer fungerer med såkalte verktøy som den store språkmodellen kan kalle opp. Disse verktøyene er basert på en åpen standardprotokoll (MCP). Det er derfor også mulig å koble en KI-kodeagent til en IDE som Visual Code. Eventuelt kan du sette opp en LLM lokalt med Llama eller Ollama og velge en MCP-server å integrere med. Fortis AI har laget en MCP-server for å hjelpe med feilsøking og administrasjon av det underliggende (Linux-)systemet. Praktisk hvis du vil sette koden direkte i produksjon.
Modeller finnes på Hugging Face.
For å håndtere KI-generert kode bedre kan utviklere bruke IDE-utvidelser som overvåker at koden er korrekt. Verktøy som lintere, typesjekkere og avanserte verktøy for kodeanalyse bidrar til å oppdage og korrigere feil på et tidlig tidspunkt. De utgjør et viktig supplement til KI-generert kode for å sikre kvalitet og stabilitet.
En av de viktigste grunnene til at KI-agenter fortsetter å gjenta feil, ligger i måten KI tolker API-er på. KI-modeller trenger kontekst og en tydelig rollebeskrivelse for å generere effektiv kode. Dette betyr at instruksjonene må være fullstendige: De må ikke bare inneholde de funksjonelle kravene, men også tydelig spesifisere forventet resultat og rammebetingelsene. For å gjøre dette enklere kan du lagre instruksjonene i standardformatet MDC og sende dem med til KI-en som standard. Dette er særlig 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 som gjør det enklere for KI å håndtere kontekst. FAISS hjelper for eksempel med å søke etter og hente relevante kodefragmenter på en effektiv måte, mens LangChain bidrar til å strukturere KI-generert kode og bevare konteksten i et større prosjekt. Også her kan du eventuelt sette det opp lokalt selv med RAC-databaser.
AI er et kraftig verktøy for programmerere og kan bidra til å fremskynde utviklingsprosesser. Likevel er teknologien ennå ikke i stand til å utforme og bygge en mer kompleks kodebase selvstendig 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 med kontakt Ta med for å bidra til å sette opp utviklingsmiljøet, slik at teamene kan få mest mulig ut av det og bruke mer tid på kravspesifikasjon og design enn på feilsøking og koding.