Kodning med en AI

Programmering med en AI-agent

Kunstig intelligens (AI) har fundamentalt ændret den måde, vi programmerer på. AI-agenter kan generere og optimere kode og endda hjælpe med fejlfinding. Der er dog nogle begrænsninger, som programmører bør være opmærksomme på, når de arbejder med AI.

Problemer med rækkefølge og duplikering

AI-agenter har svært ved at placere koden i den rigtige rækkefølge. De kan for eksempel placere initialiseringer i slutningen af en fil, hvilket medfører runtime-fejl. Derudover kan AI uden tøven definere flere versioner af den samme klasse eller funktion i et projekt, hvilket fører til konflikter og forvirring.

En kodeplatform med hukommelse og projektstruktur hjælper

En løsning på dette er at bruge AI-kodeplatforme, der kan håndtere hukommelse og projektstrukturer. Det hjælper med at bevare konsistensen i komplekse projekter. Desværre anvendes disse funktioner ikke altid konsekvent. Derfor kan AI'en miste overblikket over et projekts sammenhæng og introducere uønskede duplikeringer eller forkerte afhængigheder under programmeringen.

De fleste AI-kodeplatforme fungerer 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 også muligt at koble en AI-kodeagent til en IDE som Visual Code. Du kan eventuelt opsætte en LLM lokalt med Llama eller Ollama og vælge en MCP-server, som den kan integreres med. Fortis AI har udviklet en MCP-server for at hjælpe med fejlfinding og håndtering af det underliggende (Linux-)system. Det er praktisk, hvis du vil sætte koden direkte live.
Modeller kan findes på Hugging Face.

IDE-udvidelser er uundværlige

For at få bedre styr på AI-genereret kode kan udviklere benytte IDE-udvidelser, der kontrollerer kodens korrekthed. Værktøjer som linters, typekontroller og avancerede værktøjer til kodeanalyse hjælper med at opdage og rette fejl på et tidligt tidspunkt. De udgør et vigtigt supplement til AI-genereret kode for at sikre kvalitet og stabilitet.

Årsagen til gentagne fejl: kontekst og rolle i API'er

En af de vigtigste årsager til, at AI-agenter bliver ved med at gentage fejl, ligger i den måde, AI fortolker API'er på. AI-modeller har brug for kontekst og en tydelig rollebeskrivelse for at kunne generere effektiv kode. Det betyder, at prompts skal være komplette: De skal ikke kun indeholde de funktionelle krav, men også tydeligt beskrive det forventede resultat og rammebetingelserne. For at gøre dette lettere kan du gemme prompts i et standardformat (MDC) og automatisk sende dem med til AI'en. Det er især praktisk for generelle programmeringsregler, du anvender, samt de funktionelle og tekniske krav og strukturen i dit projekt.

Værktøjer som FAISS og LangChain hjælper

Produkter som FAISS og LangChain tilbyder løsninger, der hjælper AI med bedre at håndtere kontekst. FAISS hjælper for eksempel med effektivt at søge efter og hente relevante kodestykker, mens LangChain hjælper med at strukturere AI-genereret kode og bevare konteksten i et større projekt. Også her kan du eventuelt opsætte det lokalt ved hjælp af RAC-databaser.

Konklusion: nyttigt, men endnu ikke selvstændigt

AI er et stærkt værktøj for programmører og kan hjælpe med at fremskynde udviklingsprocesser. Den er dog endnu ikke rigtig i stand til selvstændigt at designe og opbygge en mere kompleks kodebase uden menneskelig kontrol. Programmører bør betragte AI som en assistent, der kan automatisere opgaver og generere idéer, men som stadig har brug for vejledning og korrektion for at nå frem til et godt resultat.

Inddrag kontakt Inddrag for at hjælpe med at opsætte udviklingsmiljøet, så teams kan få mest muligt ud af det og bruge mere tid på kravspecificering og design end på fejlfinding og kodning.

 

Gerard

Gerard arbejder som AI-konsulent og leder. Med stor erfaring fra større organisationer kan han hurtigt afdække et problem og arbejde sig frem mod en løsning. Kombineret med en økonomisk baggrund sikrer det forretningsmæssigt ansvarlige valg.