Coderen met een AI

Programmering med en AI-agent

Kunstig intelligens (AI) har fundamentalt ændret den måde, vi programmerer på. AI-agenter kan generere, optimere og endda hjælpe med debugging af kode. 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 duplikation

AI-agenter har svært ved den korrekte rækkefølge i kode. De kan for eksempel placere initialiseringer i slutningen af en fil, hvilket forårsager runtime-fejl. Desuden 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 kodeplatform med hukommelse og projektstruktur hjælper

En løsning på dette er at bruge AI-kodeplatforme, som kan håndtere hukommelse og projektstrukturer. Det hjælper med at bevare konsistens i komplekse projekter. Desværre anvendes disse funktioner ikke altid konsekvent. Derfor kan det ske, at AI mister sammenhængen i et projekt og introducerer uønskede duplikationer eller forkerte afhængigheder under programmeringen.

De fleste AI-coding platforme arbejder med såkaldte værktøjer, som kan kalde large language-modellen. Disse værktøjer er baseret på en åben standardprotokol (MCP). Det er derfor muligt at tilkoble en AI-coding agent til en IDE som Visual Studio Code. Eventuelt kan du også opsætte en LLM lokalt med llama eller ollama og vælge en MCP-server til integration. NetCare har en MCP-server udviklet til at hjælpe med debugging og administrere det underliggende (Linux) system. Praktisk, hvis du vil sætte koden live med det samme.
Modeller kan findes på huggingface.

IDE-udvidelser er uundværlige

For at håndtere AI-genereret kode bedre kan udviklere bruge IDE-udvidelser, der overvåger kodekvalitet. Værktøjer som linters, type checkers og avancerede kodeanalysetools hjælper med at opdage og rette fejl tidligt. De udgør et væsentligt supplement til AI-genereret kode for at sikre kvalitet og stabilitet.

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

En af hovedårsagerne til, at AI-agenter gentagne gange laver fejl, ligger i den måde, AI-API’er fortolkes på. AI-modeller har brug for kontekst og en klar rollebeskrivelse for at generere effektiv kode. Det betyder, at prompts skal være fuldstændige: de skal ikke kun indeholde de funktionelle krav, men også eksplicit angive det forventede resultat og randbetingelserne. For at lette dette kan du gemme prompts i et standardformat (MDC) og altid sende dem med til AI’en. Det er især nyttigt for generelle programmeringsregler, de funktionelle og tekniske krav samt strukturen i dit projekt.

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

Produkter som FAISS og LangChain tilbyder løsninger til bedre kontekststyring for AI. FAISS hjælper for eksempel med effektiv søgning og hentning af relevante kodefragmenter, mens LangChain hjælper med at strukturere AI-genereret kode og bevare kontekst i større projekter. Men også her kan du eventuelt opsætte det lokalt med RAC-databaser.

Konklusion: nyttig, men endnu ikke selvstændig

AI er et kraftfuldt værktøj for programmører og kan hjælpe med at fremskynde udviklingsprocesser. Alligevel er det endnu ikke 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 idéer, men som stadig har brug for vejledning og korrektion for at opnå et godt resultat.

Kontakt kontakt for at hjælpe med at opsætte udviklingsmiljøet, så teams kan få mest muligt ud af det og beskæftige sig mere med kravspecifikation og design end med fejlsøgning og kodning.

 

Gerard

Gerard er aktiv som AI-konsulent og leder. Med stor erfaring fra større organisationer kan han sætte sig ind i et problem og hurtigt arbejde hen imod en løsning. Kombineret med en økonomisk baggrund sikrer han forretningsmæssigt ansvarlige valg.