Kunstig intelligens (AI) har fundamentalt ændret den måde, vi programmerer på. AI-agenter kan generere, optimere og endda hjælpe med fejlfinding af kode. Alligevel er der nogle begrænsninger, som programmører bør huske på, når de arbejder med AI.
AI-agenter har svært ved den korrekte rækkefølge af kode. De kan for eksempel placere initialiseringer i slutningen af en fil, hvilket forårsager runtime-fejl. Derudover kan AI uden tøven definere flere versioner af den samme klasse eller funktion inden for et projekt, hvilket fører til konflikter og forvirring.
En løsning på dette er brugen af AI-kodeplatforme, der kan administrere hukommelse og projektstrukturer. Dette hjælper med at bevare konsistens i komplekse projekter. Desværre anvendes disse funktioner ikke altid konsekvent. Dette kan føre til, at AI mister sammenhængen i et projekt og introducerer uønskede duplikeringer eller ukorrekte afhængigheder under programmeringen.
De fleste AI-kodningsplatforme arbejder med såkaldte værktøjer, som den store sprogmodel kan kalde. Disse værktøjer er baseret på en åben standardprotokol (MCP). Det er derfor muligt at forbinde en IDE som Visual Code til en AI-kodningsagent. Eventuelt kan du lokalt opsætte en LLM med llama eller ollama og vælge en MCP-server at integrere med. Modeller kan findes på huggingface.
For bedre at administrere AI-genereret kode kan udviklere bruge IDE-udvidelser, der overvåger kodens korrekthed. Værktøjer som linters, type checkers og avancerede kodeanalyseværktøjer hjælper med at opdage og rette fejl tidligt. De er et væsentligt supplement til AI-genereret kode for at sikre kvalitet og stabilitet.
En af hovedårsagerne til, at AI-agenter fortsætter med at gentage fejl, ligger i den måde, AI fortolker API’er på. AI-modeller har brug for kontekst og en klar rollebeskrivelse for at generere effektiv kode. Dette betyder, at prompts skal være komplette: de skal ikke kun indeholde de funktionelle krav, men også gøre det forventede resultat og randbetingelser eksplicitte. For at lette dette kan du gemme prompts i standardformat (MDC) og sende dem med til AI som standard. Dette er især nyttigt for generiske programmeringsregler, du anvender, og de funktionelle og tekniske krav og strukturen af dit projekt.
Produkter som FAISS og LangChain tilbyder løsninger til at hjælpe AI med at håndtere kontekst bedre. FAISS hjælper for eksempel med effektivt at søge og hente relevante kodefragmenter, mens LangChain hjælper med at strukturere AI-genereret kode og bevare kontekst inden for et større projekt. Men også her kan du eventuelt selv opsætte det lokalt med RAC-databaser.
AI er et kraftfuldt værktøj for programmører og kan hjælpe med at fremskynde udviklingsprocesser. Alligevel er den endnu ikke rigtig i stand til selvstændigt at designe og bygge en mere kompleks kodebase uden menneskelig kontrol. Programmører bør betragte AI som en assistent, der kan automatisere opgaver og generere ideer, men som stadig har brug for vejledning og korrektion for at opnå et godt resultat.
Kontakt os for at hjælpe med at opsætte udviklingsmiljøet for at hjælpe teams med at få mest muligt ud af udviklingsmiljøet og fokusere mere på kravspecifikation og design end på fejlfinding og kodning.