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 samt endda hjælpe med fejlretning (debugging). Alligevel er der visse begrænsninger, som programmerere skal huske på, når de arbejder med AI.

Problemer med rækkefølge og duplikering

AI-agenter har svært ved at styre den rette rækkefølge på koden. De kan for eksempel placere initialiseringer i slutningen af en fil, hvilket forårsager kørselsfejl (runtime errors). 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-kodningsplatforme, der kan administrere hukommelse og projektstrukturer. Dette hjælper med at opretholde konsistens i komplekse projekter. Desværre anvendes disse funktioner ikke altid konsekvent. Det kan medføre, at AI'en mister et projekts sammenhæng og introducerer uønskede duplikater eller ukorrekte afhængigheder under programmeringen.

De fleste AI-kodningsplatforme arbejder med såkaldte værktøjer, som det store sprogmodel (LLM) kan kalde. Disse værktøjer er baseret på en åben standardprotokol (MCP). Det er derfor muligt at knytte en AI-kodningsagent til et IDE som Visual Studio Code. Eventuelt kan du opsætte en LLM lokalt med Llama eller Ollama og vælge en MCP-server at integrere med. NetCare har oprettet en MCP-server for at hjælpe med fejlretning og administration af det underliggende (Linux) system. Praktisk, hvis du vil sætte koden live med det samme.
Modeller kan findes på Hugging Face.

IDE-udvidelser er uundværlige

For bedre at styre AI-genereret kode kan udviklere bruge IDE-udvidelser, der overvåger kodens korrekthet. Værktøjer som linters, type checkers og avancerede kodeanalayseværktøjer hjælper med at opdage og rette fejl tidligt. De udgør et essentielt 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, hvorpå AI fortolker API'er. AI-modeller har brug for kontekst og en klar rollebeskrivelse for at kunne generere effektiv kode. Det betyder, at prompts skal være fuldstændige: de skal ikke blot indeholde de funktionelle krav, men også gøre det forventede resultat og betingelserne eksplicitte. For at gøre dette nemmere kan du gemme promps i et standardformat (MDC) og sende dem med til AI'en som standard. Det er især nyttigt for generte programmeringsregler, du anvender, samt projektets funktionelle og tekniske krav og struktur.

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

Produkter som FAISS og LangChain tilbyder løsninger, der lader AI håndtere kontekst bedre. For eksempel hjælper FAISS med effektiv søgning og hentning af relevante kodefragmenter, mens LangChain hjælper med at strukturere AI-genereret kode og bevare konteksten i et større projekt. Men også her kan du eventuelt selv opsætte det lokalt med RAG-databaser.

Konklusion: nyttig, men endnu ikke selvkørende

AI er et kraftfuldt værktøj for programmerere og kan hjælpe med at accelerere udviklingsprocesser. Alligevel er den endnu ikke rigtig i stand til selvstændigt at designe og bygge en mere kompleks codebase uden menneskelig kontrol. Programmerere 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 nå frem til et godt resultat.

Kontakt kontakt til for at hjælpe med at opsætte udviklingsmiljøet, hjælpe teams med at få mest muligt ud af udviklingsmiljøet og bruge mere tid på requirements engineering og design frem for debugging og kodeskrivning.

 

Gerard

Gerard er aktiv som AI-konsulent og manager. Med bred erfaring fra store organisationer kan han lynhurtigt analysere et problem og arbejde mod en løsning. Kombineret med en økonomisk baggrund sikrer han forretningsmæssigt forsvarlige valg.