Kunstig intelligens (AI) har fundamentalt ændret den måde, vi programmerer på. AI-agenter kan generere kode, optimere den og endda hjælpe med debugging. Der er dog visse begrænsninger, som programmører skal være opmærksomme 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 i 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 bliver disse funktioner ikke altid anvendt konsekvent. Som følge heraf kan det ske, at AI'en mister overblikket over projektets sammenhæng og introducerer uønskede duplikater eller forkerte afhængigheder under programmeringen.
De fleste AI-kodningsplatforme arbejder med såkaldte værktøjer, som den store sprogmodel (LLM) kan kalde. Disse værktøjer er baseret på en åben standardprotokol (MCP). Det er derfor muligt at koble en AI-kodningsagent til en IDE som Visual Code. Eventuelt kan du opsætte en lokal LLM med llama eller ollama og vælge en MCP-server til integration. NetCare har lavet en MCP-server for at hjælpe med debugging og styring af det underliggende (linux) system. Praktisk, hvis du vil sætte koden live med det samme.
Modeller kan findes på huggingface.
For bedre at styre AI-genereret kode kan udviklere bruge IDE-udvidelser, der overvåger kodekorrekthed. Værktøjer som linters, type-checkere og avancerede kodeanalysevæ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.
En af de vigtigste årsager til, at AI-agenter bliver ved med at gentage fejl, ligger i måden, AI fortolker API'er på. AI-modeller har brug for kontekst og en klar rollebeskrivelse for at generere effektiv kode. Det betyder, at prompts skal være komplette: De skal ikke kun indeholde de funktionelle krav, men også eksplicit angive det forventede resultat og rammebetingelserne. For at gøre dette lettere kan du gemme prompts i et standardformat (MDC) og sende dem med som standard til AI'en. Det er især nyttigt for generiske programmeringsregler, du anvender, samt de funktionelle og tekniske krav og strukturen i dit projekt.
Produkter som FAISS og LangChain tilbyder løsninger til at lade AI håndtere kontekst bedre. 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 konteksten i et større projekt. Men også her kan du eventuelt selv opsætte det lokalt med RAG-databaser.
AI er et kraftfuldt værktøj for programmører og kan hjælpe med at accelerere udviklingsprocesser. Det er dog endnu ikke i stand til selvstændigt at designe og bygge en 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 kræver vejledning og rettelser for at opnå et godt resultat.
Kontakt kontakt op med at hjælpe med at opsætte udviklingsmiljøet for at hjælpe teams med at få mest muligt ud af udviklingsmiljøet og bruge mere tid på kravspecifikation og design frem for debugging og kodning.